diff --git a/CHANGES b/CHANGES
index 67723034..8ace7c38 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,91 @@
+v2.4.0 (21 Apr 2022)
+-------------------------------------------------------------------------------
+
+MAJOR NEW FEATURES
+- YouTube Stream Converter has been deprecated, so Tartube no longer supports
+ it. Instead, Tartube now offers livestream downloads using streamlink
+ (https://streamlink.github.io/) or with the video's .m3u manifest
+- Livestream detection now works on Odysee and Twitch, as well as on YouTube.
+ Detection should work on other websites, if you set the RSS feed for the
+ channel and playlist manually (see the README for details)
+- In the toolbar at the bottom of the Videos tab, you can now filter out
+ downloaded videos, or undownloaded videos. These settings are ignored when
+ a text search/filter is applied; in that situation, the buttons are now
+ greyed out for clarity (Git #402)
+
+MINOR NEW FEATURES
+- When videos are being checked/downloaded, you can now see the amount of free
+ disk space in the bottom-left corner of the Videos tab
+- Added the youtube-dl download options '--no-overwrites', settable from the
+ edit window (Git #398)
+- Videos with enormous names, but without any space characters, created a
+ tooltip that was longer than the Tartube window itself. Updated line-
+ wrapping code generally, so that it will wrap on underline (underscore)
+ characters, as well as on whitespace
+- Column headers in the Errors/Warnings tab are now resizeable (Git #403)
+- There is now a setting to remove a video from Tartube's database after a
+ certain number of days, complementing the existing setting to delete the
+ video entirely from the user's filesystem. See Edit > System preferences...
+ > Files > Videos. The minimum value is now 0, so users can remove a
+ downloaded video from the database as soon as it has been downloaded, if
+ they want to (Git #404)
+- In the download options window, Files > File names tab, the 'autonumber'
+ component has been replaced with 'video_autonumber' and
+ 'playlist_autonumber' components, on the advice of the yt-dlp developers
+ (Git #406)
+
+MAJOR FIXES
+- JSON timeouts were causing havoc when checking a video with lots of comments.
+ Tartube now provides two timeout settings: one for checking videos with
+ comments, and one for checking videos without comments. To set them, click
+ Edit > System preferences... > Operations > Downloads. Also fixed an
+ error that failed to store comments in the database, under certain
+ circumstances. Also added a new setting, so that comments can be stored in
+ the database when checking videos, or when downloading videos (see Edit >
+ System preferences... > Operations > Comments) (Git #398)
+- Fixed problems with the Drag and Drop tab, causing python errors on startup
+ (Git #399)
+- On running out of disk space, load/save was disabled, so the user could not
+ free up space before saving the Tartube database. This no longer happens,
+ but after such an error, no scheduled downloads are started (this is
+ confirmed by a message in the Errors/Warnings tab). Updated the text in the
+ preferences window for clarity, and to show free space in GB rather than MB
+ (Git #400)
+- Fixed failure to extract a video's URL and duration on certain channels, on
+ MS Windows (Git #373)
+- Fix inability to load database from an (unspecified) earlier version of
+ Tartube. The error can also be fixed in the existing database integrity
+ check (Git #405)
+
+MINOR FIXES
+- On MS Windows, the download option '--windows-filenames' is automatically
+ added, but in the edit window, the same option is not selected. Fixed, so
+ that the option is no longer automatically added, but added only when
+ selected (Git #373)
+- The download option '--trim-filenames' uses a file length that refers to the
+ absolute path, including the directory. Tartube will now ignore the setting
+ if the length is less than the absolute path of the directory itself, to
+ prevents files being downloaded into the wrong place. Added a warning about
+ the option's unexpected behaviour in the window
+- The installer for MS Windows now starts Tartube with an environment variable,
+ that prevents Gtk from hiding scrollbars (Git #401)
+- In the toolbar at the bottom of the Videos tab, the buttons to toggle
+ drawing frames and icons were set the wrong way around. Fixed
+- The YouTube 'This live event will begin in 11 minutes' was not recognised as
+ a livestream notification (in some circumstances). Fixed
+- On startup, in the Classic Mode tab, the 'Convert to this format' and
+ 'Download in this format' buttons were not set or (de)sensitised correctly.
+ Fixed
+- In the download options window, Files > File names tab, the various 'Add'
+ buttons added components to the end of the file extension, rather than the
+ end of the filename. Fixed
+- Videos/channels/playlists/folders can no longer be deleted from the popup
+ menus, when preferences or edit windows are open. This should prevent
+ windows belonging to deleted items being visible
+- Fixed display problems when moving a channel/playlist/folder to the top
+ level, or dragging one onto another
+- All keyboard shortcuts have been checked and updated
+
v2.3.549 (9 Apr 2022)
-------------------------------------------------------------------------------
diff --git a/README.rst b/README.rst
index 5fce161d..f8d25f33 100644
--- a/README.rst
+++ b/README.rst
@@ -1,11 +1,11 @@
===================================================
Tartube - The Easy Way To Watch And Download Videos
===================================================
-----------------------------------------------------------
-Works with YouTube, Odysee, and hundreds of other websites
-----------------------------------------------------------
+---------------------------------------------------------------
+Works with YouTube, Twitch, Odysee, and hundreds of other sites
+---------------------------------------------------------------
-.. image:: screenshots/tartube.png
+.. image:: screenshots/screenshot.png
:alt: Tartube screenshot
* `1 Introduction`_
@@ -31,48 +31,55 @@ Problems can be reported at `our GitHub page `__, `Odysee `__, and hundreds of other websites (see `here `__ for a full list)
+- You can fetch a list of videos from your favourite channels on `YouTube `__, `Twitch `__, `Odysee `__ and hundreds of other sites (see `here `__ or `here `__ for a full list)
- If buffering is an issue, you can download a temporary copy of a video before automatically opening it in your favourite media player
- **Tartube** will organise your videos into convenient folders (if that's what you want)
-- **Tartube** can alert you when livestreams and debut videos are starting (**YouTube** only)
-- If creators upload their videos to more than one website (**YouTube** and **Odysee**, for example), **Tartube** can interact with both sites without creating duplicates
-- Certain websites operate an "only one opinion allowed" policy. If you think that the censors will remove a video, against the wishes of its creators and before you've had a chance to watch it, **Tartube** can make an archive copy
-- Certain websites frequently place restrictions on a video, not because it is unsuitable for some audiences, but for purely political reasons. Tartube can, in some circumstances, see videos that are region-blocked and/or age-restricted
-- Certain websites manipulate search results, repeatedly unsubscribe people from their favourite channels and/or deliberately conceal videos that they don't like. **Tartube** won't do any of those things
+- **Tartube** can alert you when livestreams and debut videos are starting (works on **YouTube**, **Twitch** and **Odysee** by default)
+- If creators upload their videos to more than one website (**YouTube** and **BitChute**, for example), **Tartube** can interact with both sites without creating duplicates
+- Certain sites operate an "only one opinion allowed" policy. If you think that the censors will remove a video, against the wishes of its creators and before you've had a chance to watch it, **Tartube** can make an archive copy
+- Certain sites frequently place restrictions on a video, not because it is unsuitable for some audiences, but for purely political reasons. Tartube can, in some circumstances, see videos that are region-blocked and/or age-restricted
+- Certain sites manipulate search results, repeatedly unsubscribe people from their favourite channels and/or deliberately conceal videos that they don't like. **Tartube** won't do any of those things
- If you want to listen to your favourite discussion videos, for example while driving a car, **Tartube** can make an archive copy of just the audio, rather than the full video
- **Tartube** is free and open-source software
-2.1 What's new in version 2.3.0
+2.1 What's new in version 2.4.0
-------------------------------
-- When you first start Tartube, you will see a new, friendly setup window, allowing you to choose basic settings, and (for most users) to download some dependencies (see `6.1 Setting up Tartube`_)
-- Videos can now be displayed in a grid. This is the default mode for new installations. Existing users can click the **Switch** button near the top of the main window until they see the layout they prefer
-- Livestream detection has been improved. You can now see the approximate start time of a livestream. Pre-recorded videos, which are released at a pre-determined time as if they were livestreams, are now shown in a different colour
-- You can now create as many scheduled downloads as you like (earlier versions resticted you to just three; see `6.12 Scheduled downloads`_)
-- **Tartube** includes a new GUI for processing videos and thumbnails with FFmpeg, replacing the simple dialogue window in the previous release (see `6.25.2 Using FFmpeg directly`_)
-- You can now create as many sets of download options as you like, and as many sets of FFmpeg options as you like. They can now imported and exported between databases (see `6.11.3 Managing download options`_)
-- The new **Hide** button at the top of the main window is a convenient way to hide system folders you don't need
-- **Tartube** now supports `Youtube Stream Capture `__, which can be used to download a livestream while it is broadcasting. This feature is **experimental**. It only works on **YouTube**. It doesn't work on MS Windows. It can't download continuous 24/7 livestreams. It might not be able to download some other livestreams. The feature is disabled by default. If you want to try it, see see `6.23.4 Downloading livestreams`_
+- Videos can be downloaded as a set of video clips, and you can split an existing video into clips (requires **FFmpeg**, see `6.26 Video clips`_). **Tartube** will read timestamps from a video's description, or you can specify your own timestamps
+- Added support for `SponsorBlock `__. Videos can be downloaded with slices removed, or you can remove slices from an existing video (requires **FFmpeg**, see `6.27 Video slices`_)
+- **Tartube** can extract video comments, and optionally store them in its database (requires **yt-dlp**, see `6.29 Video comments`_)
+- **Tartube** now supports livestream downloads using `streamlink `__ or with the video's .m3u manifest (see `6.23.4 Downloading livestreams`_). Support for the deprecated `Youtube Stream Capture `__ has been removed
+- Livestream detection now works on **Twitch** and **Odysee**, as well as on **YouTube**. Detection may work on other sites, after you have set the RSS feed (see `6.23.5 Compatible websites`_)
+- The new **Recent videos** folder shows videos added to the database during the last check or download. Its modified can be customised, if you want, to show videos from today or the last few days
+- Channels, playlists and folders can now be selected. The buttons in the bottom-left corner of the **Videos** tab will check or download just the selected items
+- During a download, the **Videos** tab is now updated in real time, resolving an ancient problem with the Gtk library
+- The toolbar at the bottom of the **Videos** tab has been overhauled. You can now search comments and video descriptions, as well as hide (un)downloaded videos
+- The layout of the **Classic Mode** tab has been overhauled. You can now specify a resolution, as well as a video format
+- The new **Drag and Drop** tab is a quick way to download videos in **.mp3** format. Every zone corresponds to a set of download options (see `6.11 Download options`_), so you can customise the tab in any way you like. Drag and Drop does not work well on MS Windows (this is not a **Tartube** issue)
+- The **Errors/Warnings** tab is now fully searchable. Settings for that tab are now applied immediately, and are reversible
+- Custom downloads have been overhauled. You can now create as many custom downloads as you like, using as many of the new settings as you like (see `6.13 Custom downloads`_)
+- Channels and playlists in your database can now download videos to any location on your filesystem (see `6.17.5 Download all videos to an external folder`_)
+- **Tartube** can now display statistics about the channels and playlists in your database, and the database as a whole (requires **matplotlib**; MS Windows users can install it from the main menu)
For a full list of new features and fixes, see `recent changes `__.
3 Downloads
===========
-Stable release: **v2.3.549 (9 Apr 2022)**
+Stable release: **v2.4.0 (21 Apr 2022)**
-Development release: **v2.3.613 (20 Apr 2022)**
+Development release: **v2.4.0 (21 Apr 2022)**
Official packages (also available from the `Github release page `__):
-- `MS Windows (64-bit) installer `__ and `portable edition `__ from Sourceforge
+- `MS Windows (64-bit) installer `__ and `portable edition `__ from Sourceforge
- Tartube is no longer supported on MS Windows (32-bit) - see `7.23 Doesn't work on 32-bit Windows`_
-- `DEB package (for Debian-based distros, e.g. Ubuntu, Linux Mint) `__ from Sourceforge
-- `RPM package (for RHEL-based distros, e.g. Fedora) `__ from Sourceforge
+- `DEB package (for Debian-based distros, e.g. Ubuntu, Linux Mint) `__ from Sourceforge
+- `RPM package (for RHEL-based distros, e.g. Fedora) `__ from Sourceforge
Official 'Strict' packages:
-Alternative DEB/RPM packages are marked STRICT. In these packages, updates to **youtube-dl** from within **Tartube** have been disabled. If **Tartube** is uploaded to a repository with lots of rules, such as the official Debian repository, then you should probably use the STRICT packages.
+Alternative DEB/RPM packages are marked STRICT. In these packages, updates to **youtube-dl** from within **Tartube** have been disabled. If **Tartube** is to be uploaded to a repository with lots of rules, such as the official Debian repository, then you should probably use the STRICT packages.
Semi-official packages (MS Windows):
@@ -96,13 +103,13 @@ Source code:
- Start **Tartube**. A setup window should appear
- When prompted, choose a folder in which **Tartube** can store videos
- When prompted, choose a downloader
-- On some systems, you will be prompted to install the downloader and/or `FFmpeg `__. On other operating systems, you will have to install them yourself
+- On some systems, you will be prompted to install the downloader and/or `FFmpeg `__. On other systems, you will have to install them yourself
-Tartube can store its videos in a database. If that's what you want, do this:
+Tartube can store its videos in a database. If that's what you want, then do this:
- Go to a `video website `__, and find your favourite channel
- In **Tartube**'s main window, click the **Add a new channel** button (or from the menu, click **Media > Add channel...** )
-- In the dialogue window, add the name of the channel and the URL (link) for it
+- In the dialogue window, add the name of the channel and its URL (link)
- Click the **OK** button to close the window
- Click the **Check all** button. **Tartube** will fetch a list of videos in the channel
- Click **All Videos** to see that list
@@ -112,7 +119,7 @@ If you just want to download videos with a minimum of fuss, do this:
- Go to a `video website `__, and find your favourite channel
- In **Tartube**'s main window, click the **Classic Mode** tab
-- Copy the link to the channel (URL) into the box at the top of tab
+- Copy the URL (link) to the channel into the box at the top of tab
- Just below that, click the button to select a download destination and a video/audio format
- Click the **Add URLs** button
- When you're ready, click the **Download all** button
@@ -177,11 +184,11 @@ If you want to perform a manual installation, you can follow this procedure, whi
5.2 Installation - MacOS
------------------------
-**Several users have reported problems installing Tartube on MacOS. The authors do not use MacOS and don't know how to fix these problems. Apologies in advance.**
+*Several users have reported problems installing Tartube on MacOS. The authors do not use MacOS and don't know how to fix these problems. Apologies in advance.*
MacOS users should use the following procedure (with thanks to JeremyShih):
-- Install `Python 3 `__ by downloading an installer, or with homebrew:
+- Install `Python 3 `__ by downloading an installer, or with homebrew
**brew install pkg-config**
@@ -246,7 +253,7 @@ It is strongly recommended that you install `FFmpeg `__, to
Linux distributions based on RHEL, such as Fedora, can install **Tartube** using the RPM package (see the links above).
-**Tartube** requires either `youtube-dl `__ or `yt-dlp `__. If it's already installed on your system, then you can start **Tartube** immediately. Otherwise, do this:
+**Tartube** requires either `youtube-dl `__ or `yt-dlp `__. If it's already installed on your system, then you can start **Tartube** immediately.
Otherwise, if **pip** is already installed on your system, do this:
@@ -307,7 +314,7 @@ Here is the procedure for Debian-based distributions, like Ubuntu and Linux Mint
1. Make sure **youtube-dl** has been completely removed from your system
2. Type: ``sudo apt install python3-pip``
-3. Type: ``sudo pip3 install youtube-dl tartube`` or ``sudo pip3 install yt-dlp tartube``
+3. Type: ``sudo pip3 install youtube-dl tartube``, or type ``sudo pip3 install yt-dlp tartube``
4. Type: ``tartube``
5.3.7 Install using PyPI (without root privileges)
@@ -350,7 +357,7 @@ These dependencies are optional, but recommended:
After installing dependencies (see above):
-1. Download & extract the source code (see the links above)
+1. Download and extract the source code (see the links above)
2. Change directory into the **Tartube** directory
3. Type: ``python3 setup.py install``
4. Type: ``tartube``
@@ -360,7 +367,7 @@ After installing dependencies (see above):
After installing dependencies (see above):
-1. Download & extract the source code (see the links above)
+1. Download and extract the source code (see the links above)
2. Change directory into the **Tartube** directory
3. Type: ``python3 tartube/tartube``
@@ -373,7 +380,7 @@ Tartube packages are usually created using one of the available environment vari
- **TARTUBE_PKG_STRICT** for a package which should not download or update **youtube-dl** or **FFmpeg**; the user is required to install those packages separately
- **TARTUBE_PKG_NO_DOWNLOAD** for a package which should not download any videos (and also will not download/update **youtube-dl** or **FFmpeg**)
-Some packaging systems might forbid installing other packages. If that's the case, you can disable that functionality.
+Some packaging systems might forbid installing other packages. If that's the case, you can use **TARTUBE_PKG_STRICT** or **TARTUBE_PKG_NO_DOWNLOAD**.
Anyone with concerns over the legality of downloading videos can disable that feature altogether. Tartube will still be able to check videos, channels and playlists, as well as monitor livestreams. Users can watch a video on its original website with a single click. The authors understand that the US courts have ruled that 'scraping' a website is legal. Popular sites like **YouTube** provide RSS feeds for this very purpose.
@@ -384,8 +391,8 @@ Packages can be created in the standard way. For example, an RPM package would b
5.4.1 Packaging Tartube on MS Windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The procedure used to create the MS Windows installers is described in full in the
-`installer scripts themselves `__.
+The procedure used to create the MS Windows installer is described in full in the
+`installer script itself `__.
6 Using Tartube
===============
@@ -468,7 +475,7 @@ The procedure used to create the MS Windows installers is described in full in t
* `6.27.4 Removing video slices`_
* `6.27.5 Video slice shortcuts`_
* `6.28 Using youtube-dl forks`_
-* `6.29 Video Comments`_
+* `6.29 Video comments`_
6.1 Setting up Tartube
----------------------
@@ -503,7 +510,7 @@ Websites changes their code frequently, and therefore the downloaders must be up
If the update operation fails on MS Windows, you should `ask the authors for help `__.
-On other systems, users can modify **Tartube**'s settings. There are several locations on your filesystem where **youtube-dl** might have been installed.
+On other systems, users can customise the downloader's location. There are several locations on your filesystem where **youtube-dl** might have been installed.
.. image:: screenshots/example3.png
:alt: Updating youtube-dl
@@ -522,8 +529,9 @@ On other systems, users can modify **Tartube**'s settings. There are several loc
- Display thumbnails from **YouTube**
- Download high-resolution videos from any website
-- Download certain other video formats
+- Download some video formats
- Convert video files to audio
+- Split or slice videos
**youtube-dl** uses FFmpeg by default, but it can use AVConv for certain tasks.
@@ -539,7 +547,7 @@ There is no known method of installing a compatible version of AVConv.
6.4.2 On Linux/BSD/MacOS
~~~~~~~~~~~~~~~~~~~~~~~~
-On all other operating systems, **Tartube** and **youtube-dl** should be able to use **FFmpeg** (and **AVConv**, if it is also installed) without any help from you.
+On all other operating systems, **Tartube** and **youtube-dl** should be able to find **FFmpeg** (and **AVConv**, if it is also installed) without any help from you.
If the **FFmpeg** / **AVConv** executables have been installed to an unusual location, you can tell **Tartube** where to find them.
@@ -565,7 +573,7 @@ When you start **Tartube** for the first time, there are several folders already
- The **All Videos** folder shows every video in **Tartube**'s database, whether it has been downloaded or not
- The **Bookmarks** folder shows videos you've bookmarked, because they're interesting or important (see `6.16.1 Bookmarked videos`_ )
-- The **Favourite Videos** folder shows videos in a channel, playlist or folder that you've marked as favourite videos (see `6.16.2 Favourite channels, playlists and folders`_ )
+- The **Favourite Videos** folder shows videos in a channel, playlist or folder that you've marked as a favourite (see `6.16.2 Favourite channels, playlists and folders`_ )
- The **Livestreams** folder shows livestreams. Videos are automatically removed from this folder (but not from other folders) when the livestream is finished
- The **Missing videos** folder (see `6.24 Detecting missing videos`_ ) shows videos that you've downloaded, but which have since been removed from the website by their creator
- The **New Videos** folder shows videos that have been downloaded, but not yet watched
@@ -580,14 +588,16 @@ When you start **Tartube** for the first time, there are several folders already
*If you want a simpler way to download videos, see* `6.22 Classic Mode`_.
-You can add individual videos by clicking the **Add new video(s)** button near the top of the window. A dialogue window will appear.
+You can add individual videos by clicking the **Add new video(s)** button near the top of the window. (On MS Windows, the text is not visible unless your mouse is hovering over the button, which is in the top-left corner.)
+
+A dialogue window will appear.
.. image:: screenshots/example6.png
:alt: Adding videos
Copy and paste the video's URL into the dialogue window. You can copy and paste as many URLs as you like.
-When you're finished, click the **OK** button.
+When you're ready, click the **OK** button.
Finally, click on the **Unsorted Videos** folder to see the videos you've added.
@@ -604,7 +614,7 @@ You can also add a whole channel by clicking the **Add a new channel** button or
.. image:: screenshots/example8.png
:alt: Adding a channel
-Copy and paste the channel's URL into the dialogue window. You should also give the channel a name. The channel's name is usually the name used on the website (but you can choose any name you like).
+Copy and paste the channel's URL into the dialogue window. You should also give the channel a name. The channel's name is usually the name used on the website (but you can choose almost any name you like).
6.8 Adding videos, channels and playlists together
--------------------------------------------------
@@ -629,7 +639,7 @@ If your list of URLs contains a mixture of channels and playlists, you can conve
6.8.1 Bulk-adding channels and playlists
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-However, if you're confident that your long list of URLs contains only channels and playlists, there are a couple of other ways to add them.
+If you're confident that your long list of URLs contains only channels and playlists, there are a couple of other ways to add them.
Firstly, you can click **Media > Add many channels/playlists...**.
@@ -649,26 +659,24 @@ Secondly, you could import a text file contaiing a list of channels/playlists. Y
... where **** is the web address of the channel/playlist. (Leave out the diamond brackets.)
-When you're ready, click **Media > Export/import > Import into database > Plain text export file...**
+When you're ready, click **Media > Export/import > Import into database...**
6.8.2 Replacing generic channel/playlist names
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are several situations in which **Tartube** might create a channel with a generic name like **channel_1**, or a playlist with a generic name like **playlist_2**.
-* Click **Add video**, and enter a URL which is actually a channel or a playlist
+* Click the **Add video video(s)** button, and enter a URL which is actually a channel or a playlist
* Add several channels/playlists together by clicking **Media > Add many channels/playlists...**
In this situation, you can either rename all the new channels and playlists yourself, one at a time, or you can let **Tartube** try to do it automatically. (This works fine on **YouTube** and many other sites, but not necessarily on all of them.)
* For each channel/playlist you want to rename, download or check at least one video
-* Tartube will extract the channel/playlist name from each videos' metadata
+* Tartube will extract the channel/playlist name from each video's metadata
* In the main menu, click **Media > Reset channel/playlist names...**
* Select everything you want to rename
* When you're ready, click the **OK** button to perform the renaming
-Don't forget, you can limit the number of videos checked downloaded in **Edit > System preferences... > Operations > Stop**. This should make the first step much quicker.
-
6.8.3 Replacing channel/playlist URLs in bulk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -677,7 +685,7 @@ If you need to update the URLs of many channels and playlists, you can do so by
6.9 Adding folders
------------------
-The left-hand side of the window will quickly still filling up. It's a good idea to create some folders, and to store your channels/playlists inside those folders.
+The left-hand side of the window will quickly still filling up. It's a good idea to create some folders, and to organise your channels/playlists inside those folders.
Click the **Add a new folder** button near the top of the window, and create a folder called **Comedy**.
@@ -702,8 +710,8 @@ Checking/download videos:
- **Check** - Fetches information about videos, but doesn't download them
- **Download** - Actually downloads the videos. If you have disabled downloads for a particular item, **Tartube** will just fetch information about it instead
- **Custom download** - Downloads videos in a non-standard way; see `6.13 Custom downloads`_
-- To **Check** or **Download** videos, channels and playlists, use the main menu, or the buttons near the top of the window, or the buttons in the bottom-left corner, or right-click an individual video, channel or playlist
-- A **Custom Download** can be started from the main menu (**Operations > Custom download all** or by right-clicking a video, channel, playlist or folder
+- To **Check** or **Download** videos, channels and playlists, use the main menu, or the buttons near the top of the window, or the buttons in the bottom-left corner, or right-click an individual video, channel, playlist or folder
+- A **Custom Download** can be started from the main menu (**Operations > Custom download all**) or by right-clicking a video, channel, playlist or folder
Refreshing the database:
@@ -713,7 +721,7 @@ Refreshing the database:
Updating packages:
-- **Update** - Installs or updates **youtube-dl**, as described in `6.2 Updating the downloader`_. On MS Windows, also installs **FFmpeg** (see `6.4 Installing FFmpeg / AVConv`_) and **matplotlib** (see `7.30 Graphs not visible`_)
+- **Update** - Installs or updates **youtube-dl**, as described in `6.2 Updating the downloader`_. On MS Windows, also installs **FFmpeg** (see `6.4 Installing FFmpeg / AVConv`_), **matplotlib** (see `7.30 Graphs not visible`_) and `streamlink `__ (see `6.23 Livestreams`_)
- *Protip*: Do an **'Update'** operation before you do a **'Check'** or **'Download'** operation
Fetching information:
@@ -724,7 +732,7 @@ Fetching information:
Tidying up the filesytem:
- **Tidy** - Tidies up **Tartube**'s data directory (folder), as well as checking that downloaded videos still exist and are not corrupted
-- To **Tidy** the data directory, use the main menu (**Operations > Tidy up files...** or right-click a channel/playlist/folder
+- To **Tidy** the data directory, use the main menu (**Operations > Tidy up files...**) or right-click a channel/playlist/folder
Dealing with livestreams:
@@ -734,7 +742,7 @@ Dealing with livestreams:
Processing videos with **FFmpeg**:
-- **Process** - Processes videos and thumbnails with FFmpeg - see `6.25 More information about FFmpeg and AVConv`_
+- **Process** - Processes videos and thumbnails with **FFmpeg** - see `6.25 More information about FFmpeg and AVConv`_
- To process video(s) and/or their thumbnails, right-click a video and select **Special > Process with FFmpeg...**
6.11 Download options
@@ -771,7 +779,7 @@ At the moment, the general download options apply to *all* the videos, channels,
Now, suppose you want to apply some download options to the **History** folder:
-- Right-click the folder, and select **Apply download options...**
+- Right-click the folder, and select **Downloads > Apply download options...**
In the new window, select **Create new download options**, and then click the **OK** button. A second window will appear, so you can click the **OK** button there, too.
@@ -780,12 +788,12 @@ The new options are applied to *everything* in the **History folder**. A pen ico
.. image:: screenshots/example15.png
:alt: Download options applied to the History folder
-Now, suppose you want to add a *different* set of download options, but only for the channel **The Armchair Historian**.
+Now, suppose you want to add a *different* set of download options, but only for the channel **TimeGhost History**.
-- Right-click the channel, and select **Apply download options...**
+- Right-click the channel, and select **Downloads > Apply download options...**
- In the new windows, click the **OK** button
-The previous set of download options still applies to everything in the **History** folder, *except* the channel **The Armchair Historian**.
+The previous set of download options still applies to everything in the **History** folder, *except* the channel **TimeGhost History**.
.. image:: screenshots/example16.png
:alt: Download options applied to The Armchair Historian channel
@@ -800,7 +808,7 @@ In fact, you can create as many sets of download options as you like.
.. image:: screenshots/example17.png
:alt: The list of download options
-The first item in the list, **general**, is the default set of download options. The second item, **classic**, are the download options that apply in the **Classic Mode** tab (see `6.22 Classic Mode`_).
+The first item in the list, **general**, is the default set of download options. The second item, **classic**, is the set of download options that apply in the **Classic Mode** tab (see `6.22 Classic Mode`_).
Download options are saved in the Tartube database, so if you switch databases (see `6.20.2 Multiple databases`_), a different selection of download options will apply. If you want to move a set of download options from one database to another, you can **Export** them, then switch databases, then **Import** them.
@@ -817,12 +825,12 @@ You can change the format of the filename for the downloaded video, so it includ
When you download a video, a thumbnail and a metadata file are usually downloaded too. This can be customised.
-- Click **Files > Write/move files** to select which files are downloaded
-- Click **Files > Keep files** to select which files are not deleted at the end of the download operation
+- Click **Files > Write/move** to select which files are downloaded
+- Click **Files > Keep** to select which files are not deleted at the end of the download operation
If you want to specify which video and audio formats should be downloaded, at which resolution and at which bitrate, do this:
-- Click **Files > Formats**
+- Click the **Formats** tab
- From the list on the left, select one of the video/audio formats
- Click the **Add format** button
@@ -843,7 +851,7 @@ Most videos cannot be downloaded in every media format. For example, **YouTube**
**youtube-dl** can download subtitles for a video, if they exist. The chat replay of **YouTube** livestreams can also be downloaded, and is handled as if it were another set of subtitles.
- Click **Subtitles > Options**
-- Select **Download all available subtitles**
+- Select **Download all available subtitle files**
If you want to download subtiles only in particular languages:
@@ -874,7 +882,7 @@ A new window appears. You can use this window to congifure the scheduled downloa
- In the **Download mode** box, select whether **Tartube** should check videos, download them, or perform a custom download (see `6.13 Custom downloads`_)
- In the **Start** tab, select whether this download should be performed once, or when **Tartube** starts, or at regular intervals, or at specified times
-When you specify times (like 'Mondays at 15:00'), there is a five-minute window in which the scheduled download can begin. This means that, if you open Tartube at 15:02, the scheduled download will still start (but not if you open Tartube at 15:10).
+When you specify a start time like 'Mondays at 15:00', there is a five-minute window in which the scheduled download can begin. This means that, if you open Tartube at 15:02, the scheduled download will still start (but not if you open Tartube at 15:10).
Now click the **Media** tab. By default, a scheduled download checks or downloads everything in **Tartube**'s database, but if you don't want that, you can select individual channels, playlists and folders.
@@ -889,7 +897,7 @@ You can create as many scheduled downloads as you like. Scheduled downloads are
6.13 Custom downloads
---------------------
-By default, **Tartube** downloads videos as quickly as possible, one link (URL) at a time. A link might point to an individual video, or it might point to a whole channel or playlist. **Tartube** will try to download every video associated with the link.
+By default, **Tartube** downloads videos as quickly as possible, one URL (link) at a time. A URL might point to an individual video, or it might point to a whole channel or playlist. **Tartube** will try to download every video associated with the URL.
A **Custom download** enables you to modify this behaviour, if desired. You can use it to fetch videos from a mirror, add random delays, download video clips, download (or ignore) only livestreams, ignore videos without subtitles, or to download videos with the adverts removed.
@@ -907,27 +915,27 @@ You can create as many different custom downloads as you like.
If you use custom downloads a lot, you can add some extra buttons to the **Videos** tab.
-- Click **Edit > System preferences... > Windows > Main window**
-- Click **Show a 'Custom download all' button in the Videos tab** to select it
+- Click **Edit > System preferences... > Windows > Videos**
+- Select the button **Show a 'Custom download all' button in the Videos tab**
-.. image:: screenshots/example21.png
+.. image:: screenshots/example20.png
:alt: The option custom download button
-The **Custom download all** button starts the custom download called **general**. The button next to it opens a list of custom downloads. Select one and the custom download will start.
+The **Custom download all** button starts the custom download called **general**. The button next to it opens a list of custom downloads. Select one, and that custom download will start.
6.13.2 Independent downloads
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
By default, **Tartube** instructs **youtube-dl** to download a channel or a playlist. **youtube-dl** only needs a link to the channel or playlist, so **Tartube** doesn't send it a link to every single video.
-If you need to download each individual video directly, for any reason, you can do this:
+If you need to download each individual video, one URL at a time, you can do this:
- Open the window for your preferred custom download. For example, click **Edit > System preferences... > Operations > Custom**, click **general** to select it, and click the **Edit** button
- In the new window, click **Download each video independently of its channel or playlist** to select it
-- Click **Check channels/playlists/folders before each custom download** to select it
+- If it is not already selected, click **Check channels/playlists/folders before each custom download**
- Click **OK** to close the window
-Many custom download settings only work when Tartube is downloading videos one at a time. If you enable this setting, you will be able to enable several other settings (including some in the other tabs).
+Many custom download settings only work when Tartube is downloading videos one at a time. If you enable this setting, you will be able to enable several other settings in the other tabs.
6.13.3 Diverting to HookTube / Invidious
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -940,7 +948,7 @@ If **Tartube** can't download a video from YouTube, it's sometimes possible to o
- Click **OK** to close the window
- You can now start the custom download
-There are a number of alternative YouTube front-ends available, besides `HookTube `__. The original `Invidious `__ closed in September 2020, but there are a number of mirrors, such as `this one `__. To get a list of mirrors, `see this page `__, or use your favourite search engine.
+There are a number of alternative YouTube front-ends available, besides `HookTube `__. The original `Invidious `__ closed in September 2020, but there are a number of mirrors, such as `this one `__. To get a list of mirrors, `see this page `__, or use your favourite search engine.
When specifying an alternative website, it's very important that you type the *exact text* that replaces **youtube.com** in a video's URL. For example, you must type **hooktube.com**, not **www.hooktube.com** or **http://www.hooktube.com/**.
@@ -957,14 +965,14 @@ If the video website is complaining that you're making too many requests (in oth
- Click **OK** to close the window
- You can now start the custom download
-The delay is applied after downloading a channel or a playlist. If you want to apply the delay after each video, you should enable independent downloads as well (as described above).
+The delay is applied after downloading a channel or a playlist. If you want to apply the delay after each video, you should enable individual video downloads as well (as described above).
6.13.5 Splitting and slicing videos
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
During a custom download, you can automatically split a video into video clips *while it is being downloaded*. A list of clips can be grabbed from the video's description, or from its chapter list, or you can specify your own list of clips. For more information, see see `6.26 Video clips`_
-You can also remove slices from a video *while it is being downloaded*. This is useful for removing adverts, intro and outros. A list of video slices is obtained from a `SponsorBlock server `__. Alternatively, you can specify your own list of video slices. For more information, see see `6.27 Video slices`_
+You can also remove slices from a video *while it is being downloaded*. This is useful for removing adverts, intros and outros. A list of video slices is obtained from a `SponsorBlock server `__. Alternatively, you can specify your own list of video slices. For more information, see see `6.27 Video slices`_
Both of these features require **FFmpeg**.
@@ -982,8 +990,8 @@ You can ask Tartube not to download videos without subtitles.
Note that this setting *reduces the number of videos downloaded*. It isn't responsible for downloading the subtitles themselves. Here is how to do that:
- In Tartube's main menu, click **Edit > General download options > Subtitles > Options**
-- Select **Download all available subtitles files**
-- Alternatively, select **Download subtitles files for these languages**, and then add one or more languages below
+- Select **Download all available subtitle files**
+- Alternatively, select **Download subtitle files for these languages**, and then add one or more languages below
- Click **OK** to close the window
- You can now start the custom download
@@ -996,7 +1004,7 @@ Besides the optional button described above, there are several ways to start a c
- Right-click a video, and select **Custom download video**
- Right-click a channel, playlist or folder, and select **Custom download channel**, and so on
-- In the Classic Mode tab, click the menu icon in the top-right corner, and select **Enable custom downloads**. Then click the **Custom download all** button in the bottom-right corner
+- In the **Classic Mode** tab, click the menu icon in the top-right corner, and select **Enable custom downloads**. When you're ready to begin, click the **Custom download all** button in the bottom-right corner
- From the main menu, click **Operations > Custom download all**
6.14 Watching videos
@@ -1004,16 +1012,16 @@ Besides the optional button described above, there are several ways to start a c
If you've downloaded a video, you can watch it by clicking the word **Player**.
-.. image:: screenshots/example22.png
+.. image:: screenshots/example21.png
:alt: Watching a video
-If you haven't downloaded the video yet, you can watch it online by clicking the word **Website** or **YouTube**. (One or the other will be visible).
+If you haven't downloaded the video yet, you can watch it online by clicking the word **YouTube**, **Twitch**, **Website**, **Odysee**, **BitChute** or **Website**. (One or the other will be visible).
-Restricted YouTube videos (not available in your region, or not visible without a Google account) can often be watched without restrictions on an alternative website, such as `HookTube `__ or an Invidious mirror `such as this one `__.
+Restricted YouTube videos (not available in your region, or not visible without a Google account) can sometimes be watched without restrictions on an alternative website, such as `HookTube `__ or an Invidious mirror `such as this one `__.
-As mentioned above, the original Invidious has now closed. You can change the Invidious mirror that **Tartube** is using, if you like.
+As mentioned above, the original Invidious server has now closed. You can change the Invidious mirror that **Tartube** is using, if you like.
-- Click **Edit > System preferences... > Operations > Preferences**
+- Click **Edit > System preferences... > Operations > Mirrors**
- Enter a new Invidious mirror in the box
- Click **OK** to close the window
- You can now watch a video by clicking its **Invidious** label
@@ -1023,12 +1031,12 @@ As mentioned above, the original Invidious has now closed. You can change the In
Beneath the videos you'll find a toolbar. The buttons are self-explanatory, except for the one on the right.
-.. image:: screenshots/example23.png
+.. image:: screenshots/example22.png
:alt: The video catalogue toolbar
Click that button, and a larger toolbar is revealed. You can use this to filter out videos, change the order in which videos are displayed, or find a video uploaded at a certain date.
-.. image:: screenshots/example24.png
+.. image:: screenshots/example23.png
:alt: The toolbar's hidden buttons revealed
- Use the **Sort** box to change how videos are sorted. The button next to it can be used at any time force a re-sort
@@ -1049,6 +1057,8 @@ You can also search using a *regular expression* (regex), too. These searches ar
- Click the magnifying glass button. All matching videos are displayed
- To search using ordinary text, rather than a regex, de-select the **Regex** button
+By default, the search applies to video names. You can toggle to buttons so it applies to descriptions and/or comments, as well.
+
Alternatively, you can find videos uploaded around a certain date.
- Click the **Find date** button to select a date
@@ -1099,7 +1109,7 @@ If new videos are later added to the channel, playlist or folder, they will auto
- A creator releases their videos on **Odysee** as well as on **YouTube**. You have added both channels, but you don't want to download duplicate videos
- You don't care about keeping videos in separate directories/folders on your filesystem. You just want to download all videos to one location
- A separate application will process the videos, after Tartube has downloaded them
-
+-
6.17.1 Combining one channel and many playlists
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1114,6 +1124,8 @@ The solution is to tell **Tartube** to store all the videos from the channel and
- Now, right-click on each playlist in turn, and then select **Playlist actions > Set download destination...**
- In the dialogue window, click **Use a different location**, select the name of the channel, then click the **OK** button.
+A quicker way to add multiple playlists is from Tartube's main menu. Click **Media > Add many channels/playlists...**.
+
6.17.2 Extracting playlists from a channel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1122,14 +1134,14 @@ As described above, a creator might have a single channel, and several playlists
- On the channel's webpage, click the **Playlists** tab
- Add a new channel to Tartube's database, using this URL (which should end in **../playlists**)
-YouTube does not always send us the list of playlists; that's why it's necessary to click the **Playlists** tab, rather than the **Videos** tab, as we normally would.
+**YouTube** does not always send us the list of playlists; that's why it's necessary to click the **Playlists** tab, rather than the **Videos** tab, as we normally would.
Now you have two choices. If you want to keep the original channel in your database, without downloading duplicate videos, do this:
- In Tartube's main window, right-click the channel, and select **Check channel**
- When the operation has finished, right-click the channel and select **Show > Channel properties... > Associated Playlists**
- Select the button **Set the channel as the download destination**
-- Click the **Add all playlists button**
+- Click the **Add all playlists** button
- Click **OK** to close the window
- On the channel's webpage, click the **Videos** tab
- In Tartube's main window, right-click the channel, and select **Channel actions > Set URL...**, and replace the URL with the one ending in **../videos**
@@ -1167,7 +1179,7 @@ If you don't care about keeping videos in separate directories/folders on your f
- Click the **Download all videos into this folder** button to select it
- In the combo next to it, select **Unsorted Videos**
-Alternatively, you could select **Temporary Videos**. If you do, videos will be deleted when you restart **Tartube** (and will not be re-downloaded in the future).
+Alternatively, you could select **Temporary Videos**. If you do, videos will be deleted when you restart **Tartube**.
6.17.5 Download all videos to an external folder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1176,7 +1188,7 @@ By default, all files are downloaded into Tartube's data folder. Users often req
A whole bunch of things can go wrong when we start writing files to arbitrary locations on hard drives that may or may not be accessible in the future. Tartube is simply not designed to handle file input/output of that complexity.
-In addition, writing files outside Tartube's data folder breaks portability because it's no longer possible for the folder to copied or moved anywhere else.
+In addition, writing files outside Tartube's data folder breaks portability because it's no longer possible for the folder to be copied or moved anywhere else.
Nevertheless, since v2.4.0 it has been possible to download videos to any location in the filesystem for which you have read/write permissions. (It has always been possible to do so from the **Classic Mode** tab). *Don't do it without a good reason*. Good reasons include:
@@ -1197,21 +1209,22 @@ If one of these reasons applies, then you can do this:
Users of `yt-dlp `__ should be aware of the download option **--paths**, which may be more convenient in some situations. See the **yt-dlp** documentation for more information about how it works. In Tartube, it can be configured like this:
- Click **Edit > General download options...**
-- If the **Show advanced download options** button is visible, clicke it
-- Now click the **yt-dlp** tab
-- The option **--output** can be set in the **Output** tab
-- The option **--paths** can be set in the **Paths** tab
+- If the **Show advanced download options** button is visible, click it
+- The option **--output** can be set in the **Files > Override** tab
+- The option **--paths** can be set in the **Files > Paths** tab
6.18 Archiving videos
---------------------
-You can tell **Tartube** to automatically delete videos after some period of time. This is useful if you don't have an infinitely large hard drive.
+You can tell **Tartube** to automatically delete videos after some period of time. This is useful if hard drive is smaller than the size of the observable universe.
- Click **Edit > System preferences... > Files > Videos**
-- Click the **Automatically delete downloaded videos after this many days** button to select it
+- Click the **Automatically delete downloaded videos** button to select it
- If you want to, change the number of days from **30** to some other value
-If you want to protect your favourite videos from being deleted automatically, you can *archive* them. Only videos that have actually been downloaded can be archived.
+Alternatively, you can select **Remove downloaded videos from the database (but don't delete files)**.
+
+If you want to protect your favourite videos from being deleted or removed automatically, you can *archive* them. Only videos that have actually been downloaded can be archived.
- Right-click a video, and select **Video is archived**
@@ -1259,26 +1272,27 @@ It's fine to add new videos to the database, or to remove them. Just be careful
- In **Tartube**'s main window, add each channel and playlist in the normal way
- When you're ready, click the **Check all** button. This adds a list of videos to **Tartube**'s database, without actually downloading the videos themselves
-- Copy the video files into **Tartube**'s data directory (folder). For example, copy all your **PewDiePie** videos into **../tartube-data/PewDiePie**
-- In the **Tartube** menu, click **Operations > Refresh database...**. **Tartube** will search for video files, and try to match them with the list of videos you just compiled
+- Now copy the video files into **Tartube**'s data directory (folder). For example, copy all your **PewDiePie** videos into **../tartube-data/PewDiePie**
+- In the **Tartube** menu, click **Operations > Refresh database...**
+- **Tartube** will search for video files, and try to match them with the list of videos you just compiled
- The whole process might some time, so be patient
6.20.2 Multiple databases
~~~~~~~~~~~~~~~~~~~~~~~~~
-**Tartube** can only use one database at a time, but you can create as many as you want.
+**Tartube** can only use one database at a time, but you can create as many databases as you want.
For example, you could create a new database on an external hard drive.
- In the main window's menu, click **File > Database preferences...**
-- In the new window, click the **Change** button
+- In the new window, click the **Add new database** button
- Another new window appears. Use it to create a directory (folder) on your external hard drive
**Tartube** remembers the location of the databases it has loaded. To switch back to your original database:
- In the main menu, click **File > Database preferences...**
- In the list, click the original database to select it
-- Click the **Switch** button
+- Click the **Switch to this database** button
6.20.3 Multiple Tartubes
~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1299,7 +1313,7 @@ It is important to note that *only a list of videos, channels, playlists and fol
- Click **Media > Export/import > Export from database...**
- In the dialogue window, choose what you want to export
- If you want a list that you can edit in an ordinary text editor, select the **Export as plain text** option
-- If you want a list that yuu can edit in a spreadsheet, select the **Export as CSV** option
+- If you want a list that you can edit in a spreadsheet, select the **Export as CSV** option
- Otherwise, you should select the **Export as JSON** option
- Click the **OK** button, then select where to save the export file
@@ -1314,9 +1328,9 @@ This is how to import the data into a different **Tartube** database.
6.20.5 Importing from YouTube
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-You can also import your YouTube subscriptions directly.
+You can also import your **YouTube** subscriptions directly.
-- Click **Media > Import YouTube subscriptions**
+- Click **Media > Export/import > Import YouTube subscriptions**
- A wizard window opens, showing you how to export your YouTube subscriptions as a single **.zip** file
- When you have the export file, click the **Next** button
- Click **Select file**, and choose the export file
@@ -1339,7 +1353,7 @@ Here are some notes for anyone who wants to edit the CSV export by hand (for exa
- A parent channel/playlist/folder is always listed directly above its child videos/channels/playlists/folders
- The first column should contain the string **video**, **channel**, **playlist** or **folder**
- The second column is the name of the video/channel/playlist/folder. Note that channels/playlists/folders cannot share a name (but any number of duplicate video names are allowed)
-- The third column is the source URL for a video, channel or playlist. This field is always empty for folders
+- The third column is the URL for a video, channel or playlist. This field is always empty for folders
- The fourth column is the name of the parent channel, playlist or folder (or an empty field, if there is no parent)
- The fifth and sixth columns apply only to videos. For channels/playlists/folders, they are always empty fields. For videos, they can still be empty fields, if the data is not known
- The fifth column is the video ID supplied by the website
@@ -1352,7 +1366,7 @@ Here are some notes for anyone who wants to edit the plain text export by hand:
- Each group starts with the line **@video**, **@channel**, **@playlist** or **@folder**
- A parent channel/playlist/folder is always listed directly above its child videos/channels/playlists/folders
- Line 2 is the name of the video/channel/playlist/folder. Note that channels/playlists/folders cannot share a name (but any number of duplicate video names are allowed)
-- Line 3 is the source URL for a video, channel or playlist. This line is always empty for folders
+- Line 3 is the URL for a video, channel or playlist. This line is always empty for folders
- Line 4 is the name of the parent channel, playlist or folder (or an empty line, if there is no parent)
- For videos, line 5 is the video ID supplied by the website (or an empty line, if the ID is unknown)
- For videos, line 6 is the video filename (e.g. **my video.mp4**, or an empty line, if the filename is unknown)
@@ -1367,11 +1381,8 @@ The first step is to make sure that either FFmpeg or AVconv is installed on your
The remaining steps are simple:
- In **Tartube**'s main window, click **Edit > General download options...**
-
-In the new window, do this:
-
-- Click the **Sound Only** tab
-- Select the checkbox **Download each video, extract the sound, and then discard the original videos**
+- In the new window, click the **Convert** tab
+- Select the checkbox **Download each video, extract the sound, and then discard the original video**
- In the boxes below, select an audio format and an audio quality
- Click the **OK** button at the bottom of the window to apply your changes
@@ -1379,15 +1390,15 @@ Alternatively, if you have enabled advanced options (see `6.11.1 Advanced downlo
- Click on the **Post-processing** tab
- Select the checkbox **Post-process video files to convert them to audio-only files**
-- In the box labelled **Audio format of the post-processed file**, specify what type of audio file you want - **.mp3**, **.wav**, etc
-- If you want, click the button **Keep video file after post-processing it** to select it
+- In the box labelled **Audio format of the post-processed file**, specify what type of audio file you want (**.mp3**, **.wav**, etc)
+- If you want, click the button **Keep video file after processing it** to select it
- Click the **OK** button at the bottom of the window to apply your changes
Some websites, such as **YouTube**, allow you to download the audio (in **.m4a** format) directly, without downloading the whole video, and without using **FFmpeg** or **AVconv**.
- In **Tartube**'s main window, click **Edit > General download options... > Formats**
- In the list on the left-hand side, select an **.m4a** format
-- Click the **Add format >>>** button to add it to the list on the right
+- Click the **Add format** button to add it to the list on the right
- Click the **OK** button at the bottom of the window to apply your changes
6.22 Classic Mode
@@ -1397,12 +1408,12 @@ Some websites, such as **YouTube**, allow you to download the audio (in **.m4a**
If you want something simpler, then click the **Classic Mode** tab, which has an interface that looks just like older GUIs.
-.. image:: screenshots/example25.png
+.. image:: screenshots/example24.png
:alt: The Classic Mode tab
-- Copy and paste the links (URLs) of videos, channels and/or playlists into the box at the top
+- Copy and paste the URLs (links) of videos, channels and/or playlists into the box at the top
- Click the **+** button to select a destination. All the videos are downloaded to this location
-- Select a video or audio format, or leave the **Default** setting enabled
+- Select a video or audio format and resolution, or leave the default settings enabled
- The video might not exist in your preferred format, but if FFmpeg or AVConv is installed on your system, the video can be converted
- Next, click the **Add URLs** button
- If you like, you can add more videos/channels/playlists, using a different destination and/or a different format
@@ -1422,11 +1433,11 @@ If you *only* use this tab, you can tell **Tartube** to open it automatically.
If you don't want **Tartube** to forget URLs when it restarts, you can do this:
-- Click the menu button in the top-right corner of the tab
+- In the **Classic Mode** tab, click the menu button in the top-right corner
- Click **Remember URLs** to select it
- **Tartube** will only remember URLs that haven't been downloaded yet
-A separate set of download options (see `6.11 Download options`_) usually applies to the Classic Mode tab. You can change this behaviour, if you like.
+A separate set of download options (see `6.11 Download options`_) usually applies to the **Classic Mode** tab. You can change this behaviour, if you like.
- Click the menu button in the top-right corner of the tab
- Click **Set download options** to see the complete list of download options
@@ -1434,7 +1445,7 @@ A separate set of download options (see `6.11 Download options`_) usually applie
In the same menu, custom downloads can be enabled (see `6.13 Custom downloads`_). Depending on the behaviour you've selected, **Tartube** may fetch a list of videos from each URL, before downloading them (so don't be alarmed if each URL is 'downloaded' twice).
-In the bottom half of the window, you can select one or more URLs by clicking them. The buttons in the bottom-left apply to the selected URLs. Let your mouse hover over a button, to see what it does.
+In the bottom half of the window, you can select one or more URLs by clicking them. The buttons in the bottom-left apply to the selected URLs. Let your mouse hover over a button to see what it does.
6.23 Livestreams
----------------
@@ -1452,9 +1463,9 @@ In the bottom half of the window, you can select one or more URLs by clicking th
Livestreams are easy to spot. A livestream that hasn't started yet has a red background. A video that's streaming now has a green background. (Livestreams that have finished have a normal background.)
-**YouTube** sometimes 'streams' a pre-recorded video at an appointed time, as if it were a livestream. These 'debut' or 'premiere' videos are shown in slightly different colours - orange before the stream starts, and cyan while it is in progress.
+**YouTube** sometimes 'streams' a pre-recorded video at an pre-determined time, as if it were a livestream. These 'debut' or 'premiere' videos are shown in slightly different colours - orange before the stream starts, and cyan while it is in progress.
-.. image:: screenshots/example26.png
+.. image:: screenshots/example25.png
:alt: The main window with livestreams visible
Every few minutes, **Tartube** checks whether a livestream (or debut) has started or stopped. This happens automatically in the background; there is no need for you to do anything.
@@ -1464,7 +1475,7 @@ Every few minutes, **Tartube** checks whether a livestream (or debut) has starte
You can modify how often livestreams are checked (and whether they are checked at all). Click **Livestreams > Livestream preferences...**.
-.. image:: screenshots/example27.png
+.. image:: screenshots/example26.png
:alt: Livestream preferences
For technical reasons, there are practical limits to what **Tartube** can detect. On busy channels, **Tartube** may not be able to detect livestreams that were announced some time ago. Even if you change the number of days from 7 to a very large number, there is no guarantee that **Tartube** will detect everything. (If you change the value to 0, **Tartube** will only detect livestreams that are listed before any ordinary videos.)
@@ -1476,9 +1487,9 @@ If you want to force a check, in the main window click **Livestreams > Update ex
6.23.3 Livestream notifications
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-It's really useful to be notified when a livestream is starting. In the same window, click the **Actions** tab.
+It's really useful to be notified when a livestream is starting. In the same window, click the **Operations > Actions** tab.
-.. image:: screenshots/example28.png
+.. image:: screenshots/example27.png
:alt: Livestream actions
**Desktop notifications** do not work on MS Windows.
@@ -1487,7 +1498,7 @@ It's really useful to be notified when a livestream is starting. In the same win
Most users will prefer to leave all of these checkboxes unselected, and instead set up notifications only for the livestreams they want to see.
-.. image:: screenshots/example29.png
+.. image:: screenshots/example28.png
:alt: Some example livestreams
- Click **Notify** to show a desktop notification when the stream starts (does not work on MS Windows)
@@ -1517,9 +1528,9 @@ Note that *none of these methods can download a livestream from the very beginni
Livestream downloads should work on most websites. `streamlink `__ works on most popular websites, but not necessarily on all of them.
-**Tartube**'s livestream detection works on **YouTube**, **Odysee** and **Twitch**. It might work on other websites, after a little configuration. Here is how to set it up.
+**Tartube**'s livestream detection works on **YouTube**, **Odysee** and **Twitch**. It might work on other websites, after a little configuration. Here is how to set that up.
-Firstly, find the RSS feed for the channel or playlist. You may have to use a search engine to find out how to do that, but first see `this site `__ and `this one `__.
+Firstly, find the RSS feed for the channel or playlist. You may have to use a search engine to find out how to do that, but first try `this site `__ and `this one `__.
Secondly, right-click the channel and select **Show > Channel properties...** (alternatively, right-click a playlist and select **Show > Playlist properties...**)
@@ -1545,7 +1556,7 @@ Having enabled detection, removed videos will appear in the **Missing Videos** f
If you explicitly set the location of the **FFmpeg** and/or **AVConv** executables, then those locations are passed on to **youtube-dl** when you check or download videos.
-If *both* locations are set, only one of them is passed on. Usually, that's the location of **FFmpeg**. However, if you specify the **prefer_avconv** download option, then **AVConv** is passed on, instead.
+If *both* locations are set, only one of them is passed on. Usually, that's the location of **FFmpeg**. However, if you specify the **--prefer-avconv** download option, then **AVConv** is passed on, instead.
- Click **Edit > General download options...**
- In the new window, if the **Show advanced download options** button is visible, click it
@@ -1562,10 +1573,10 @@ For more information about download options, see `6.11 Download options`_.
You can process videos and thumbnails with **FFmpeg** directly, if you need to. This is useful for converting a file from one format to another, and for many other tasks.
- Click a video, or select several videos together
-- Right-click them and select **Special > Process with FFmpeg...**
+- Right-click the video(s) and select **Special > Process with FFmpeg...**
- The FFmpeg options window opens
-.. image:: screenshots/example30.png
+.. image:: screenshots/example29.png
:alt: The FFmpeg options window
FFmpeg options behave much like download options.
@@ -1595,20 +1606,20 @@ You can add videos to this list by dragging and dropping them. Dragging from an
Now click the **Name** tab again. One box shows the **FFmpeg** system command that will be used to process the videos.
-Now, if you click the **Show more FFmpeg options** button, you'll notice that the system command changes radically, and that two new tabs have appeared. Go ahead and click the new **Settings** tab.
+If you click the **Show more FFmpeg options** button, you'll notice that the system command changes radically, and that two new tabs have appeared. Go ahead and click the new **Settings** tab.
-.. image:: screenshots/example31.png
+.. image:: screenshots/example30.png
:alt: Advanced FFmpeg settings
This tab defines a *source file* and an *output* file.
-The *source file* can be a video, or a thumbnail. If you select **Video thumbnail**, then FFmpeg will process the thumbnails associated with videos listed in the **Videos** tab; otherwise, it will process the video files themselves.
+The source file can be a video, or a thumbnail. If you select **Thumbnail**, then FFmpeg will process the thumbnails associated with videos listed in the **Videos** tab; otherwise, it will process the video files themselves.
-The *output file* setting defines whatever you're trying to achieve. If you want **FFmpeg** to produce a video, then **H.264** is the most useful setting (but you could also choose **GIF**).
+The **Output** setting defines whatever you're trying to achieve. If you want **FFmpeg** to produce a video, then **H.264** is the most useful setting (but you could also choose **GIF**).
When youtube-dl downloads a video, it often downloads the video and audio components seperately. The two pieces are then merged by FFmpeg. Usually, all of this happens automatically, but if the merge didn't succeed (or wasn't attempted), you can try again by selecting **Merge video/audio**. This settings expects to find a video file and an audio file with the same name (but with different file extensions).
-If the *source file* is a thumbnail, then the *output file* must also be a thumbnail.
+If the source file is a thumbnail, then the output file must also be a thumbnail.
6.26 Video clips
----------------
@@ -1635,7 +1646,7 @@ Before you start, take a look at the video clip preferences (click **Edit > Syst
If your database already contains a lot of videos, you can ask **Tartube** to extract timestamps from their descriptions.
-- Click **Edit > System preferences > Files > Videos**
+- Click **Edit > System preferences > Files > Updates**
- Click the button **Extract timestamps for all videos**
If you prefer to update videos one at a time, right-click the video and select **Show video > Properties... > Timestamps**. Then click the button **Reset list using video description**.
@@ -1668,9 +1679,9 @@ Click the **Download this clip** button to get started. Alternatively, if **Tart
If you frequently create video clips, then you should set up custom downloads (see `6.13 Custom downloads`_).
- Open the window for your preferred custom download. For example, click **Edit > System preferences... > Operations > Custom**, click **general** to select it, and click the **Edit** button
-- In the new window, click the **Downloads** tab
- Click **Download each video independently of its channel or playlist** to select it
-- After that, you will be able to select **Split videos into video clips using timestamps (requires FFmpeg)**
+- Now click the **Clips** tab
+- You can now select **Split videos into video clips using timestamps (requires FFmpeg)**
- Click **OK** to close the window
The next step is to check any videos, channels and playlists (for example by clicking the big **Check all** button in the **Videos** tab).
@@ -1690,7 +1701,7 @@ If you have already downloaded a video, then you can split it into video clips.
- If the **Clips** tab is visible, click it
- Otherwise, the **Settings** tab will be visible. Click it, then in the **Output** line, select **Video clip**
-You can split a video using the timestamps already extracted, or you can select **Split videos using these timestamps** to specify your own timestamps. The second option is useful if FFmpeg is acting on multiple videos at the same time.
+You can split a video using the timestamps already extracted. In the **Clips** tab (if visible), you can select **Split videos using these timestamps** to specify your own timestamps. The second method is useful if FFmpeg is acting on multiple videos at the same time.
When you're ready to go, click the **Process files** button.
@@ -1704,7 +1715,7 @@ Users of `yt-dlp `__ should be aware that the
6.27 Video slices
-----------------
-Unwanted parts of a video, such as adverts and intro/outro music, are called **video slices**.
+Unwanted parts of a video, such as adverts and intro/outro music, are called video **slices**.
**Tartube** can download a video with the slices removed. It can also remove slices from a video you have already downloaded. This functionality requires **FFmpeg**.
@@ -1722,7 +1733,7 @@ It's important to be aware of the limitations of this feature.
Before you start, take a look at the video slice preferences (click **Edit > System preferences... > Operations > Slices**).
- It will save a lot of time if you let **Tartube** contact **SponsorBlock** automatically, every time a video is checked or downloaded
-- Obfuscating the video's ID is recommended to protect your privacy. **SponsorBlock** will not know for sure which video you're looking for, so it will send data for a range of videos; **Tartube** will ignore the other videos
+- Obfuscating the video's ID is recommended to protect your privacy. **SponsorBlock** will not know for sure which video you're looking for, so it will send data for a range of videos; **Tartube** will ignore the superfluous videos
If you want to update a video, you can right-click it and select **Check video**, which will update the video and contact **SponsorBlock** for a second time.
@@ -1759,19 +1770,19 @@ Click the **Download this sliced video** button to get started. Alternatively, i
If you frequently remove slices from videos, then you should set up custom downloads (see `6.13 Custom downloads`_).
- Open the window for your preferred custom download. For example, click **Edit > System preferences... > Operations > Custom**, click **general** to select it, and click the **Edit** button
-- In the new window, click the **Downloads** tab
-- Click **Download each video independently of its channel or playlist** to select it
-- After that, you will be able to select **Remove slices from the video using SponsorBlock data (requires FFmpeg)**
+- In the new window, click **Download each video independently of its channel or playlist** to select it
+- Now click the **Slices tab**
+- You can now select **Remove slices from the video using SponsorBlock data**
- Select which types of slice you want to remove. To remove self-promotions, select **selfpromo** in the drop-down box, and click the **Toggle** button
-- Click **OK** to close the window
+- When you're ready, click **OK** to close the window
-The next step is to check any videos, channels and playlists (for example by clicking the big **Check all** button in the **Videos** tab).
+The next step is to check any videos, channels and playlists (for example by clicking the **Check all** button in the **Videos** tab).
This will fetch information about the videos. Assuming that you allowed Tartube to contact SponsorBlock automatically (as described above), some of those videos will now have a red icon next to them, indicating that a list of slices has been obtained. If not, you can enter some slices manually: right-click a video, and select **Show video > Properties > Slices**.
Each video slice is represented by four properties:
-- The start and stop times, in seconds or as timestamps
+- The start and stop times, in seconds or expressed as timestamps
- The stop time is optional. If you don't specify it, the end of the video is used
- **Category** is the type of slice; for example, a **sponsor** slice is an advert
- At the moment, there is only one **Action Type** available: **skip** means to remove the slice from the video
@@ -1781,13 +1792,13 @@ When you're ready, perform a custom download in the normal way (for example, by
6.27.4 Removing video slices
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-If you have already downloaded a video, then you remove slices from it.
+If you have already downloaded a video, then you can remove slices from it.
- Right click the video, and select **Special > Process with FFmpeg...**
- If the **Slices** tab is visible, click it
- Otherwise, the **Settings** tab will be visible. Click it, then in the **Output** line, select **Video slice**
-You can slice a video using SponsorBlock data already obtained, or you can select **Use this slice data** to specify your own video slices. The second option is useful if FFmpeg is acting on multiple videos at the same time.
+You can slice a video using SponsorBlock data already obtained. In the **Slices** tab (if visible), you can select **Use this slice data** to specify your own video slices. The second option is useful if FFmpeg is acting on multiple videos at the same time.
When you're ready to go, click the **Process files** button.
@@ -1796,21 +1807,21 @@ When you're ready to go, click the **Process files** button.
Sliced videos can be downloaded from the **Classic Mode** tab. Before downloading, click the menu button in the top-right corner of the tab, and select **Enable custom downloads**. Don't forget that videos can be downloaded in other formats, such as **.mp3**.
-Users of `yt-dlp `__ should be aware that it provides its own support for SponsorBlock, using `SponSkrub `__. This may be more convenient in some situations.
+Users of `yt-dlp `__ should be aware that it provides support for SponsorBlock, independently of **Tartube**, using `SponSkrub `__. This may be more convenient in some situations.
6.28 Using youtube-dl forks
---------------------------
`youtube-dl `__ is open-source software, and there are a number of forks available. Tartube officially supports both the original version and `yt-dlp `__.
-If a youtube-dl fork is still compatible with the original, then **Tartube** can use it instead of the original.
+If a **youtube-dl** fork is still compatible with the original, then **Tartube** can use it instead of the original.
-- Click **Edit > System preferences... > Downloader > Forks**
-- In the box **Use a different fork of youtube-dl**, enter the name of the fork
+- Click **Edit > System preferences... > Downloaders > Forks**
+- In the box **Other forks**, enter the name of the fork
- Click **OK** to close the preferences window
-- Now click **Operations > Update youtube-dl**, which will download (or update) the fork on your system
+- Now click **Operations > Update **, which will download (or update) the fork on your system
-6.29 Video Comments
+6.29 Video comments
-------------------
**yt-dlp** can retrieve a video's comments (**youtube-dl** cannot, currently).
@@ -1823,14 +1834,15 @@ This is how to enable comment fetching.
- Click **Edit > System preferences... > Downloaders > Forks**, and make sure **yt-dlp** is selected
- In the same window, click the tab **Operations > Comments**
-- Select **When checking/downloading videos, store comments in the metadata file**
-- If you like, you can select **Also store comments in the Tartube database**
+- Select **When checking videos, store comments in the metadata file**
+- You can also select **When downloading videos, store comments in the metadata file**
+- You can also select **Also store comments in the Tartube database**
By default, the metadata file isn't kept permanently. If you want a permanent archive of video comments, you should do this:
-- Click **Edit > General download options... > Files > Write/move files**
+- Click **Edit > General download options... > Files > Write/move**
- Make sure **Write video's metadata to an .info.json file** is selected
-- Now click the tab **Keep files**
+- Now click the tab **Keep**
- Make sure the two **Keep the metadata file** buttons are selected
Comments can be loaded from the metadata file into the Tartube database at any time.
@@ -1901,7 +1913,7 @@ A: On Linux, if the DEB or RPM package doesn't work, try installing via PyPI.
A: Please report any problems to the authors at our `Github page `__.
-On MS Windows, this is how to run **Tartube** from inside a terminal window:
+Error messages may only be visible inside a terminal window. On MS Windows, this is how to run **Tartube** from inside a terminal window:
- In Tartube's main menu, select **System > Show Tartube install folder**
- After the folder window opens, shut down Tartube
@@ -1923,7 +1935,7 @@ A: See `6.3 Setting the downloader's location`_
7.3 Can't download a video
--------------------------
-*Q: I can't download my favourite video!*
+*Q: I can't download the video!*
A: Make sure **youtube-dl** is updated; see `6.2 Updating the downloader`_
@@ -1956,11 +1968,11 @@ A: This generally indicates an error in the Python, Gtk and/or **Tartube** code.
A: **Tartube** creates a backup copy of its database, before trying to save a new copy. In the unlikely event of a failure, you can replace the broken database file with the backup file.
-- Open the data directory (folder). If you're not sure where to find **Tartube**'s data directory , you can click **Edit > System preferences... > Files > Database**
+- Open the data directory (folder). If you're not sure where to find **Tartube**'s data directory, you can click **Edit > System preferences... > Files > Database**
- Make sure **Tartube** is not running. The **Tartube** window is sometimes minimised, and sometimes only visible in the system tray
- In the data directory is the broken **tartube.db** file. You should rename to something else, in case you want to examine it later
- In the same directory, you might be able to see a directory called **.backups**
-- If **.backups** is not visible, then it is hidden. (On many Linux and BSD systems, pressing **CTRL + H** will reveal hidden folders)
+- If **.backups** is not visible, then it is hidden. (On many Linux and BSD systems, pressing **CTRL + H** will reveal hidden directories)
- Inside the **.backups** directory, you'll find some backup copies of the database file
- Choose the most recent one, copy it into the directory above, and rename the copy as **tartube.db**, replacing the old broken file
- Restart **Tartube**
@@ -1987,7 +1999,9 @@ The export can then be re-imported into your current database in the normal way
A: Earlier versions of **Tartube** did in fact introduce occasional blips into the database. It's possible (though unlikely) that some blips still exist, despite the best efforts of the authors. If you really want to rebuild the database from scratch, this is how to do it.
-Firstly, click **Media > Export/import > Export from database...**. In the dialogue window, it's not necessary to select the button **Include lists of videos**. Click the **OK** button. Let Tartube create the backup file. You now have a backup of the names and URLs for every channel/playlist you've added.
+Firstly, click **Media > Export/import > Export from database...**.
+
+In the dialogue window, it's not necessary to select the button **Include lists of videos**. Click the **OK** button. Let Tartube create the backup file. You now have a backup of the names and URLs for every channel/playlist you've added.
Next, shut down **Tartube**.
@@ -1995,7 +2009,7 @@ Next, shut down **Tartube**.
Now you can restart **Tartube**. **Tartube** will create a brand new database file.
-Click **Media > Export/import > Import into database > JSON export file...**. Import the file you created moments ago.
+Click **Media > Export/import > Import into database...** and select the file you created moments ago.
All the channels/playlists should now be visible in the main window. Click the **Check All** button in the bottom-left corner and wait for it to finish.
@@ -2014,10 +2028,10 @@ You can drastically reduce the time this takes by telling **Tartube** to stop ch
This works well on sites like YouTube, which send information about videos in the order they were uploaded, newest first. We can't guarantee it will work on every site.
-- Click **Edit > System preferences... > Operations > Performance**
-- Select the checkbox **Stop checking/downloading a channel/playlist when it starts sending videos you already have**
-- In the **Stop after this many videos (when checking)** box, enter the value 3
-- In the **Stop after this many videos (when downloading)** box, enter the value 3
+- Click **Edit > System preferences... > Operations > Stop**
+- Select the checkbox **Stop checking/downloading a channel/playlist when it finds videos you already have**
+- In the **Stop after this many videos (when checking)** box, enter a number (or keep the current number)
+- In the **Stop after this many videos (when downloading)** box, enter a number
- Click **OK** to close the window
7.8 'Download all' button takes too long
@@ -2039,8 +2053,6 @@ By default, the archive file is stored in the same folder as the video, but you
*Q: In the Progress tab, 'Max downloads' is set to 2. But when I download my favourite channel, it downloads only one video at a time!*
-**Tartube** passes a list of URLs to **youtube-dl**. Each URL may represent a single video, or multiple videos. **youtube-dl** downloads videos from each URL, one at a time.
-
When you add a channel (or a playlist), **Tartube** knows the URL of the channel, but it doesn't know anything about the videos inside it. Therefore it passes the URL of the channel to **youtube-dl**. Therefore the channel is downloaded, one video at a time.
You can download multiple videos from the same channel simultaneously, if you want (but it probably won't speed up your overall download).
@@ -2100,7 +2112,7 @@ Secondly, set your desired output format. Open the Download options window (for
For some reason, youtube-dl ignores the download option unless the format is specified in both places. (You will see a warning if you forget.)
-.. image:: screenshots/example32.png
+.. image:: screenshots/example31.png
:alt: The Download options window
Tartube can merge a video and audio file together, long after they have been downloaded - see `6.25 More information about FFmpeg and AVConv`_.
@@ -2116,7 +2128,7 @@ A: In the main menu, click **Media > Show/hide > Hide (most) system folders**
A: Right-click the folders you don't want to see, and select **Folder actions > Hide folder**. To reverse this step, in the main menu click **Media > Show/hide > Show hidden folders**
-A: In the main menu, click **Edit > System preferences... > Windows > Videos**, and click **Show smaller icons in the Video Index** to select it
+A: In the main menu, click **Edit > System preferences... > Windows > Videos**, and click **Show smaller icons** to select it
A: If you have many channels and playlists, create a folder, and then drag-and-drop some channels/playlists into it
@@ -2125,7 +2137,7 @@ A: If you have many channels and playlists, create a folder, and then drag-and-d
*Q: I want to see all the videos on a single page, not spread over several pages!*
-A: At the bottom of the **Tartube** window, set the page size to zero, and press **ENTER**.
+A: In the toolbar at the bottom of the **Videos** tab, set the page size to zero, and press **ENTER**.
7.16 Toolbar is too small
-------------------------
@@ -2148,13 +2160,13 @@ A: Click **Edit > System preferences... > Windows > Main window**, and then clic
*Q: I added my YouTube username and password, but I am still seeing authentification errors!*
-A: The questioner is talking about the settings in **Edit > General download options... > Advanced**.
+A: The questioner is talking about the settings in **Edit > General download options... > Advanced > Authentication**.
This is a **youtube-dl** issue. A general solution is described in `this post `__.
The solution describes how to create a cookies.txt file, which can be specified as a download option.
-Having created the file, in the same edit window, click the **General** tab. In the box labelled **Additional download options**, you can add:
+Having created the file, in the same edit window, click the **Name** tab. In the box labelled **Additional download options**, you can add:
**--cookies=YT-cookies.txt**
@@ -2165,11 +2177,13 @@ See also the **Tartube** thread `here General download options...**, then click the **Show advanced download options** button if it's visible, then click the tabs **Advanced > Geo-restriction**.
+A: **youtube-dl** provides some options for bypassing region-blocking. To show them, click **Edit > General download options...**
+
+Click the **Show advanced download options** button if it's visible, then click the tabs **Advanced > Geo-restriction**.
Unfortunately, although these options exist, websites are not compelled to respect them. **YouTube**, in particular, may completely ignore them.
-In many cases, the only remedy is to buy a subscription to a `VPN `__.
+In many cases, the only remedy is to buy a subscription to a `VPN `__ (or to the video website itself).
7.20 Video website blocks me
----------------------------
@@ -2182,14 +2196,14 @@ A: Subscribe to a `VPN `_
A: You can specify a list of proxies (**Edit > System preferences... > Operations > Proxies**). During a download operation, **Tartube** will cycle between these proxies.
-Unfortunately, it is not possible to switch between proxies while downloading a channel (youtube-dl does not offer that functionality). But the proxy list will work well if you're trying to download ten different channels.
+Unfortunately, it is not possible to switch between proxies while downloading a channel (**youtube-dl** does not offer that functionality). But the proxy list will work well if you're trying to download ten different channels.
7.21 Too many blocked videos
----------------------------
*Q: The Videos tab is full of 'blocked' videos!*
-.. image:: screenshots/example33.png
+.. image:: screenshots/example32.png
:alt: A selection of blocked videos
A: If Tartube detects a video that has been age-restricted, censored or otherwise blocked, it is still added to the database. Unfortunately, Tartube doesn't know anything about the video, not even when it was uploaded, so videos like this appear at the top of the list.
@@ -2229,6 +2243,12 @@ A: Cygwin and MSYS2 have `dropped support for 32-bit Windows `__
+
+`Portable edition (32-bit) `__
+
7.24 Tartube can't detect livestreams
-------------------------------------
@@ -2278,7 +2298,7 @@ If you want to restore stock icons, click **Edit > System preferences... > Windo
*Q: Tartube doesn't download video thumbnails any more! It used to work fine!*
-A: In June 2020, **YouTube** changed its image format from **.jpg** to **.webp**. Unfortunately, most software (including the graphics libraries used by **Tartube**) don't support **.webp** images yet. Worse still, **YouTube** begain sending **.webp** thumbnails mislabelled as **.jpg**.
+A: In June 2020, **YouTube** changed its image format from **.jpg** to **.webp**. Unfortunately, most software (including the graphics libraries used by **Tartube**) don't support **.webp** images yet. Worse still, **YouTube** begain sending **.webp** thumbnails mislabelled as **.jpg** files.
In September 2020, **Tartube** and **youtube-dl** added separate fixes for this problem. These fixes both depend on `FFmpeg `__, so they won't work if FFmpeg is not installed on your system - see `6.4 Installing FFmpeg / AVConv`_.
@@ -2292,7 +2312,7 @@ If you have already downloaded a lot of **.webp** images, you can ask **Tartube*
*Q: I can't see the text below each video!*
-A: If the background colours in the Video Catalogue are getting in the way, you can change them: click **Edit > Sysem preferences... > Windows > Colours**.
+A: If the background colours in the **Videos** and **Drag and Drop** tabs are getting in the way, you can change them: click **Edit > Sysem preferences... > Windows > Colours**.
7.30 Graphs not visible
-----------------------
@@ -2312,7 +2332,9 @@ On MS Windows, click **Operations > Install matplotlib...**
*Q: Tartube is not visible in the system tray! There is just an empty space where the Tartube icon should be!*
-A: This problem exists on certain Linux desktop environments (e.g. `Cinnamon `__) which have still not fixed an ancient bug. The bug is related to a message you might be able to see in a terminal window, *gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed*.
+A: This problem exists on certain Linux desktop environments (e.g. `Cinnamon `__) which have still not fixed an ancient bug. The bug is related to a message you might be able to see in a terminal window:
+
+*gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed*.
Other desktop environments (e.g. `MATE `__) display the **Tartube** icon correctly.
@@ -2342,7 +2364,7 @@ A: Some users have reported that, when using a virtual machine (e.g. `VirtualBox
This seems to be an issue with the virtualisation software itself (we have confirmed that everything works as expected on a non-virtual system).
-The only thing that can be done is to disable the checks and warnings altogether. Click **Edit > System preferences > Files > Device**, and deselect both **Warn user if disk space is less than** and **Halt downloads if disk space is less than**.
+The only thing that can be done is to disable the checks and warnings altogether. Click **Edit > System preferences > Files > Device**, and deselect both **Before checking/downloading videos, warn user if disk space is less than** and **Halt downloads if disk space is less than**.
7.34 Japanese/Korean videos won't download
------------------------------------------
diff --git a/VERSION b/VERSION
index 845a1b73..197c4d5c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.3.613
+2.4.0
diff --git a/locale/en_US/LC_MESSAGES/base.po b/locale/en_US/LC_MESSAGES/base.po
index 2ea01cff..336718f3 100644
--- a/locale/en_US/LC_MESSAGES/base.po
+++ b/locale/en_US/LC_MESSAGES/base.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 2.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-04-09 08:54+0100\n"
+"POT-Creation-Date: 2022-04-21 15:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: A S Lewis \n"
"Language-Team: en_US\n"
@@ -24,7 +24,7 @@ msgstr ""
msgid "Small"
msgstr ""
-#: .././mainapp.py:298 .././config.py:6847 .././config.py:6946
+#: .././mainapp.py:298 .././config.py:6872 .././config.py:6971
msgid "Medium"
msgstr ""
@@ -36,7 +36,7 @@ msgstr ""
msgid "Enormous"
msgstr ""
-#: .././mainapp.py:999
+#: .././mainapp.py:1006
msgid ""
"Failed to convert a thumbnail from .webp to .jpg. No more conversions will "
"be attempted until you install FFmpeg on your system, or (if FFmpeg is "
@@ -45,194 +45,194 @@ msgid ""
"conversions"
msgstr ""
-#: .././mainapp.py:3218
+#: .././mainapp.py:3268
msgid ""
"Tartube can't create the folder in which its configuration file is saved"
msgstr ""
#. Load/save has been disabled. Show the error message in a dialogue
#. window, then shut down
-#: .././mainapp.py:3265
+#: .././mainapp.py:3315
msgid "Tartube failed to start because:"
msgstr ""
-#: .././mainapp.py:3273
+#: .././mainapp.py:3323
msgid "If you don't know how to resolve this error, please contact the authors"
msgstr ""
-#: .././mainapp.py:3499
+#: .././mainapp.py:3549
msgid "Because of an error, file load/save has been disabled"
msgstr ""
-#: .././mainapp.py:3508
+#: .././mainapp.py:3558
msgid "Because of the error, file load/save has been disabled"
msgstr ""
-#: .././mainapp.py:3610
+#: .././mainapp.py:3660
msgid "There is a download operation in progress."
msgstr ""
-#: .././mainapp.py:3612
+#: .././mainapp.py:3662
msgid "There is an update operation in progress."
msgstr ""
-#: .././mainapp.py:3614
+#: .././mainapp.py:3664
msgid "There is a refresh operation in progress."
msgstr ""
-#: .././mainapp.py:3616
+#: .././mainapp.py:3666
msgid "There is an info operation in progress."
msgstr ""
-#: .././mainapp.py:3618
+#: .././mainapp.py:3668
msgid "There is a tidy operation in progress."
msgstr ""
-#: .././mainapp.py:3620
+#: .././mainapp.py:3670
msgid "There is a process operation in progress."
msgstr ""
-#: .././mainapp.py:3625
+#: .././mainapp.py:3675
msgid "Are you sure you want to quit Tartube?"
msgstr ""
-#: .././mainapp.py:3834
+#: .././mainapp.py:3884
msgid "Failed to load the Tartube config file (failed sanity check)"
msgstr ""
-#: .././mainapp.py:3857
+#: .././mainapp.py:3907
msgid "Failed to load the Tartube config file (file is locked)"
msgstr ""
-#: .././mainapp.py:3887
+#: .././mainapp.py:3937
msgid "Failed to load the Tartube config file (JSON load failure)"
msgstr ""
-#: .././mainapp.py:3905
+#: .././mainapp.py:3955
msgid "Failed to load the Tartube config file (file is invalid)"
msgstr ""
-#: .././mainapp.py:3923
+#: .././mainapp.py:3973
msgid ""
"Failed to load the Tartube config file (file cannot be read by this version)"
msgstr ""
-#: .././mainapp.py:3938
+#: .././mainapp.py:3988
msgid "Failed to load the Tartube config file (missing file type)"
msgstr ""
-#: .././mainapp.py:5036
+#: .././mainapp.py:5134
msgid "Failed to save the Tartube config file (failed sanity check)"
msgstr ""
-#: .././mainapp.py:5428
+#: .././mainapp.py:5543
msgid "Failed to save the Tartube config file (file is locked)"
msgstr ""
-#: .././mainapp.py:5430 .././mainapp.py:7247 .././mainapp.py:7303
-#: .././mainapp.py:7309
+#: .././mainapp.py:5545 .././mainapp.py:7440 .././mainapp.py:7503
+#: .././mainapp.py:7509
msgid "File load/save has been disabled"
msgstr ""
-#: .././mainapp.py:5449
+#: .././mainapp.py:5564
msgid "Failed to save the Tartube config file (file already in use)"
msgstr ""
-#: .././mainapp.py:5468
+#: .././mainapp.py:5583
msgid "Failed to save the Tartube config file"
msgstr ""
-#: .././mainapp.py:5570 .././mainapp.py:5585 .././mainapp.py:5617
+#: .././mainapp.py:5685 .././mainapp.py:5700 .././mainapp.py:5732
msgid "Failed to load the Tartube database file"
msgstr ""
-#: .././mainapp.py:5633
+#: .././mainapp.py:5748
msgid "The Tartube database file is invalid"
msgstr ""
-#: .././mainapp.py:5649
+#: .././mainapp.py:5764
msgid "Database file can't be read by this version of Tartube"
msgstr ""
-#: .././mainapp.py:6018
+#: .././mainapp.py:6138
msgid "Tartube is applying an essential database update"
msgstr ""
-#: .././mainapp.py:6020
+#: .././mainapp.py:6140
msgid "This might take a few minutes, so please be patient"
msgstr ""
-#: .././mainapp.py:7069
+#: .././mainapp.py:7189
msgid "General (default) download options"
msgstr ""
-#: .././mainapp.py:7075
+#: .././mainapp.py:7195
msgid "Download options for the Classic Mode tab"
msgstr ""
-#: .././mainapp.py:7241 .././mainapp.py:7299 .././mainapp.py:7308
+#: .././mainapp.py:7434 .././mainapp.py:7499 .././mainapp.py:7508
msgid "Failed to save the Tartube database file"
msgstr ""
-#: .././mainapp.py:7244
+#: .././mainapp.py:7437
msgid "(Could not make a backup copy of the existing file)"
msgstr ""
-#: .././mainapp.py:7280
+#: .././mainapp.py:7479
msgid "Failed to save the Tartube database file (file already in use)"
msgstr ""
-#: .././mainapp.py:7301
+#: .././mainapp.py:7501
msgid "A backup of the previous file can be found at:"
msgstr ""
-#: .././mainapp.py:7476 .././mainapp.py:7486
+#: .././mainapp.py:7679 .././mainapp.py:7689
msgid "Database file created"
msgstr ""
-#: .././mainapp.py:7856
+#: .././mainapp.py:8056
msgid "Tartube's database can't be checked while an operation is in progress"
msgstr ""
-#: .././mainapp.py:8101
+#: .././mainapp.py:8310
msgid "Database check complete, no inconsistencies found"
msgstr ""
-#: .././mainapp.py:8134
+#: .././mainapp.py:8345
msgid "Database check complete, problems found:"
msgstr ""
-#: .././mainapp.py:8137
+#: .././mainapp.py:8348
msgid ""
"Do you want to repair these problems? (The database will be fixed, but no "
"files will be deleted)"
msgstr ""
-#: .././mainapp.py:8317
+#: .././mainapp.py:8564
msgid "Database inconsistencies repaired"
msgstr ""
-#: .././mainapp.py:9577 .././config.py:26880
+#: .././mainapp.py:9900 .././config.py:27477
msgid "Please select Tartube's data folder"
msgstr ""
-#: .././mainapp.py:9993
+#: .././mainapp.py:10316
msgid ""
"A download operation cannot start if one or more configuration windows are "
"still open"
msgstr ""
-#: .././mainapp.py:10017 .././mainapp.py:10042
+#: .././mainapp.py:10340 .././mainapp.py:10365
#, python-brace-format
-msgid "You only have {0} / {1} Mb remaining on your device"
+msgid "You only have {0} / {1} Gb remaining on your device"
msgstr ""
-#: .././mainapp.py:10045 .././mainapp.py:16146 .././mainapp.py:16267
-#: .././mainapp.py:16454 .././mainwin.py:19992
+#: .././mainapp.py:10368 .././mainapp.py:16502 .././mainapp.py:16623
+#: .././mainapp.py:16810 .././mainwin.py:20371
msgid "Are you sure you want to continue?"
msgstr ""
-#: .././mainapp.py:10137
+#: .././mainapp.py:10460
msgid ""
"1. Copy URLs into the box at the top\n"
"2. Select a destination and a format\n"
@@ -240,573 +240,573 @@ msgid ""
"4. Click 'Download all'"
msgstr ""
-#: .././mainapp.py:10145
+#: .././mainapp.py:10468
msgid "There is nothing to check!"
msgstr ""
-#: .././mainapp.py:10149
+#: .././mainapp.py:10472
msgid "There is nothing to download!"
msgstr ""
-#: .././mainapp.py:10430
+#: .././mainapp.py:10761
msgid "Download operation complete"
msgstr ""
-#: .././mainapp.py:10432
+#: .././mainapp.py:10763
msgid "Download operation halted"
msgstr ""
-#: .././mainapp.py:10436
+#: .././mainapp.py:10767
msgid "Videos downloaded:"
msgstr ""
-#: .././mainapp.py:10437 .././config.py:27957 .././config.py:28014
+#: .././mainapp.py:10768 .././config.py:28587 .././config.py:28644
msgid "Videos checked:"
msgstr ""
-#: .././mainapp.py:10444
+#: .././mainapp.py:10775
msgid "Clips downloaded:"
msgstr ""
-#: .././mainapp.py:10447
+#: .././mainapp.py:10778
msgid "Video slices removed:"
msgstr ""
-#: .././mainapp.py:10451 .././mainapp.py:11104 .././mainapp.py:11584
-#: .././mainapp.py:11961
+#: .././mainapp.py:10782 .././mainapp.py:11446 .././mainapp.py:11926
+#: .././mainapp.py:12303
msgid "Time taken:"
msgstr ""
-#: .././mainapp.py:10630
+#: .././mainapp.py:10962
msgid ""
"An update operation cannot start if one or more configuration windows are "
"still open"
msgstr ""
-#: .././mainapp.py:10823
+#: .././mainapp.py:11165
msgid "Installation failed"
msgstr ""
-#: .././mainapp.py:10825
+#: .././mainapp.py:11167
msgid "Installation complete"
msgstr ""
-#: .././mainapp.py:10829
+#: .././mainapp.py:11171
msgid "Update operation failed"
msgstr ""
-#: .././mainapp.py:10831
+#: .././mainapp.py:11173
msgid "Update operation halted"
msgstr ""
-#: .././mainapp.py:10833
+#: .././mainapp.py:11175
msgid "Update operation complete"
msgstr ""
-#: .././mainapp.py:10835
+#: .././mainapp.py:11177
msgid "version:"
msgstr ""
-#: .././mainapp.py:10839
+#: .././mainapp.py:11181
msgid "(unknown)"
msgstr ""
-#: .././mainapp.py:10925
+#: .././mainapp.py:11267
msgid ""
"A refresh operation cannot start if one or more configuration windows are "
"still open"
msgstr ""
-#: .././mainapp.py:10938
+#: .././mainapp.py:11280
msgid ""
"During a refresh operation, Tartube analyses its data folder, looking for "
"videos that haven't yet been added to its database"
msgstr ""
-#: .././mainapp.py:10942
+#: .././mainapp.py:11284
msgid ""
"You only need to perform a refresh operation if you have manually copied "
"videos into Tartube's data folder"
msgstr ""
-#: .././mainapp.py:10949
+#: .././mainapp.py:11291
msgid ""
"Before starting a refresh operation, you should click the 'Check all' button "
"in the main window"
msgstr ""
-#: .././mainapp.py:10956
+#: .././mainapp.py:11298
msgid ""
"Before starting a refresh operation, you should right-click the channel and "
"select 'Check channel'"
msgstr ""
-#: .././mainapp.py:10963
+#: .././mainapp.py:11305
msgid ""
"Before starting a refresh operation, you should right-click the playlist and "
"select 'Check playlist'"
msgstr ""
-#: .././mainapp.py:10970
+#: .././mainapp.py:11312
msgid ""
"Before starting a refresh operation, you should right-click the folder and "
"select 'Check folder'"
msgstr ""
-#: .././mainapp.py:10975
+#: .././mainapp.py:11317
msgid "Are you sure you want to proceed with the refresh operation?"
msgstr ""
-#: .././mainapp.py:11099
+#: .././mainapp.py:11441
msgid "Refresh operation complete"
msgstr ""
-#: .././mainapp.py:11101
+#: .././mainapp.py:11443
msgid "Refresh operation halted"
msgstr ""
-#: .././mainapp.py:11203
+#: .././mainapp.py:11545
msgid ""
"An info operation cannot start if one or more configuration windows are "
"still open"
msgstr ""
-#: .././mainapp.py:11328
+#: .././mainapp.py:11670
msgid "Operation failed"
msgstr ""
-#: .././mainapp.py:11330 .././mainwin.py:29348 .././downloads.py:508
+#: .././mainapp.py:11672 .././mainwin.py:29749 .././downloads.py:508
msgid "Operation complete"
msgstr ""
-#: .././mainapp.py:11332
+#: .././mainapp.py:11674
msgid "Click the Output tab to see the results"
msgstr ""
-#: .././mainapp.py:11345
+#: .././mainapp.py:11687
msgid "A new release is available!"
msgstr ""
-#: .././mainapp.py:11347
+#: .././mainapp.py:11689
msgid "Your installation is up to date!"
msgstr ""
-#: .././mainapp.py:11349
+#: .././mainapp.py:11691
msgid "Installed version:"
msgstr ""
-#: .././mainapp.py:11354
+#: .././mainapp.py:11696
msgid "Stable release:"
msgstr ""
-#: .././mainapp.py:11359
+#: .././mainapp.py:11701
msgid "Stable release: not found"
msgstr ""
-#: .././mainapp.py:11362
+#: .././mainapp.py:11704
msgid "Development release:"
msgstr ""
-#: .././mainapp.py:11364
+#: .././mainapp.py:11706
msgid "Development release: not found"
msgstr ""
-#: .././mainapp.py:11477
+#: .././mainapp.py:11819
msgid ""
"A tidy operation cannot start if one or more configuration windows are still "
"open"
msgstr ""
-#: .././mainapp.py:11579
+#: .././mainapp.py:11921
msgid "Tidy operation complete"
msgstr ""
-#: .././mainapp.py:11581
+#: .././mainapp.py:11923
msgid "Tidy operation halted"
msgstr ""
-#: .././mainapp.py:11722 .././mainwin.py:20733 .././config.py:14148
+#: .././mainapp.py:12064 .././mainwin.py:21112 .././config.py:14187
msgid "Livestream has started"
msgstr ""
-#: .././mainapp.py:11950
+#: .././mainapp.py:12292
msgid "Process operation complete"
msgstr ""
-#: .././mainapp.py:11952
+#: .././mainapp.py:12294
msgid "Process operation halted"
msgstr ""
-#: .././mainapp.py:11956
+#: .././mainapp.py:12298
msgid "Files processed:"
msgstr ""
-#: .././mainapp.py:11957
+#: .././mainapp.py:12299
msgid "Errors:"
msgstr ""
-#: .././mainapp.py:13287 .././mainapp.py:13480
+#: .././mainapp.py:13642 .././mainapp.py:13835
msgid "Cannot move anything to:"
msgstr ""
-#: .././mainapp.py:13289 .././mainapp.py:13482
+#: .././mainapp.py:13644 .././mainapp.py:13837
msgid ""
"because a file or folder with the same name already exists (although "
"Tartube's database doesn't know anything about it)"
msgstr ""
-#: .././mainapp.py:13293
+#: .././mainapp.py:13648
msgid ""
"You probably created that file/folder accidentally, in which case you should "
"delete it manually before trying again"
msgstr ""
-#: .././mainapp.py:13307 .././mainapp.py:13500
+#: .././mainapp.py:13662 .././mainapp.py:13855
msgid "Are you sure you want to move this channel:"
msgstr ""
-#: .././mainapp.py:13309 .././mainapp.py:13502
+#: .././mainapp.py:13664 .././mainapp.py:13857
msgid "Are you sure you want to move this playlist:"
msgstr ""
-#: .././mainapp.py:13311 .././mainapp.py:13504
+#: .././mainapp.py:13666 .././mainapp.py:13859
msgid "Are you sure you want to move this folder:"
msgstr ""
-#: .././mainapp.py:13316
+#: .././mainapp.py:13671
msgid ""
"This procedure will move all downloaded files to the top level of Tartube's "
"data folder"
msgstr ""
-#: .././mainapp.py:13354 .././mainapp.py:13559
+#: .././mainapp.py:13709 .././mainapp.py:13914
#, python-brace-format
msgid "Could not move '{0}' (filesystem error)"
msgstr ""
-#: .././mainapp.py:13422
+#: .././mainapp.py:13777
msgid "Channels, playlists and folders can only be dragged into a folder"
msgstr ""
-#: .././mainapp.py:13435
+#: .././mainapp.py:13790
#, python-brace-format
msgid "The fixed folder '{0}' cannot be moved (but it can still be hidden)"
msgstr ""
-#: .././mainapp.py:13448
+#: .././mainapp.py:13803
#, python-brace-format
msgid "The folder '{0}' can only contain videos"
msgstr ""
-#: .././mainapp.py:13460
+#: .././mainapp.py:13815
#, python-brace-format
msgid "The folder '{0}' can only contain other folders and videos"
msgstr ""
-#: .././mainapp.py:13487
+#: .././mainapp.py:13842
msgid ""
"You probably created that file/folder accidentally, in which case, you "
"should delete it manually before trying again"
msgstr ""
-#: .././mainapp.py:13506
+#: .././mainapp.py:13861
msgid "into this folder:"
msgstr ""
-#: .././mainapp.py:13510
+#: .././mainapp.py:13865
msgid "This procedure will move all downloaded files to the new location"
msgstr ""
-#: .././mainapp.py:13516 .././mainapp.py:13648
+#: .././mainapp.py:13871 .././mainapp.py:14004
msgid ""
"WARNING: The destination folder is marked as temporary, so everything inside "
"it will be DELETED when Tartube restarts!"
msgstr ""
-#: .././mainapp.py:13626
+#: .././mainapp.py:13982
msgid "Videos cannot be dragged into this folder"
msgstr ""
-#: .././mainapp.py:13636
+#: .././mainapp.py:13992
#, python-brace-format
msgid "Are you sure you want to move the video to '{0}'?"
msgstr ""
-#: .././mainapp.py:13642
+#: .././mainapp.py:13998
#, python-brace-format
msgid "Are you sure you want to move '{0}' videos to '{1}'?"
msgstr ""
#. Show confirmation dialogue
-#: .././mainapp.py:13783
+#: .././mainapp.py:14139
msgid "Videos moved"
msgstr ""
-#: .././mainapp.py:13784
+#: .././mainapp.py:14140
msgid "Videos not moved:"
msgstr ""
-#: .././mainapp.py:14182
+#: .././mainapp.py:14538
msgid ""
"Are you SURE you want to delete files? This procedure cannot be reversed!"
msgstr ""
-#: .././mainapp.py:14199
+#: .././mainapp.py:14555
msgid ""
"Are you SURE you want to remove these items from your database? This "
"procedure cannot be reversed!"
msgstr ""
-#: .././mainapp.py:16130 .././mainapp.py:16251 .././mainapp.py:16438
+#: .././mainapp.py:16486 .././mainapp.py:16607 .././mainapp.py:16794
#, python-brace-format
msgid "The channel contains {0} item(s), so this action may take a while"
msgstr ""
-#: .././mainapp.py:16136 .././mainapp.py:16257 .././mainapp.py:16444
+#: .././mainapp.py:16492 .././mainapp.py:16613 .././mainapp.py:16800
#, python-brace-format
msgid "The playlist contains {0} item(s), so this action may take a while"
msgstr ""
-#: .././mainapp.py:16142 .././mainapp.py:16263 .././mainapp.py:16450
+#: .././mainapp.py:16498 .././mainapp.py:16619 .././mainapp.py:16806
#, python-brace-format
msgid "The folder contains {0} item(s), so this action may take a while"
msgstr ""
-#: .././mainapp.py:16515 .././mainapp.py:22150 .././mainapp.py:22292
-#: .././mainapp.py:22429 .././config.py:26219
+#: .././mainapp.py:16871 .././mainapp.py:22526 .././mainapp.py:22668
+#: .././mainapp.py:22805 .././config.py:26816
#, python-brace-format
msgid "The name '{0}' is not allowed"
msgstr ""
-#: .././mainapp.py:16524 .././config.py:16624 .././config.py:26210
+#: .././mainapp.py:16880 .././config.py:16689 .././config.py:26807
#, python-brace-format
msgid "The name '{0}' is already in use"
msgstr ""
-#: .././mainapp.py:16534
+#: .././mainapp.py:16890
#, python-brace-format
msgid "Failed to rename '{0}'"
msgstr ""
#. Confirm the result
-#: .././mainapp.py:16734
+#: .././mainapp.py:17090
msgid "Search/replace complete"
msgstr ""
-#: .././mainapp.py:16735
+#: .././mainapp.py:17091
#, python-brace-format
msgid "Updated URLs: {0}"
msgstr ""
-#: .././mainapp.py:16736
+#: .././mainapp.py:17092
#, python-brace-format
msgid "Errors: {0}"
msgstr ""
-#: .././mainapp.py:16999
+#: .././mainapp.py:17355
msgid "Select where to save the database export"
msgstr ""
-#: .././mainapp.py:17129
+#: .././mainapp.py:17485
msgid "There is nothing to export!"
msgstr ""
-#: .././mainapp.py:17169 .././mainapp.py:17214 .././mainapp.py:17267
-#: .././config.py:27800
+#: .././mainapp.py:17525 .././mainapp.py:17570 .././mainapp.py:17623
+#: .././config.py:28430
msgid "Failed to save the database export file:"
msgstr ""
-#: .././mainapp.py:17275 .././config.py:27790
+#: .././mainapp.py:17631 .././config.py:28420
msgid "Database export file saved to:"
msgstr ""
-#: .././mainapp.py:17540
+#: .././mainapp.py:17896
msgid "Select the database export"
msgstr ""
-#: .././mainapp.py:17558 .././mainapp.py:17569 .././mainapp.py:17603
+#: .././mainapp.py:17914 .././mainapp.py:17925 .././mainapp.py:17959
msgid "Failed to load the database export file"
msgstr ""
-#: .././mainapp.py:17586
+#: .././mainapp.py:17942
msgid "The database export file is invalid"
msgstr ""
-#: .././mainapp.py:17617
+#: .././mainapp.py:17973
msgid "The database export file is invalid (or empty)"
msgstr ""
-#: .././mainapp.py:17662
+#: .././mainapp.py:18018
msgid "Nothing was imported from the database export file"
msgstr ""
#. Show a confirmation
-#: .././mainapp.py:17676
+#: .././mainapp.py:18032
msgid "Imported into database"
msgstr ""
-#: .././mainapp.py:17677 .././mainwin.py:1691 .././config.py:962
-#: .././config.py:17091 .././config.py:20294
+#: .././mainapp.py:18033 .././mainwin.py:1703 .././config.py:962
+#: .././config.py:17283 .././config.py:20604
msgid "Videos"
msgstr ""
-#: .././mainapp.py:17678 .././config.py:17124 .././config.py:20327
+#: .././mainapp.py:18034 .././config.py:17316 .././config.py:20637
msgid "Channels"
msgstr ""
-#: .././mainapp.py:17679 .././config.py:17135 .././config.py:20338
+#: .././mainapp.py:18035 .././config.py:17327 .././config.py:20648
msgid "Playlists"
msgstr ""
-#: .././mainapp.py:17680
+#: .././mainapp.py:18036
msgid "Folders"
msgstr ""
-#: .././mainapp.py:18446
+#: .././mainapp.py:18802
msgid ""
"The video file is missing from Tartube's data folder (try downloading the "
"video again!)"
msgstr ""
-#: .././mainapp.py:18789
+#: .././mainapp.py:19145
msgid "Select where to save the custom download export"
msgstr ""
-#: .././mainapp.py:18846
+#: .././mainapp.py:19202
msgid "Failed to save the custom download export file:"
msgstr ""
-#: .././mainapp.py:18854
+#: .././mainapp.py:19210
msgid "Custom download exported to:"
msgstr ""
-#: .././mainapp.py:18882
+#: .././mainapp.py:19238
msgid "Select the custom download export file"
msgstr ""
-#: .././mainapp.py:18901
+#: .././mainapp.py:19257
msgid "Failed to load the custom download export file"
msgstr ""
-#: .././mainapp.py:18918
+#: .././mainapp.py:19274
msgid "The custom download export file is invalid"
msgstr ""
-#: .././mainapp.py:18929
+#: .././mainapp.py:19285
msgid "The custom download export file is invalid (or empty)"
msgstr ""
-#: .././mainapp.py:19452 .././mainapp.py:19813
+#: .././mainapp.py:19816 .././mainapp.py:20177
msgid "Select where to save the options export"
msgstr ""
-#: .././mainapp.py:19500 .././mainapp.py:19861
+#: .././mainapp.py:19864 .././mainapp.py:20225
msgid "Failed to save the options export file:"
msgstr ""
-#: .././mainapp.py:19508
+#: .././mainapp.py:19872
msgid "Download options exported to to:"
msgstr ""
-#: .././mainapp.py:19536 .././mainapp.py:19897
+#: .././mainapp.py:19900 .././mainapp.py:20261
msgid "Select the options export file"
msgstr ""
-#: .././mainapp.py:19555 .././mainapp.py:19916
+#: .././mainapp.py:19919 .././mainapp.py:20280
msgid "Failed to load the options export file"
msgstr ""
-#: .././mainapp.py:19572 .././mainapp.py:19933
+#: .././mainapp.py:19936 .././mainapp.py:20297
msgid "The options export file is invalid"
msgstr ""
-#: .././mainapp.py:19583 .././mainapp.py:19944
+#: .././mainapp.py:19947 .././mainapp.py:20308
msgid "The options export file is invalid (or empty)"
msgstr ""
-#: .././mainapp.py:19869
+#: .././mainapp.py:20233
msgid "FFmpeg options exported to to:"
msgstr ""
-#: .././mainapp.py:20881
+#: .././mainapp.py:21257
msgid "Please select a destination folder"
msgstr ""
#. Prompt for confirmation
-#: .././mainapp.py:20947
+#: .././mainapp.py:21323
msgid "Are you sure you want to clear this list?"
msgstr ""
#. Prompt for confirmation
-#: .././mainapp.py:20991
+#: .././mainapp.py:21367
msgid "Are you sure you want to clear downloaded videos?"
msgstr ""
-#: .././mainapp.py:21088 .././mainwin.py:16836
+#: .././mainapp.py:21464 .././mainwin.py:17152
msgid "Only checked/downloaded videos can be processed by FFmpeg"
msgstr ""
-#: .././mainapp.py:21195
+#: .././mainapp.py:21571
msgid "No destination(s) to show"
msgstr ""
-#: .././mainapp.py:21242
+#: .././mainapp.py:21618
msgid "No video(s) have been downloaded"
msgstr ""
#. Prompt for confirmation
-#: .././mainapp.py:21369
+#: .././mainapp.py:21745
msgid "Are you sure you want to remove the selected item(s)?"
msgstr ""
-#: .././mainapp.py:22141
+#: .././mainapp.py:22517
msgid "You must give the channel a name"
msgstr ""
-#: .././mainapp.py:22159 .././mainapp.py:22438
+#: .././mainapp.py:22535 .././mainapp.py:22814
msgid "You must enter a valid URL"
msgstr ""
-#: .././mainapp.py:22186 .././mainapp.py:22314 .././mainapp.py:22464
+#: .././mainapp.py:22562 .././mainapp.py:22690 .././mainapp.py:22840
msgid "That name is not permitted on your system"
msgstr ""
-#: .././mainapp.py:22284
+#: .././mainapp.py:22660
msgid "You must give the folder a name"
msgstr ""
-#: .././mainapp.py:22420
+#: .././mainapp.py:22796
msgid "You must give the playlist a name"
msgstr ""
-#: .././mainapp.py:22645
+#: .././mainapp.py:23021
msgid "There were no livestream alerts to cancel"
msgstr ""
-#: .././mainapp.py:22647
+#: .././mainapp.py:23023
msgid "Livestream alerts for 1 video were cancelled"
msgstr "Livestream alerts for 1 video were canceled"
-#: .././mainapp.py:22650
+#: .././mainapp.py:23026
#, python-brace-format
msgid "Livestream alerts for {0} videos were cancelled"
msgstr "Livestream alerts for {0} videos were canceled"
-#: .././mainapp.py:23063
+#: .././mainapp.py:23456
msgid ""
"Before trying to reset channel/playlist names, you must check or download at "
"one least one video from each!"
msgstr ""
-#: .././mainapp.py:23140
+#: .././mainapp.py:23533
msgid "All Tartube data has been saved"
msgstr ""
-#: .././mainapp.py:23167
+#: .././mainapp.py:23560
msgid "Database saved"
msgstr ""
-#: .././mainapp.py:23464 .././mainwin.py:15720
+#: .././mainapp.py:23857 .././mainwin.py:15964
msgid ""
"Files cannot be recovered, after being deleted. Are you sure you want to "
"continue?"
@@ -815,303 +815,307 @@ msgstr ""
#. Because livestream operations run silently in the background, when
#. the user goes to the trouble of clicking a menu item in the
#. main window's menu, tell them why nothing is happening
-#: .././mainapp.py:23501
+#: .././mainapp.py:23894
msgid "Cannot update existing livestreams because"
msgstr ""
-#: .././mainapp.py:23503
+#: .././mainapp.py:23896
msgid "there is another operation running"
msgstr ""
-#: .././mainapp.py:23505
+#: .././mainapp.py:23898
msgid "they are currently being updated"
msgstr ""
-#: .././mainapp.py:23507
+#: .././mainapp.py:23900
msgid "one or more configuration windows are open"
msgstr ""
-#: .././mainapp.py:23509
+#: .././mainapp.py:23902
msgid "there are no livestreams to update"
msgstr ""
-#: .././mainapp.py:23574
+#: .././mainapp.py:23967
msgid "There is already a channel with that name"
msgstr ""
-#: .././mainapp.py:23576
+#: .././mainapp.py:23969
msgid "There is already a playlist with that name"
msgstr ""
-#: .././mainapp.py:23578
+#: .././mainapp.py:23971
msgid "There is already a folder with that name"
msgstr ""
-#: .././mainapp.py:23581
+#: .././mainapp.py:23974
msgid "(so please choose a different name)"
msgstr ""
-#: .././mainwin.py:984
+#: .././mainwin.py:988
msgid "Tartube cannot start because it cannot find its icons folder"
msgstr ""
#. File column
-#: .././mainwin.py:1262 .././config.py:10351
+#: .././mainwin.py:1266 .././config.py:10390
msgid "_File"
msgstr ""
-#: .././mainwin.py:1269
+#: .././mainwin.py:1273
msgid "_Database preferences..."
msgstr ""
-#: .././mainwin.py:1275
+#: .././mainwin.py:1279
msgid "_Check database integrity"
msgstr ""
-#: .././mainwin.py:1284
+#: .././mainwin.py:1288
msgid "_Save database"
msgstr ""
-#: .././mainwin.py:1290
+#: .././mainwin.py:1294
msgid "Save _all"
msgstr ""
-#: .././mainwin.py:1299
-msgid "_Close to tray"
+#: .././mainwin.py:1303
+msgid "Close to _tray"
msgstr ""
#. Quit
-#: .././mainwin.py:1304 .././mainwin.py:25743
+#: .././mainwin.py:1308 .././mainwin.py:26142
msgid "_Quit"
msgstr ""
#. Edit column
-#: .././mainwin.py:1309
+#: .././mainwin.py:1313
msgid "_Edit"
msgstr ""
-#: .././mainwin.py:1316
+#: .././mainwin.py:1320
msgid "_System preferences..."
msgstr ""
-#: .././mainwin.py:1322
+#: .././mainwin.py:1326
msgid "_General download options..."
msgstr ""
#. Separator
-#: .././mainwin.py:1331
+#: .././mainwin.py:1335
msgid "_System"
msgstr ""
-#: .././mainwin.py:1338
-msgid "_Open MSYS2 terminal..."
+#: .././mainwin.py:1342
+msgid "Open _MSYS2 terminal..."
msgstr ""
-#: .././mainwin.py:1347
+#: .././mainwin.py:1351
msgid "Show Tartube _install folder"
msgstr ""
-#: .././mainwin.py:1355
+#: .././mainwin.py:1359
msgid "Show Tartube _script folder"
msgstr ""
#. Media column
-#: .././mainwin.py:1361 .././config.py:18033
+#: .././mainwin.py:1365 .././config.py:18225
msgid "_Media"
msgstr ""
-#: .././mainwin.py:1368
+#: .././mainwin.py:1372
msgid "Add _videos..."
msgstr ""
-#: .././mainwin.py:1374
+#: .././mainwin.py:1378
msgid "Add _channel..."
msgstr ""
-#: .././mainwin.py:1380
+#: .././mainwin.py:1384
msgid "Add _playlist..."
msgstr ""
-#: .././mainwin.py:1386
+#: .././mainwin.py:1390
msgid "Add _folder..."
msgstr ""
-#: .././mainwin.py:1395
+#: .././mainwin.py:1399
msgid "_Add many channels/playlists..."
msgstr ""
-#: .././mainwin.py:1401
+#: .././mainwin.py:1405
msgid "_Reset channel/playlist names..."
msgstr ""
-#: .././mainwin.py:1414
+#: .././mainwin.py:1418
msgid "_Export from database..."
msgstr ""
-#: .././mainwin.py:1420
+#: .././mainwin.py:1424
msgid "_Import into database..."
msgstr ""
-#: .././mainwin.py:1426
+#: .././mainwin.py:1430
msgid "Import _YouTube subscriptions..."
msgstr ""
-#: .././mainwin.py:1434
+#: .././mainwin.py:1438
msgid "_Export/import"
msgstr ""
-#: .././mainwin.py:1442
+#: .././mainwin.py:1446
msgid "_Switch between views"
msgstr ""
-#: .././mainwin.py:1452
+#: .././mainwin.py:1456
msgid "_Hide (most) system folders"
msgstr ""
-#: .././mainwin.py:1460
-msgid "Sh_ow hidden folders"
+#: .././mainwin.py:1464
+msgid "_Show hidden folders"
msgstr ""
-#: .././mainwin.py:1465
-msgid "_Show/hide"
+#: .././mainwin.py:1469
+msgid "S_how/hide"
msgstr ""
-#: .././mainwin.py:1471
+#: .././mainwin.py:1475
msgid "_Unmark channels/playlists/folders"
msgstr ""
-#: .././mainwin.py:1487
-msgid "_Add test media"
+#: .././mainwin.py:1491
+msgid "Ad_d test media"
msgstr ""
-#: .././mainwin.py:1495
-msgid "_Run test code"
+#: .././mainwin.py:1499
+msgid "Run _test code"
msgstr ""
#. Operations column
#. Add this tab...
-#: .././mainwin.py:1501 .././config.py:21816
+#: .././mainwin.py:1505 .././config.py:22134
msgid "_Operations"
msgstr ""
#. Check all
-#: .././mainwin.py:1508 .././mainwin.py:25714
+#: .././mainwin.py:1512 .././mainwin.py:26113
msgid "_Check all"
msgstr ""
#. Download all
-#: .././mainwin.py:1514 .././mainwin.py:25721
+#: .././mainwin.py:1518 .././mainwin.py:26120
msgid "_Download all"
msgstr ""
-#: .././mainwin.py:1521
+#: .././mainwin.py:1525
msgid "C_ustom download all"
msgstr ""
-#: .././mainwin.py:1529
+#: .././mainwin.py:1533
msgid "_Refresh database..."
msgstr ""
-#: .././mainwin.py:1539
+#: .././mainwin.py:1543
msgid "U_pdate"
msgstr ""
-#: .././mainwin.py:1545 .././mainwin.py:4045
+#: .././mainwin.py:1549 .././mainwin.py:4099
msgid "_Test"
msgstr ""
-#: .././mainwin.py:1556
-msgid "_Install FFmpeg..."
+#: .././mainwin.py:1560
+msgid "Install _FFmpeg..."
msgstr ""
-#: .././mainwin.py:1564
-msgid "_Install matplotlib..."
+#: .././mainwin.py:1568
+msgid "Install _matplotlib..."
msgstr ""
-#: .././mainwin.py:1575
+#: .././mainwin.py:1576
+msgid "Install _streamlink..."
+msgstr ""
+
+#: .././mainwin.py:1587
msgid "Tidy up _files..."
msgstr ""
-#: .././mainwin.py:1586 .././mainwin.py:25732
+#: .././mainwin.py:1598 .././mainwin.py:26131
msgid "_Stop current operation"
msgstr ""
-#: .././mainwin.py:1594
-msgid "_Stop after current videos"
+#: .././mainwin.py:1606
+msgid "Stop _after current videos"
msgstr ""
#. Livestreams column
-#: .././mainwin.py:1602
+#: .././mainwin.py:1614
msgid "_Livestreams"
msgstr ""
-#: .././mainwin.py:1609
+#: .././mainwin.py:1621
msgid "_Livestream preferences..."
msgstr ""
-#: .././mainwin.py:1618
+#: .././mainwin.py:1630
msgid "_Update existing livestreams"
msgstr ""
-#: .././mainwin.py:1623
+#: .././mainwin.py:1635
msgid "_Cancel all livestream alerts"
msgstr ""
#. Help column
-#: .././mainwin.py:1628
+#: .././mainwin.py:1640
msgid "_Help"
msgstr ""
-#: .././mainwin.py:1634
+#: .././mainwin.py:1646
msgid "_About..."
msgstr ""
-#: .././mainwin.py:1642
+#: .././mainwin.py:1654
msgid "Check for _updates"
msgstr ""
-#: .././mainwin.py:1648
+#: .././mainwin.py:1660
msgid "Go to _website"
msgstr ""
-#: .././mainwin.py:1657
+#: .././mainwin.py:1669
msgid "Send _feedback"
msgstr ""
-#: .././mainwin.py:1701
+#: .././mainwin.py:1713
msgid "Add new video(s)"
msgstr ""
-#: .././mainwin.py:1710 .././mainwin.py:24071 .././media.py:82
+#: .././mainwin.py:1722 .././mainwin.py:24470 .././media.py:82
msgid "Channel"
msgstr ""
-#: .././mainwin.py:1720
+#: .././mainwin.py:1732
msgid "Add a new channel"
msgstr ""
-#: .././mainwin.py:1731 .././mainwin.py:24073 .././media.py:84
+#: .././mainwin.py:1743 .././mainwin.py:24472 .././media.py:84
msgid "Playlist"
msgstr ""
-#: .././mainwin.py:1741
+#: .././mainwin.py:1753
msgid "Add a new playlist"
msgstr ""
-#: .././mainwin.py:1752 .././mainwin.py:24075 .././media.py:86
+#: .././mainwin.py:1764 .././mainwin.py:24474 .././media.py:86
msgid "Folder"
msgstr ""
-#: .././mainwin.py:1762
+#: .././mainwin.py:1774
msgid "Add a new folder"
msgstr ""
-#: .././mainwin.py:1776 .././config.py:21626
+#: .././mainwin.py:1788 .././config.py:21944
msgid "Check"
msgstr ""
-#: .././mainwin.py:1787 .././mainwin.py:2034 .././mainwin.py:4584
-#: .././mainwin.py:4882
+#: .././mainwin.py:1799 .././mainwin.py:2046 .././mainwin.py:4652
+#: .././mainwin.py:4843 .././mainwin.py:5002
msgid "Check all videos, channels, playlists and folders"
msgstr ""
@@ -1121,318 +1125,327 @@ msgstr ""
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
#. Link not clickable
-#: .././mainwin.py:1797 .././mainwin.py:21961 .././mainwin.py:21973
-#: .././mainwin.py:21978 .././mainwin.py:21986 .././mainwin.py:22255
-#: .././mainwin.py:22267 .././mainwin.py:22951 .././mainwin.py:24254
-#: .././mainwin.py:24266 .././mainwin.py:24292 .././config.py:21502
-#: .././config.py:21628
+#: .././mainwin.py:1809 .././mainwin.py:22340 .././mainwin.py:22352
+#: .././mainwin.py:22357 .././mainwin.py:22365 .././mainwin.py:22651
+#: .././mainwin.py:22663 .././mainwin.py:23347 .././mainwin.py:24653
+#: .././mainwin.py:24665 .././mainwin.py:24691 .././config.py:21820
+#: .././config.py:21946
msgid "Download"
msgstr ""
-#: .././mainwin.py:1808 .././mainwin.py:2042 .././mainwin.py:4598
-#: .././mainwin.py:4898
+#: .././mainwin.py:1820 .././mainwin.py:2054 .././mainwin.py:4666
+#: .././mainwin.py:5018
msgid "Download all videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:1823 .././config.py:11036 .././config.py:11221
-#: .././config.py:11676 .././config.py:11883 .././config.py:14343
-#: .././config.py:14524
+#: .././mainwin.py:1835 .././config.py:11075 .././config.py:11260
+#: .././config.py:11715 .././config.py:11922 .././config.py:14382
+#: .././config.py:14563
msgid "Stop"
msgstr ""
-#: .././mainwin.py:1835
+#: .././mainwin.py:1847
msgid "Stop the current operation"
msgstr ""
-#: .././mainwin.py:1847
+#: .././mainwin.py:1859
msgid "Switch"
msgstr ""
-#: .././mainwin.py:1858
+#: .././mainwin.py:1870
msgid "Switch between simple and complex views"
msgstr ""
-#: .././mainwin.py:1871 .././mainwin.py:4086
+#: .././mainwin.py:1883 .././mainwin.py:4140
msgid "Hide"
msgstr ""
-#: .././mainwin.py:1873 .././mainwin.py:4093
+#: .././mainwin.py:1885 .././mainwin.py:4147
msgid "Show"
msgstr ""
-#: .././mainwin.py:1885 .././mainwin.py:4088
+#: .././mainwin.py:1897 .././mainwin.py:4142
msgid "Hide (most) system folders"
msgstr ""
-#: .././mainwin.py:1889 .././mainwin.py:4095
+#: .././mainwin.py:1901 .././mainwin.py:4149
msgid "Show all system folders"
msgstr ""
-#: .././mainwin.py:1904
+#: .././mainwin.py:1916
msgid "Quit"
msgstr ""
-#: .././mainwin.py:1914
+#: .././mainwin.py:1926
msgid "Close Tartube"
msgstr ""
-#: .././mainwin.py:1933 .././config.py:4869 .././config.py:12097
-#: .././config.py:19721 .././config.py:20716
+#: .././mainwin.py:1945 .././config.py:4869 .././config.py:12136
+#: .././config.py:19947 .././config.py:21026
msgid "_Videos"
msgstr ""
-#: .././mainwin.py:1941
+#: .././mainwin.py:1953
msgid "_Progress"
msgstr ""
-#: .././mainwin.py:1949
+#: .././mainwin.py:1961
msgid "_Classic Mode"
msgstr ""
-#: .././mainwin.py:1958
+#: .././mainwin.py:1970
msgid "_Drag and Drop"
msgstr ""
-#: .././mainwin.py:1967
+#: .././mainwin.py:1979
msgid "_Output"
msgstr ""
-#: .././mainwin.py:1976 .././config.py:15291 .././config.py:16513
+#: .././mainwin.py:1988 .././config.py:15330 .././config.py:16578
msgid "_Errors / Warnings"
msgstr ""
-#: .././mainwin.py:2032 .././mainwin.py:4582 .././mainwin.py:4880
+#: .././mainwin.py:2044 .././mainwin.py:4650 .././mainwin.py:4841
+#: .././mainwin.py:5000
msgid "Check all"
msgstr ""
-#: .././mainwin.py:2040 .././mainwin.py:3488 .././mainwin.py:4596
-#: .././mainwin.py:18673
+#: .././mainwin.py:2052 .././mainwin.py:3542 .././mainwin.py:4664
+#: .././mainwin.py:19002
msgid "Download all"
msgstr ""
-#: .././mainwin.py:2058 .././mainwin.py:3492 .././mainwin.py:4620
-#: .././mainwin.py:18664
+#: .././mainwin.py:2070 .././mainwin.py:3546 .././mainwin.py:4688
+#: .././mainwin.py:18993
msgid "Custom download all"
msgstr ""
-#: .././mainwin.py:2061 .././mainwin.py:4623 .././mainwin.py:4923
+#: .././mainwin.py:2073 .././mainwin.py:4691 .././mainwin.py:5043
msgid ""
"Perform a custom download of all videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:2078 .././mainwin.py:4650 .././mainwin.py:4940
+#: .././mainwin.py:2090 .././mainwin.py:4718 .././mainwin.py:5060
msgid "Select the custom download to use"
msgstr ""
-#: .././mainwin.py:2135
+#: .././mainwin.py:2147
msgid "Page"
msgstr ""
-#: .././mainwin.py:2146
+#: .././mainwin.py:2158
msgid "Set visible page"
msgstr ""
-#: .././mainwin.py:2176 .././mainwin.py:2649 .././mainwin.py:2735
-#: .././mainwin.py:3273
+#: .././mainwin.py:2188 .././mainwin.py:2691 .././mainwin.py:2777
+#: .././mainwin.py:3327
msgid "Size"
msgstr ""
-#: .././mainwin.py:2186
+#: .././mainwin.py:2198
msgid "Set page size"
msgstr ""
-#: .././mainwin.py:2209
+#: .././mainwin.py:2221
msgid "Go to first page"
msgstr ""
-#: .././mainwin.py:2224
+#: .././mainwin.py:2236
msgid "Go to previous page"
msgstr ""
-#: .././mainwin.py:2241
+#: .././mainwin.py:2253
msgid "Go to next page"
msgstr ""
-#: .././mainwin.py:2256
+#: .././mainwin.py:2268
msgid "Go to last page"
msgstr ""
-#: .././mainwin.py:2271
+#: .././mainwin.py:2283
msgid "Scroll up"
msgstr ""
-#: .././mainwin.py:2286
+#: .././mainwin.py:2298
msgid "Scroll down"
msgstr ""
-#: .././mainwin.py:2305 .././mainwin.py:5104
+#: .././mainwin.py:2317 .././mainwin.py:5224
msgid "Show more settings"
msgstr ""
-#: .././mainwin.py:2318
+#: .././mainwin.py:2330
msgid "Sort"
msgstr ""
-#: .././mainwin.py:2324 .././config.py:14064
+#: .././mainwin.py:2336 .././config.py:14103
msgid "Upload time"
msgstr ""
-#: .././mainwin.py:2325 .././mainwin.py:26123 .././mainwin.py:29622
-#: .././config.py:3009 .././config.py:12121 .././config.py:20023
-#: .././config.py:21502 .././config.py:22477 .././config.py:24433
-#: .././config.py:24713
+#: .././mainwin.py:2337 .././mainwin.py:26522 .././mainwin.py:30023
+#: .././config.py:3009 .././config.py:12160 .././config.py:20333
+#: .././config.py:21820 .././config.py:22851 .././config.py:24928
+#: .././config.py:25208
msgid "Name"
msgstr ""
-#: .././mainwin.py:2326
+#: .././mainwin.py:2338
msgid "Download time"
msgstr ""
-#: .././mainwin.py:2327
+#: .././mainwin.py:2339
msgid "Database ID"
msgstr ""
-#: .././mainwin.py:2354
+#: .././mainwin.py:2366
msgid "Resort videos"
msgstr ""
-#: .././mainwin.py:2367
+#: .././mainwin.py:2379
msgid "Find date"
msgstr ""
-#: .././mainwin.py:2380
+#: .././mainwin.py:2392
msgid "Find videos by date"
msgstr ""
-#: .././mainwin.py:2397
+#: .././mainwin.py:2409
msgid "Cancel find videos by date"
msgstr ""
-#: .././mainwin.py:2410 .././mainwin.py:3862 .././config.py:14769
+#: .././mainwin.py:2422
+msgid "Thumbnail size"
+msgstr ""
+
+#: .././mainwin.py:2451 .././mainwin.py:3916 .././config.py:14808
msgid "Filter"
msgstr ""
-#: .././mainwin.py:2418 .././mainwin.py:3868 .././config.py:14779
+#: .././mainwin.py:2459 .././mainwin.py:3922 .././config.py:14818
msgid "Enter search text"
msgstr ""
-#: .././mainwin.py:2423 .././mainwin.py:3870 .././config.py:14782
+#: .././mainwin.py:2464 .././mainwin.py:3924 .././config.py:14821
msgid "Regex"
msgstr ""
-#: .././mainwin.py:2431 .././mainwin.py:3873
+#: .././mainwin.py:2472 .././mainwin.py:3927
msgid "Select if search text is a regex"
msgstr ""
-#: .././mainwin.py:2447
+#: .././mainwin.py:2488
msgid "Names"
msgstr ""
-#: .././mainwin.py:2461
+#: .././mainwin.py:2502
msgid "Descriptions"
msgstr ""
-#: .././mainwin.py:2475 .././config.py:14682
+#: .././mainwin.py:2516 .././config.py:14721
msgid "Comments"
msgstr ""
-#: .././mainwin.py:2495
+#: .././mainwin.py:2536
msgid "Filter videos"
msgstr ""
-#: .././mainwin.py:2512 .././mainwin.py:3927
+#: .././mainwin.py:2553 .././mainwin.py:3981
msgid "Cancel filter"
msgstr ""
-#: .././mainwin.py:2525
-msgid "Thumbnail size"
+#: .././mainwin.py:2569
+msgid "Draw frames"
+msgstr ""
+
+#: .././mainwin.py:2583
+msgid "Draw icons"
msgstr ""
-#: .././mainwin.py:2557
-msgid "Show frames"
+#: .././mainwin.py:2597
+msgid "Show downloaded"
msgstr ""
-#: .././mainwin.py:2571
-msgid "Show icons"
+#: .././mainwin.py:2612
+msgid "Show undownloaded"
msgstr ""
-#: .././mainwin.py:2585
-msgid "Show blocked videos"
+#: .././mainwin.py:2627
+msgid "Show blocked"
msgstr ""
-#: .././mainwin.py:2642
+#: .././mainwin.py:2684
msgid "TRANSLATOR'S NOTE: Ext is short for a file extension, e.g. .EXE"
msgstr ""
-#: .././mainwin.py:2647 .././mainwin.py:3271 .././config.py:10493
+#: .././mainwin.py:2689 .././mainwin.py:3325 .././config.py:10532
msgid "Source"
msgstr ""
-#: .././mainwin.py:2647 .././mainwin.py:3271
+#: .././mainwin.py:2689 .././mainwin.py:3325
msgid "Status"
msgstr ""
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Incoming file"
msgstr ""
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Ext"
msgstr ""
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Speed"
msgstr ""
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "ETA"
msgstr ""
-#: .././mainwin.py:2735 .././config.py:16239
+#: .././mainwin.py:2777 .././config.py:16279
msgid "New videos"
msgstr ""
-#: .././mainwin.py:2735 .././config.py:440 .././config.py:14034
+#: .././mainwin.py:2777 .././config.py:440 .././config.py:14073
msgid "Duration"
msgstr ""
-#: .././mainwin.py:2736
+#: .././mainwin.py:2778
msgid "Date"
msgstr ""
-#: .././mainwin.py:2736 .././config.py:13905
+#: .././mainwin.py:2778 .././config.py:13944
msgid "File"
msgstr ""
-#: .././mainwin.py:2736
+#: .././mainwin.py:2778
msgid "Downloaded to"
msgstr ""
-#: .././mainwin.py:2797
+#: .././mainwin.py:2839
msgid "Max downloads"
msgstr ""
-#: .././mainwin.py:2820
+#: .././mainwin.py:2862
msgid "D/L speed (KiB/s)"
msgstr ""
-#: .././mainwin.py:2844 .././mainwin.py:5309
+#: .././mainwin.py:2886 .././mainwin.py:5429
msgid "Alternative limits do not currently apply"
msgstr ""
-#: .././mainwin.py:2855 .././config.py:5272
+#: .././mainwin.py:2897 .././config.py:5274
msgid "Video resolution"
msgstr ""
-#: .././mainwin.py:2890
+#: .././mainwin.py:2932
msgid "Hide rows when they are finished"
msgstr ""
-#: .././mainwin.py:2903
+#: .././mainwin.py:2945
msgid "Add newest videos to the top of the list"
msgstr ""
-#: .././mainwin.py:2988
+#: .././mainwin.py:3030
msgid "Open the Classic Mode menu"
msgstr ""
@@ -1440,7 +1453,7 @@ msgstr ""
#. enabled, URLs are automatically copied into this textview
#. --------------------------------------------------------------------
#. Initial widgets
-#: .././mainwin.py:2995 .././mainwin.py:26011
+#: .././mainwin.py:3037 .././mainwin.py:26410
msgid "Enter URLs below"
msgstr ""
@@ -1450,1004 +1463,1033 @@ msgstr ""
#. the specified destination and format
#. --------------------------------------------------------------------
#. Destination directory
-#: .././mainwin.py:3039
+#: .././mainwin.py:3081
msgid "Destination:"
msgstr ""
-#: .././mainwin.py:3076
+#: .././mainwin.py:3118
msgid "Add a new destination folder"
msgstr ""
-#: .././mainwin.py:3095
+#: .././mainwin.py:3137
msgid "Open the destination folder"
msgstr ""
#. Video/audio format
-#: .././mainwin.py:3100
+#: .././mainwin.py:3142
msgid "Format:"
msgstr ""
#. (Dummy items in the combo)
-#: .././mainwin.py:3104 .././mainwin.py:18439 .././config.py:22477
+#: .././mainwin.py:3146 .././mainwin.py:18755 .././config.py:22851
msgid "Default"
msgstr ""
-#: .././mainwin.py:3104 .././mainwin.py:18440
+#: .././mainwin.py:3146 .././mainwin.py:18756
msgid "Video:"
msgstr ""
-#: .././mainwin.py:3108 .././mainwin.py:18441
+#: .././mainwin.py:3150 .././mainwin.py:18757
msgid "Audio:"
msgstr ""
#. Video resolution
#. (Dummy items in the combo)
-#: .././mainwin.py:3137 .././mainwin.py:18941
+#: .././mainwin.py:3179 .././mainwin.py:19270
msgid "Highest"
msgstr ""
-#: .././mainwin.py:3168
-msgid "Convert to this format (requires FFmpeg)"
+#: .././mainwin.py:3210
+msgid "Convert to this format"
msgstr ""
-#: .././mainwin.py:3177
+#: .././mainwin.py:3219
msgid "Download in this format"
msgstr ""
-#: .././mainwin.py:3207
+#: .././mainwin.py:3232 .././config.py:5244
+msgid "Is a livestream"
+msgstr ""
+
+#: .././mainwin.py:3261
msgid "Add URLs"
msgstr ""
-#: .././mainwin.py:3213
+#: .././mainwin.py:3267
msgid "Add these URLs"
msgstr ""
-#: .././mainwin.py:3326
+#: .././mainwin.py:3380
msgid "Play video"
msgstr ""
-#: .././mainwin.py:3349
+#: .././mainwin.py:3403
msgid "Open destination(s)"
msgstr ""
-#: .././mainwin.py:3367
+#: .././mainwin.py:3421
msgid "Stop download"
msgstr ""
-#: .././mainwin.py:3388
+#: .././mainwin.py:3442
msgid "Re-download"
msgstr ""
-#: .././mainwin.py:3401
+#: .././mainwin.py:3455
msgid ""
"Allow downloader to create an archive file (enable this only when "
"downloading channels and playlists)"
msgstr ""
-#: .././mainwin.py:3431
+#: .././mainwin.py:3485
msgid "Process with FFmpeg"
msgstr ""
#. (Signal connect appears below)
-#: .././mainwin.py:3447 .././config.py:6506 .././config.py:19493
-#: .././config.py:21567
+#: .././mainwin.py:3501 .././config.py:6531 .././config.py:19719
+#: .././config.py:21885
msgid "Move up"
msgstr ""
#. (Signal connect appears below)
-#: .././mainwin.py:3468 .././config.py:6510 .././config.py:19502
-#: .././config.py:21576
+#: .././mainwin.py:3522 .././config.py:6535 .././config.py:19728
+#: .././config.py:21894
msgid "Move down"
msgstr ""
-#: .././mainwin.py:3484
+#: .././mainwin.py:3538
msgid "Remove from list"
msgstr ""
-#: .././mainwin.py:3500 .././mainwin.py:18676
+#: .././mainwin.py:3554 .././mainwin.py:19005
msgid "Download the URLs above"
msgstr ""
-#: .././mainwin.py:3504 .././mainwin.py:18667
+#: .././mainwin.py:3558 .././mainwin.py:18996
msgid "Perform a custom download on the URLs above"
msgstr ""
-#: .././mainwin.py:3508
+#: .././mainwin.py:3562
msgid "Clear all"
msgstr ""
-#: .././mainwin.py:3520 .././mainwin.py:3531
+#: .././mainwin.py:3574 .././mainwin.py:3585
msgid "Clear the URLs above"
msgstr ""
-#: .././mainwin.py:3524
+#: .././mainwin.py:3578
msgid "Clear downloaded"
msgstr ""
-#: .././mainwin.py:3577
+#: .././mainwin.py:3631
msgid "When you drag a video here, it is added to the Classic Mode tab"
msgstr ""
-#: .././mainwin.py:3586
+#: .././mainwin.py:3640
msgid "Each zone represents a set of download options"
msgstr ""
-#: .././mainwin.py:3596
+#: .././mainwin.py:3650
msgid "Warning: Drag and drop does not work well on MS Windows"
msgstr ""
-#: .././mainwin.py:3617
+#: .././mainwin.py:3671
msgid "Add a new dropzone"
msgstr ""
-#: .././mainwin.py:3670
+#: .././mainwin.py:3724
msgid "Maximum page size"
msgstr ""
-#: .././mainwin.py:3726 .././config.py:21259
+#: .././mainwin.py:3780 .././config.py:21577
msgid "Show Tartube errors"
msgstr ""
-#: .././mainwin.py:3739 .././config.py:21267
+#: .././mainwin.py:3793 .././config.py:21585
msgid "Show Tartube warnings"
msgstr ""
-#: .././mainwin.py:3752 .././config.py:21275
+#: .././mainwin.py:3806 .././config.py:21593
msgid "Show operation errors"
msgstr ""
-#: .././mainwin.py:3770 .././config.py:21286
+#: .././mainwin.py:3824 .././config.py:21604
msgid "Show operation warnings"
msgstr ""
-#: .././mainwin.py:3793 .././config.py:21297
+#: .././mainwin.py:3847 .././config.py:21615
msgid "Show dates"
msgstr ""
-#: .././mainwin.py:3811 .././config.py:21308
+#: .././mainwin.py:3865 .././config.py:21626
msgid "Show channel/playlist/folder names"
msgstr ""
-#: .././mainwin.py:3829 .././config.py:21319
+#: .././mainwin.py:3883 .././config.py:21637
msgid "Show video names"
msgstr ""
-#: .././mainwin.py:3847 .././config.py:21330
+#: .././mainwin.py:3901 .././config.py:21648
msgid "Show full messages"
msgstr ""
-#: .././mainwin.py:3910
+#: .././mainwin.py:3964
msgid "Filter messages"
msgstr ""
-#: .././mainwin.py:3932 .././config.py:11133 .././config.py:11337
-#: .././config.py:11773 .././config.py:12000 .././config.py:14431
-#: .././config.py:14623 .././config.py:16367 .././config.py:18135
+#: .././mainwin.py:3986 .././config.py:11172 .././config.py:11376
+#: .././config.py:11812 .././config.py:12039 .././config.py:14470
+#: .././config.py:14662 .././config.py:16407 .././config.py:18327
msgid "Clear list"
msgstr ""
-#: .././mainwin.py:4465
+#: .././mainwin.py:4525
msgid "Checking..."
msgstr ""
-#: .././mainwin.py:4467
+#: .././mainwin.py:4527 .././mainwin.py:4864 .././formats.py:1183
+msgid "Checking"
+msgstr ""
+
+#: .././mainwin.py:4530
msgid "Downloading..."
msgstr ""
-#: .././mainwin.py:4469
+#: .././mainwin.py:4532 .././mainwin.py:4866 .././formats.py:1180
+msgid "Downloading"
+msgstr ""
+
+#: .././mainwin.py:4535
msgid "Refreshing..."
msgstr ""
-#: .././mainwin.py:4471
+#: .././mainwin.py:4538
msgid "Tidying..."
msgstr ""
-#: .././mainwin.py:4473
+#: .././mainwin.py:4541
msgid "FFmpeg processing..."
msgstr ""
-#: .././mainwin.py:4587 .././mainwin.py:4885
+#: .././mainwin.py:4655 .././mainwin.py:4846 .././mainwin.py:5005
msgid "Check marked items"
msgstr ""
-#: .././mainwin.py:4589 .././mainwin.py:4888
+#: .././mainwin.py:4657 .././mainwin.py:4848 .././mainwin.py:5008
msgid "Check marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4601
+#: .././mainwin.py:4669
msgid "Download marked items"
msgstr ""
-#: .././mainwin.py:4603 .././mainwin.py:4904
+#: .././mainwin.py:4671 .././mainwin.py:5024
msgid "Download marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4629
+#: .././mainwin.py:4697
msgid "Custom download marked items"
msgstr ""
-#: .././mainwin.py:4633
+#: .././mainwin.py:4701
msgid ""
"Perform a custom download of marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4852
+#: .././mainwin.py:4970
msgid "Installing FFmpeg"
msgstr ""
-#: .././mainwin.py:4854
+#: .././mainwin.py:4972
msgid "Installing matplotlib"
msgstr ""
-#: .././mainwin.py:4856
+#: .././mainwin.py:4974
+msgid "Installing streamlink"
+msgstr ""
+
+#: .././mainwin.py:4976
msgid "Updating downloader"
msgstr ""
-#: .././mainwin.py:4858
+#: .././mainwin.py:4978
msgid "Fetching formats"
msgstr ""
-#: .././mainwin.py:4860
+#: .././mainwin.py:4980
msgid "Fetching subtitles"
msgstr ""
-#: .././mainwin.py:4862
+#: .././mainwin.py:4982
msgid "Testing downloader"
msgstr ""
-#: .././mainwin.py:4864
+#: .././mainwin.py:4984
msgid "Contacting website"
msgstr ""
-#: .././mainwin.py:4933
+#: .././mainwin.py:5053
msgid ""
"Perform a custom download of marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:5134
+#: .././mainwin.py:5254
msgid "Show fewer settings"
msgstr ""
-#: .././mainwin.py:5299
+#: .././mainwin.py:5419
msgid "Alternative limits currently apply"
msgstr ""
-#: .././mainwin.py:5330
+#: .././mainwin.py:5450
msgid "This tab emulates the classic youtube-dl-gui interface"
msgstr ""
-#: .././mainwin.py:5335
+#: .././mainwin.py:5455
msgid "Videos downloaded here are not added to Tartube's database"
msgstr ""
-#: .././mainwin.py:5347 .././config.py:6440
+#: .././mainwin.py:5467 .././config.py:6465
msgid "If your preferred formats are not available, the download will fail!"
msgstr ""
-#: .././mainwin.py:5353
+#: .././mainwin.py:5473
msgid ""
"If you want a specific format, install FFMpeg and select 'Convert to this "
"format'!"
msgstr ""
-#: .././mainwin.py:5549
+#: .././mainwin.py:5669
msgid "_Check channel"
msgstr ""
-#: .././mainwin.py:5551
+#: .././mainwin.py:5671
msgid "_Check playlist"
msgstr ""
-#: .././mainwin.py:5553
+#: .././mainwin.py:5673
msgid "_Check folder"
msgstr ""
-#: .././mainwin.py:5574
+#: .././mainwin.py:5694
msgid "_Download channel"
msgstr ""
-#: .././mainwin.py:5576
+#: .././mainwin.py:5696
msgid "_Download playlist"
msgstr ""
-#: .././mainwin.py:5578
+#: .././mainwin.py:5698
msgid "_Download folder"
msgstr ""
-#: .././mainwin.py:5599
+#: .././mainwin.py:5719
msgid "C_ustom download channel"
msgstr ""
-#: .././mainwin.py:5601
+#: .././mainwin.py:5721
msgid "C_ustom download playlist"
msgstr ""
-#: .././mainwin.py:5603
+#: .././mainwin.py:5723
msgid "C_ustom download folder"
msgstr ""
-#: .././mainwin.py:5650
+#: .././mainwin.py:5770
msgid "_Empty folder"
msgstr ""
-#: .././mainwin.py:5662
+#: .././mainwin.py:5782
msgid "_All contents"
msgstr ""
-#: .././mainwin.py:5680
+#: .././mainwin.py:5800
msgid "_Remove videos"
msgstr ""
-#: .././mainwin.py:5692
+#: .././mainwin.py:5812
msgid "_Just folder videos"
msgstr ""
-#: .././mainwin.py:5698
-msgid "Channel co_ntents"
+#: .././mainwin.py:5818
+msgid "Channel c_ontents"
msgstr ""
-#: .././mainwin.py:5700
-msgid "Playlist co_ntents"
+#: .././mainwin.py:5820
+msgid "Playlist c_ontents"
msgstr ""
-#: .././mainwin.py:5702
-msgid "Folder co_ntents"
+#: .././mainwin.py:5822
+msgid "Folder c_ontents"
msgstr ""
-#: .././mainwin.py:5714
+#: .././mainwin.py:5834
msgid "_Move to top level"
msgstr ""
-#: .././mainwin.py:5732
+#: .././mainwin.py:5852
msgid "_Convert to playlist"
msgstr ""
-#: .././mainwin.py:5734
+#: .././mainwin.py:5854
msgid "_Convert to channel"
msgstr ""
-#: .././mainwin.py:5757
+#: .././mainwin.py:5877
msgid "_Hide folder"
msgstr ""
-#: .././mainwin.py:5767
+#: .././mainwin.py:5887
msgid "_Rename channel..."
msgstr ""
-#: .././mainwin.py:5769
+#: .././mainwin.py:5889
msgid "_Rename playlist..."
msgstr ""
-#: .././mainwin.py:5771
+#: .././mainwin.py:5891
msgid "_Rename folder..."
msgstr ""
-#: .././mainwin.py:5788
+#: .././mainwin.py:5908
msgid "Set _nickname..."
msgstr ""
-#: .././mainwin.py:5803
+#: .././mainwin.py:5923
msgid "Set _URL..."
msgstr ""
-#: .././mainwin.py:5815
+#: .././mainwin.py:5935
msgid "Set _download destination..."
msgstr ""
-#: .././mainwin.py:5833
+#: .././mainwin.py:5953
msgid "_Export channel..."
msgstr ""
-#: .././mainwin.py:5835
+#: .././mainwin.py:5955
msgid "_Export playlist..."
msgstr ""
-#: .././mainwin.py:5837
+#: .././mainwin.py:5957
msgid "_Export folder..."
msgstr ""
-#: .././mainwin.py:5850
+#: .././mainwin.py:5970
msgid "Re_fresh channel"
msgstr ""
-#: .././mainwin.py:5852
+#: .././mainwin.py:5972
msgid "Re_fresh playlist"
msgstr ""
-#: .././mainwin.py:5854
+#: .././mainwin.py:5974
msgid "Re_fresh folder"
msgstr ""
-#: .././mainwin.py:5871
+#: .././mainwin.py:5991
msgid "_Tidy up channel"
msgstr ""
-#: .././mainwin.py:5873
+#: .././mainwin.py:5993
msgid "_Tidy up playlist"
msgstr ""
-#: .././mainwin.py:5875
+#: .././mainwin.py:5995
msgid "_Tidy up folder"
msgstr ""
-#: .././mainwin.py:5892
-msgid "Add to _Classic Mode tab"
+#: .././mainwin.py:6012 .././mainwin.py:6654 .././mainwin.py:8551
+msgid "Add to C_lassic Mode tab"
msgstr ""
-#: .././mainwin.py:5906
+#: .././mainwin.py:6026
msgid "Channel _actions"
msgstr ""
-#: .././mainwin.py:5908
+#: .././mainwin.py:6028
msgid "Playlist _actions"
msgstr ""
-#: .././mainwin.py:5910
+#: .././mainwin.py:6030
msgid "Folder _actions"
msgstr ""
-#: .././mainwin.py:5930 .././mainwin.py:6687
+#: .././mainwin.py:6050 .././mainwin.py:6853
msgid "_Apply download options..."
msgstr ""
-#: .././mainwin.py:5948 .././mainwin.py:6701
+#: .././mainwin.py:6068 .././mainwin.py:6867
msgid "_Remove download options"
msgstr ""
-#: .././mainwin.py:5964 .././mainwin.py:6713
+#: .././mainwin.py:6084 .././mainwin.py:6879
msgid "_Edit download options..."
msgstr ""
-#: .././mainwin.py:5980
-msgid "Add to s_cheduled download..."
+#: .././mainwin.py:6100
+msgid "Add to _scheduled download..."
msgstr ""
-#: .././mainwin.py:5990
-msgid "_Show system command..."
+#: .././mainwin.py:6110
+msgid "Show system _command..."
msgstr ""
-#: .././mainwin.py:6009
+#: .././mainwin.py:6129
msgid "Set _removal time..."
msgstr ""
-#: .././mainwin.py:6022
+#: .././mainwin.py:6142
msgid "_Mark for checking/downloading"
msgstr ""
-#: .././mainwin.py:6043
+#: .././mainwin.py:6163
msgid "_Don't add videos to Tartube's database"
msgstr ""
-#: .././mainwin.py:6055
+#: .././mainwin.py:6175
msgid "D_isable checking/downloading"
msgstr ""
-#: .././mainwin.py:6067
+#: .././mainwin.py:6187
msgid "_Just disable downloading"
msgstr ""
-#: .././mainwin.py:6088 .././mainwin.py:6772
-msgid "D_ownloads"
+#: .././mainwin.py:6208
+msgid "Down_loads"
msgstr ""
-#: .././mainwin.py:6099
+#: .././mainwin.py:6219
msgid "Channel _properties..."
msgstr ""
-#: .././mainwin.py:6101
+#: .././mainwin.py:6221
msgid "Playlist _properties..."
msgstr ""
-#: .././mainwin.py:6103
+#: .././mainwin.py:6223
msgid "Folder _properties..."
msgstr ""
-#: .././mainwin.py:6119
+#: .././mainwin.py:6239
msgid "_Default location"
msgstr ""
-#: .././mainwin.py:6132
+#: .././mainwin.py:6252
msgid "_Actual location"
msgstr ""
-#: .././mainwin.py:6146
+#: .././mainwin.py:6266
msgid "_Show"
msgstr ""
-#: .././mainwin.py:6155
+#: .././mainwin.py:6275
msgid "D_elete channel"
msgstr ""
-#: .././mainwin.py:6157
+#: .././mainwin.py:6277
msgid "D_elete playlist"
msgstr ""
-#: .././mainwin.py:6159
+#: .././mainwin.py:6279
msgid "D_elete folder"
msgstr ""
-#: .././mainwin.py:6254
+#: .././mainwin.py:6375
msgid "_Check video"
msgstr ""
-#: .././mainwin.py:6278
+#: .././mainwin.py:6399
msgid "_Download video"
msgstr ""
-#: .././mainwin.py:6301
+#: .././mainwin.py:6422
msgid "Re-_download this video"
msgstr ""
-#: .././mainwin.py:6319
+#: .././mainwin.py:6440
msgid "C_ustom download video"
msgstr ""
-#: .././mainwin.py:6337 .././mainwin.py:6649
+#: .././mainwin.py:6458 .././mainwin.py:6815 .././mainwin.py:8613
msgid "Download and _watch"
msgstr ""
-#: .././mainwin.py:6357 .././mainwin.py:8250
+#: .././mainwin.py:6478 .././mainwin.py:8434
msgid "Watch in _player"
msgstr ""
-#: .././mainwin.py:6372 .././mainwin.py:6383 .././mainwin.py:8262
-#: .././mainwin.py:8280
-msgid "Watch on _website"
+#: .././mainwin.py:6496 .././mainwin.py:6517 .././mainwin.py:8465
+msgid "_Watch on website"
msgstr ""
-#: .././mainwin.py:6397 .././mainwin.py:8294
+#: .././mainwin.py:6506 .././mainwin.py:6530 .././mainwin.py:7634
+#: .././mainwin.py:8478
+#, python-brace-format
+msgid "_Watch on {0}"
+msgstr ""
+
+#: .././mainwin.py:6544 .././mainwin.py:8492
msgid "_YouTube"
msgstr ""
-#: .././mainwin.py:6407 .././mainwin.py:8304
+#: .././mainwin.py:6554 .././mainwin.py:8502
msgid "_HookTube"
msgstr ""
-#: .././mainwin.py:6417 .././mainwin.py:8314
+#: .././mainwin.py:6564 .././mainwin.py:8512
msgid "_Invidious"
msgstr ""
-#: .././mainwin.py:6427 .././mainwin.py:8324
+#: .././mainwin.py:6574 .././mainwin.py:8522
msgid "TRANSLATOR'S NOTE: Watch on YouTube, Watch on HookTube, etc"
msgstr ""
-#: .././mainwin.py:6432 .././mainwin.py:8329
+#: .././mainwin.py:6579 .././mainwin.py:8527
msgid "W_atch on"
msgstr ""
-#: .././mainwin.py:6446
-msgid "Create video cl_ip..."
+#: .././mainwin.py:6593
+msgid "_Create video clip..."
msgstr ""
-#: .././mainwin.py:6452
-msgid "Download video cl_ip..."
+#: .././mainwin.py:6599
+msgid "Download video clip..."
msgstr ""
-#: .././mainwin.py:6468
+#: .././mainwin.py:6615
msgid "_Remove video slices..."
msgstr ""
-#: .././mainwin.py:6483 .././mainwin.py:8350
+#: .././mainwin.py:6630 .././mainwin.py:8537
msgid "_Process with FFmpeg..."
msgstr ""
-#: .././mainwin.py:6497
+#: .././mainwin.py:6644
msgid "_Special"
msgstr ""
-#: .././mainwin.py:6507 .././mainwin.py:8364
-msgid "Add to C_lassic Mode tab"
-msgstr ""
-
-#: .././mainwin.py:6528
+#: .././mainwin.py:6675
msgid "Auto _notify"
msgstr ""
-#: .././mainwin.py:6544
+#: .././mainwin.py:6691
msgid "Auto _sound alarm"
msgstr ""
-#: .././mainwin.py:6559
+#: .././mainwin.py:6706
msgid "Auto _open"
msgstr ""
-#: .././mainwin.py:6572
+#: .././mainwin.py:6719
msgid "_Download on start"
msgstr ""
-#: .././mainwin.py:6587
+#: .././mainwin.py:6734
msgid "Download on _stop"
msgstr ""
-#: .././mainwin.py:6605
+#: .././mainwin.py:6752
msgid "Not a _livestream"
msgstr ""
-#: .././mainwin.py:6615
+#: .././mainwin.py:6762
+msgid "_Finalise livestream"
+msgstr ""
+
+#: .././mainwin.py:6781
msgid "_Livestream"
msgstr ""
-#: .././mainwin.py:6628 .././mainwin.py:8383
+#: .././mainwin.py:6794 .././mainwin.py:8591
msgid "_Mark for download"
msgstr ""
-#: .././mainwin.py:6639 .././mainwin.py:8395
+#: .././mainwin.py:6805 .././mainwin.py:8603
msgid "_Download"
msgstr ""
-#: .././mainwin.py:6659 .././mainwin.py:8416 .././config.py:20218
+#: .././mainwin.py:6825 .././mainwin.py:8624 .././config.py:20528
msgid "_Temporary"
msgstr ""
-#: .././mainwin.py:6729
-msgid "Show system _command"
+#: .././mainwin.py:6895
+msgid "_Show system command"
msgstr ""
-#: .././mainwin.py:6739
+#: .././mainwin.py:6905
msgid "_Test system command"
msgstr ""
-#: .././mainwin.py:6754
+#: .././mainwin.py:6920
msgid "_Disable downloads"
msgstr ""
-#: .././mainwin.py:6787
+#: .././mainwin.py:6938
+msgid "D_ownloads"
+msgstr ""
+
+#: .././mainwin.py:6953
msgid "Video is _archived"
msgstr ""
-#: .././mainwin.py:6800
+#: .././mainwin.py:6966
msgid "Video is _bookmarked"
msgstr ""
-#: .././mainwin.py:6811
+#: .././mainwin.py:6977
msgid "Video is _favourite"
msgstr ""
-#: .././mainwin.py:6822
+#: .././mainwin.py:6988
msgid "Video is _missing"
msgstr ""
-#: .././mainwin.py:6838
+#: .././mainwin.py:7004
msgid "Video is _new"
msgstr ""
-#: .././mainwin.py:6851
+#: .././mainwin.py:7017
msgid "Video is in _waiting list"
msgstr ""
-#: .././mainwin.py:6862
+#: .././mainwin.py:7028
msgid "_Mark video"
msgstr ""
-#: .././mainwin.py:6873
+#: .././mainwin.py:7039
msgid "_Location"
msgstr ""
-#: .././mainwin.py:6885
+#: .././mainwin.py:7051
msgid "_Properties..."
msgstr ""
-#: .././mainwin.py:6897
-msgid "_Show video"
+#: .././mainwin.py:7063
+msgid "S_how video"
msgstr ""
-#: .././mainwin.py:6906
+#: .././mainwin.py:7072
msgid "Available _formats"
msgstr ""
-#: .././mainwin.py:6916
+#: .././mainwin.py:7082
msgid "Available _subtitles"
msgstr ""
-#: .././mainwin.py:6926
+#: .././mainwin.py:7092
msgid "_Fetch"
msgstr ""
#. Delete video
-#: .././mainwin.py:6937
+#: .././mainwin.py:7103
msgid "D_elete video"
msgstr ""
#. Check/download videos
-#: .././mainwin.py:7041
+#: .././mainwin.py:7209
msgid "_Check videos"
msgstr ""
-#: .././mainwin.py:7061
+#: .././mainwin.py:7229
msgid "_Download videos"
msgstr ""
-#: .././mainwin.py:7084
+#: .././mainwin.py:7252
msgid "C_ustom download videos"
msgstr ""
-#: .././mainwin.py:7116
+#: .././mainwin.py:7284
msgid "_Archived"
msgstr ""
-#: .././mainwin.py:7127
+#: .././mainwin.py:7295
msgid "Not a_rchived"
msgstr ""
-#: .././mainwin.py:7141
+#: .././mainwin.py:7309
msgid "_Bookmarked"
msgstr ""
-#: .././mainwin.py:7152
+#: .././mainwin.py:7320
msgid "Not b_ookmarked"
msgstr ""
-#: .././mainwin.py:7166
+#: .././mainwin.py:7334
msgid "_Favourite"
msgstr "_Favorite"
-#: .././mainwin.py:7177
+#: .././mainwin.py:7345
msgid "Not fa_vourite"
msgstr "Not fa_vorite"
-#: .././mainwin.py:7191
+#: .././mainwin.py:7359
msgid "_Missing"
msgstr ""
-#: .././mainwin.py:7204
+#: .././mainwin.py:7372
msgid "Not m_issing"
msgstr ""
-#: .././mainwin.py:7220
+#: .././mainwin.py:7388
msgid "_New"
msgstr ""
-#: .././mainwin.py:7231
+#: .././mainwin.py:7399
msgid "Not n_ew"
msgstr ""
-#: .././mainwin.py:7245
+#: .././mainwin.py:7413
msgid "In _waiting list"
msgstr ""
-#: .././mainwin.py:7256
+#: .././mainwin.py:7424
msgid "Not in w_aiting list"
msgstr ""
-#: .././mainwin.py:7267
+#: .././mainwin.py:7435
msgid "_Mark videos"
msgstr ""
-#: .././mainwin.py:7276
+#: .././mainwin.py:7444
msgid "Show p_roperties..."
msgstr ""
#. Delete videos
-#: .././mainwin.py:7291
+#: .././mainwin.py:7459
msgid "D_elete videos"
msgstr ""
#. Stop check/download
-#: .././mainwin.py:7362
+#: .././mainwin.py:7532
msgid "_Stop now"
msgstr ""
-#: .././mainwin.py:7379
-msgid "Stop checking videos"
+#: .././mainwin.py:7549
+msgid "Stop checking _videos"
msgstr ""
-#: .././mainwin.py:7381
+#: .././mainwin.py:7551
msgid "Stop after this _video"
msgstr ""
-#: .././mainwin.py:7400
+#: .././mainwin.py:7570
msgid "Stop after these v_ideos"
msgstr ""
-#: .././mainwin.py:7415
+#: .././mainwin.py:7585
msgid "Download _next"
msgstr ""
-#: .././mainwin.py:7427
+#: .././mainwin.py:7597
msgid "Download _last"
msgstr ""
-#: .././mainwin.py:7450
-msgid "Watch on _YouTube"
+#: .././mainwin.py:7621
+msgid "_Watch on Website"
msgstr ""
-#: .././mainwin.py:7460
-msgid "Watch on _HookTube"
+#: .././mainwin.py:7646
+msgid "_Watch on YouTube"
msgstr ""
-#: .././mainwin.py:7470
-msgid "Watch on _Invidious"
+#: .././mainwin.py:7656
+msgid "Watch on _HookTube"
msgstr ""
-#: .././mainwin.py:7482
-msgid "Watch on _Website"
+#: .././mainwin.py:7666
+msgid "Watch on _Invidious"
msgstr ""
-#: .././mainwin.py:7578
+#: .././mainwin.py:7762
msgid "_Delete video(s)"
msgstr ""
-#: .././mainwin.py:7642
+#: .././mainwin.py:7826
msgid "Choose a custom download:"
msgstr ""
-#: .././mainwin.py:7715
+#: .././mainwin.py:7899
msgid "_Enable automatic copy/paste"
msgstr ""
-#: .././mainwin.py:7727
+#: .././mainwin.py:7911
msgid "_Remember URLs"
msgstr ""
-#: .././mainwin.py:7742
+#: .././mainwin.py:7926
msgid "_Set download options"
msgstr ""
-#: .././mainwin.py:7753
+#: .././mainwin.py:7937
msgid "Use _default download options"
msgstr ""
-#: .././mainwin.py:7765
-msgid "_Edit download options"
+#: .././mainwin.py:7949
+msgid "Edit download _options"
msgstr ""
-#: .././mainwin.py:7779
+#: .././mainwin.py:7963
msgid "Enable _custom downloads"
msgstr ""
-#: .././mainwin.py:7792
+#: .././mainwin.py:7976
msgid "Custom downloads _preferences..."
msgstr ""
-#: .././mainwin.py:7807 .././config.py:19854
+#: .././mainwin.py:7991 .././config.py:20164
msgid "_Update"
msgstr ""
-#: .././mainwin.py:7857
+#: .././mainwin.py:8041
msgid "_Play video"
msgstr ""
-#: .././mainwin.py:7869
+#: .././mainwin.py:8053
msgid "_Open destination(s)"
msgstr ""
-#: .././mainwin.py:7884
+#: .././mainwin.py:8068
msgid "_Re-download"
msgstr ""
-#: .././mainwin.py:7896
+#: .././mainwin.py:8080
msgid "_Stop download"
msgstr ""
-#: .././mainwin.py:7910
+#: .././mainwin.py:8094
msgid "Process with _FFmpeg"
msgstr ""
-#: .././mainwin.py:7927
+#: .././mainwin.py:8111
msgid "_Copy file path"
msgstr ""
#. Copy URL
-#: .././mainwin.py:7939
+#: .././mainwin.py:8123
msgid "Copy UR_L"
msgstr ""
-#: .././mainwin.py:7951
+#: .././mainwin.py:8135
msgid "Copy s_ystem command"
msgstr ""
-#: .././mainwin.py:7967
+#: .././mainwin.py:8151
msgid "Move _up"
msgstr ""
-#: .././mainwin.py:7979
+#: .././mainwin.py:8163
msgid "Move _down"
msgstr ""
-#: .././mainwin.py:7994
+#: .././mainwin.py:8178
msgid "Re_move from list"
msgstr ""
-#: .././mainwin.py:8033
+#: .././mainwin.py:8217
msgid "Mark as _archived"
msgstr ""
-#: .././mainwin.py:8044
+#: .././mainwin.py:8228
msgid "Mark as not a_rchived"
msgstr ""
-#: .././mainwin.py:8058
+#: .././mainwin.py:8242
msgid "Mark as _bookmarked"
msgstr ""
-#: .././mainwin.py:8070
+#: .././mainwin.py:8254
msgid "Mark as not b_ookmarked"
msgstr ""
-#: .././mainwin.py:8083
+#: .././mainwin.py:8267
msgid "Mark as _favourite"
msgstr "Mark as _favorite"
-#: .././mainwin.py:8096
+#: .././mainwin.py:8280
msgid "Mark as not fa_vourite"
msgstr "Mark as not fa_vorite"
-#: .././mainwin.py:8110
+#: .././mainwin.py:8294
msgid "Mark as _missing"
msgstr ""
-#: .././mainwin.py:8123
+#: .././mainwin.py:8307
msgid "Mark as not m_issing"
msgstr ""
-#: .././mainwin.py:8140
+#: .././mainwin.py:8324
msgid "Mark as _new"
msgstr ""
-#: .././mainwin.py:8152
+#: .././mainwin.py:8336
msgid "Mark as not n_ew"
msgstr ""
-#: .././mainwin.py:8166
+#: .././mainwin.py:8350
msgid "Mark as in _waiting list"
msgstr ""
-#: .././mainwin.py:8178
-msgid "Mark as not in wai_ting list"
+#: .././mainwin.py:8362
+msgid "Mark as not in waiting _list"
msgstr ""
-#: .././mainwin.py:8230
+#: .././mainwin.py:8414
msgid "D_ownload and watch"
msgstr ""
-#: .././mainwin.py:8339
+#: .././mainwin.py:8446
+msgid "Watch on _website"
+msgstr ""
+
+#: .././mainwin.py:8564
msgid "Mark as _not livestreams"
msgstr ""
-#: .././mainwin.py:8405
-msgid "_Download and watch"
+#: .././mainwin.py:8575
+msgid "_Finalise livestreams"
msgstr ""
-#: .././mainwin.py:9244
+#: .././mainwin.py:9452
msgid ""
"TRANSLATOR'S NOTE: V = number of videos B = (number of videos) bookmarked D "
"= downloaded F = favourite L = live/livestream M = missing N = new W = in "
"waiting list E = (number of) errors W = warnings"
msgstr ""
-#: .././mainwin.py:9251
+#: .././mainwin.py:9459
msgid "V:"
msgstr ""
-#: .././mainwin.py:9252
+#: .././mainwin.py:9460
msgid "B:"
msgstr ""
-#: .././mainwin.py:9253
+#: .././mainwin.py:9461
msgid "D:"
msgstr ""
-#: .././mainwin.py:9254
+#: .././mainwin.py:9462
msgid "F:"
msgstr ""
-#: .././mainwin.py:9255
+#: .././mainwin.py:9463
msgid "L:"
msgstr ""
-#: .././mainwin.py:9256
+#: .././mainwin.py:9464
msgid "M:"
msgstr ""
-#: .././mainwin.py:9257
+#: .././mainwin.py:9465
msgid "N:"
msgstr ""
-#: .././mainwin.py:9258 .././mainwin.py:9269
+#: .././mainwin.py:9466 .././mainwin.py:9477
msgid "W:"
msgstr ""
-#: .././mainwin.py:9268
+#: .././mainwin.py:9476
msgid "E:"
msgstr ""
@@ -2455,200 +2497,200 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:11298 .././mainwin.py:12103 .././mainwin.py:22358
-#: .././mainwin.py:22362 .././mainwin.py:22897 .././mainwin.py:24417
-#: .././mainwin.py:24421 .././mainwin.py:24642
+#: .././mainwin.py:11536 .././mainwin.py:12341 .././mainwin.py:22754
+#: .././mainwin.py:22758 .././mainwin.py:23293 .././mainwin.py:24816
+#: .././mainwin.py:24820 .././mainwin.py:25041
msgid "Waiting"
msgstr ""
-#: .././mainwin.py:12979
+#: .././mainwin.py:13220
msgid ""
"TRANSLATOR'S NOTE: Thread means a computer processor thread. If you're not "
"sure how to translate it, just use 'Page #', as in Page #1, Page #2, etc"
msgstr ""
-#: .././mainwin.py:12986
+#: .././mainwin.py:13227
msgid "Thread"
msgstr ""
-#: .././mainwin.py:12989
+#: .././mainwin.py:13230
msgid "_Summary"
msgstr ""
-#: .././mainwin.py:13428 .././config.py:14894 .././config.py:21502
+#: .././mainwin.py:13669 .././config.py:14933 .././config.py:21820
msgid "Time"
msgstr ""
-#: .././mainwin.py:13428
+#: .././mainwin.py:13669
msgid "Container"
msgstr ""
-#: .././mainwin.py:13428 .././config.py:12121 .././downloads.py:6900
+#: .././mainwin.py:13669 .././config.py:12160 .././downloads.py:7030
#: .././media.py:88
msgid "Video"
msgstr ""
-#: .././mainwin.py:13428 .././mainwin.py:13429
+#: .././mainwin.py:13669 .././mainwin.py:13670
msgid "Message"
msgstr ""
-#: .././mainwin.py:13676
+#: .././mainwin.py:13920
msgid "Tartube error"
msgstr ""
-#: .././mainwin.py:13680
+#: .././mainwin.py:13924
msgid "Tartube warning"
msgstr ""
-#: .././mainwin.py:13904
+#: .././mainwin.py:14148
msgid "_Errors"
msgstr ""
-#: .././mainwin.py:13908
+#: .././mainwin.py:14152
msgid "Warnings"
msgstr ""
-#: .././mainwin.py:14025
+#: .././mainwin.py:14269
msgid ""
"There are not scheduled downloads that don't already contain the channel/"
"playlist/folder"
msgstr ""
-#: .././mainwin.py:15432
+#: .././mainwin.py:15676
msgid "The external folder is not available"
msgstr ""
-#: .././mainwin.py:15434
+#: .././mainwin.py:15678
msgid "The external directory is not available"
msgstr ""
-#: .././mainwin.py:15534
+#: .././mainwin.py:15778
msgid "The URL is not valid"
msgstr ""
-#: .././mainwin.py:16731 .././config.py:12521 .././config.py:15495
+#: .././mainwin.py:17047 .././config.py:12560 .././config.py:15534
msgid "Invalid timestamp(s)"
msgstr ""
-#: .././mainwin.py:16904 .././mainwin.py:16913 .././config.py:12372
-#: .././config.py:12380 .././config.py:15391 .././config.py:15399
+#: .././mainwin.py:17220 .././mainwin.py:17229 .././config.py:12411
+#: .././config.py:12419 .././config.py:15430 .././config.py:15438
msgid "Invalid start/stop times"
msgstr ""
-#: .././mainwin.py:19824
+#: .././mainwin.py:20203
msgid "The following items are duplicates:"
msgstr ""
-#: .././mainwin.py:19974
+#: .././mainwin.py:20353
#, python-brace-format
msgid "The channel contains {0} items, so this action may take a while"
msgstr ""
-#: .././mainwin.py:19981
+#: .././mainwin.py:20360
#, python-brace-format
msgid "The playlist contains {0} items, so this action may take a while"
msgstr ""
-#: .././mainwin.py:19988
+#: .././mainwin.py:20367
#, python-brace-format
msgid "The folder contains {0} items, so this action may take a while"
msgstr ""
-#: .././mainwin.py:20690 .././mainwin.py:21728
+#: .././mainwin.py:21069 .././mainwin.py:22107
msgid "Originally from:"
msgstr ""
-#: .././mainwin.py:20703 .././mainwin.py:21742
+#: .././mainwin.py:21082 .././mainwin.py:22121
msgid "From channel"
msgstr ""
-#: .././mainwin.py:20705 .././mainwin.py:21744
+#: .././mainwin.py:21084 .././mainwin.py:22123
msgid "From playlist"
msgstr ""
-#: .././mainwin.py:20707 .././mainwin.py:21746
+#: .././mainwin.py:21086 .././mainwin.py:22125
msgid "From folder"
msgstr ""
-#: .././mainwin.py:20735
+#: .././mainwin.py:21114
msgid "Livestream has not started yet"
msgstr ""
-#: .././mainwin.py:20742
+#: .././mainwin.py:21121
msgid "Debut has started"
msgstr ""
-#: .././mainwin.py:20744
+#: .././mainwin.py:21123
msgid "Debut has not started yet"
msgstr ""
-#: .././mainwin.py:20751 .././mainwin.py:20757 .././mainwin.py:21793
-#: .././mainwin.py:21800
+#: .././mainwin.py:21130 .././mainwin.py:21136 .././mainwin.py:22172
+#: .././mainwin.py:22179
msgid "Duration:"
msgstr ""
-#: .././mainwin.py:20757 .././mainwin.py:20763 .././mainwin.py:20774
-#: .././mainwin.py:21800 .././mainwin.py:21807 .././mainwin.py:21823
-#: .././mainwin.py:24124 .././mainwin.py:24130 .././mainwin.py:24141
-#: .././media.py:555 .././media.py:565 .././media.py:2128 .././media.py:2134
-#: .././media.py:2144
+#: .././mainwin.py:21136 .././mainwin.py:21142 .././mainwin.py:21153
+#: .././mainwin.py:22179 .././mainwin.py:22186 .././mainwin.py:22202
+#: .././mainwin.py:24523 .././mainwin.py:24529 .././mainwin.py:24540
+#: .././media.py:555 .././media.py:565 .././media.py:2120 .././media.py:2126
+#: .././media.py:2136
msgid "unknown"
msgstr ""
-#: .././mainwin.py:20761 .././mainwin.py:20763 .././mainwin.py:21804
-#: .././mainwin.py:21806
+#: .././mainwin.py:21140 .././mainwin.py:21142 .././mainwin.py:22183
+#: .././mainwin.py:22185
msgid "Size:"
msgstr ""
-#: .././mainwin.py:20772 .././mainwin.py:20774 .././mainwin.py:21818
+#: .././mainwin.py:21151 .././mainwin.py:21153 .././mainwin.py:22197
msgid "Date:"
msgstr ""
-#: .././mainwin.py:21113
+#: .././mainwin.py:21492
msgid "Watch:"
msgstr ""
-#: .././mainwin.py:21182
+#: .././mainwin.py:21561
msgid "Temporary:"
msgstr ""
-#: .././mainwin.py:21225
+#: .././mainwin.py:21604
msgid "Marked:"
msgstr ""
-#: .././mainwin.py:21700 .././mainwin.py:21763
+#: .././mainwin.py:22079 .././mainwin.py:22142
msgid "Show the full description"
msgstr ""
-#: .././mainwin.py:21701 .././mainwin.py:21764
+#: .././mainwin.py:22080 .././mainwin.py:22143
msgid "More"
msgstr ""
-#: .././mainwin.py:21713 .././mainwin.py:21772
+#: .././mainwin.py:22092 .././mainwin.py:22151
msgid "Show the short description"
msgstr ""
-#: .././mainwin.py:21714 .././mainwin.py:21773
+#: .././mainwin.py:22093 .././mainwin.py:22152
msgid "Less"
msgstr ""
-#: .././mainwin.py:21813
+#: .././mainwin.py:22192
msgid "Received:"
msgstr ""
-#: .././mainwin.py:21842
+#: .././mainwin.py:22221
msgid "Live now:"
msgstr ""
-#: .././mainwin.py:21844 .././mainwin.py:24274
+#: .././mainwin.py:22223 .././mainwin.py:24673
msgid "Live soon:"
msgstr ""
-#: .././mainwin.py:21853
+#: .././mainwin.py:22232
msgid "Debut now:"
msgstr ""
-#: .././mainwin.py:21855 .././mainwin.py:24276
+#: .././mainwin.py:22234 .././mainwin.py:24675
msgid "Debut soon:"
msgstr ""
@@ -2656,14 +2698,14 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21862 .././mainwin.py:21864 .././mainwin.py:21868
-#: .././mainwin.py:22144 .././mainwin.py:22146 .././mainwin.py:22150
-#: .././mainwin.py:22622 .././mainwin.py:24155 .././mainwin.py:24157
-#: .././mainwin.py:24161
+#: .././mainwin.py:22241 .././mainwin.py:22243 .././mainwin.py:22247
+#: .././mainwin.py:22540 .././mainwin.py:22542 .././mainwin.py:22546
+#: .././mainwin.py:23018 .././mainwin.py:24554 .././mainwin.py:24556
+#: .././mainwin.py:24560
msgid "Notify"
msgstr ""
-#: .././mainwin.py:21872 .././mainwin.py:22154 .././mainwin.py:24165
+#: .././mainwin.py:22251 .././mainwin.py:22550 .././mainwin.py:24564
msgid "When the livestream starts, notify the user"
msgstr ""
@@ -2671,13 +2713,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21883 .././mainwin.py:21885 .././mainwin.py:22160
-#: .././mainwin.py:22162 .././mainwin.py:22165 .././mainwin.py:22513
-#: .././mainwin.py:24176 .././mainwin.py:24178
+#: .././mainwin.py:22262 .././mainwin.py:22264 .././mainwin.py:22556
+#: .././mainwin.py:22558 .././mainwin.py:22561 .././mainwin.py:22909
+#: .././mainwin.py:24575 .././mainwin.py:24577
msgid "Alarm"
msgstr ""
-#: .././mainwin.py:21889 .././mainwin.py:22169 .././mainwin.py:24182
+#: .././mainwin.py:22268 .././mainwin.py:22565 .././mainwin.py:24581
msgid "When the livestream starts, sound an alarm"
msgstr ""
@@ -2685,13 +2727,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21894 .././mainwin.py:21896 .././mainwin.py:22175
-#: .././mainwin.py:22177 .././mainwin.py:22180 .././mainwin.py:22659
-#: .././mainwin.py:24187 .././mainwin.py:24189
+#: .././mainwin.py:22273 .././mainwin.py:22275 .././mainwin.py:22571
+#: .././mainwin.py:22573 .././mainwin.py:22576 .././mainwin.py:23055
+#: .././mainwin.py:24586 .././mainwin.py:24588
msgid "Open"
msgstr ""
-#: .././mainwin.py:21900 .././mainwin.py:22184 .././mainwin.py:24193
+#: .././mainwin.py:22279 .././mainwin.py:22580 .././mainwin.py:24592
msgid "When the livestream starts, open it"
msgstr ""
@@ -2701,14 +2743,14 @@ msgstr ""
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
#. (Livestream already broadcasting)
-#: .././mainwin.py:21908 .././mainwin.py:21913 .././mainwin.py:21915
-#: .././mainwin.py:22190 .././mainwin.py:22192 .././mainwin.py:22195
-#: .././mainwin.py:22549 .././mainwin.py:24201 .././mainwin.py:24206
-#: .././mainwin.py:24208
+#: .././mainwin.py:22287 .././mainwin.py:22292 .././mainwin.py:22294
+#: .././mainwin.py:22586 .././mainwin.py:22588 .././mainwin.py:22591
+#: .././mainwin.py:22945 .././mainwin.py:24600 .././mainwin.py:24605
+#: .././mainwin.py:24607
msgid "D/L on start"
msgstr ""
-#: .././mainwin.py:21919 .././mainwin.py:22199 .././mainwin.py:24212
+#: .././mainwin.py:22298 .././mainwin.py:22595 .././mainwin.py:24611
msgid "When the livestream starts, download it"
msgstr ""
@@ -2716,18 +2758,18 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21925 .././mainwin.py:21930 .././mainwin.py:21932
-#: .././mainwin.py:22205 .././mainwin.py:22207 .././mainwin.py:22210
-#: .././mainwin.py:22586 .././mainwin.py:24218 .././mainwin.py:24223
-#: .././mainwin.py:24225
+#: .././mainwin.py:22304 .././mainwin.py:22309 .././mainwin.py:22311
+#: .././mainwin.py:22601 .././mainwin.py:22603 .././mainwin.py:22606
+#: .././mainwin.py:22982 .././mainwin.py:24617 .././mainwin.py:24622
+#: .././mainwin.py:24624
msgid "D/L on stop"
msgstr ""
-#: .././mainwin.py:21936 .././mainwin.py:22214 .././mainwin.py:24229
+#: .././mainwin.py:22315 .././mainwin.py:22610 .././mainwin.py:24628
msgid "When the livestream stops, download it"
msgstr ""
-#: .././mainwin.py:21952 .././mainwin.py:24245
+#: .././mainwin.py:22331 .././mainwin.py:24644
msgid "Watch in your media player"
msgstr ""
@@ -2735,41 +2777,54 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21953 .././mainwin.py:23269 .././mainwin.py:24246
+#: .././mainwin.py:22332 .././mainwin.py:23665 .././mainwin.py:24645
msgid "Player"
msgstr ""
-#: .././mainwin.py:21985 .././mainwin.py:24291
+#: .././mainwin.py:22364 .././mainwin.py:24690
msgid "Download this video"
msgstr ""
-#: .././mainwin.py:22000 .././mainwin.py:24306
+#: .././mainwin.py:22379 .././mainwin.py:24705
msgid ""
"TRANSLATOR'S NOTE: If you want to use &, use & - if you want to use a "
"different word (e.g. French et), then just use that word"
msgstr ""
-#: .././mainwin.py:22008 .././mainwin.py:24314
+#: .././mainwin.py:22387 .././mainwin.py:24713
msgid "Download and watch in your media player"
msgstr ""
-#: .././mainwin.py:22009
+#: .././mainwin.py:22388
msgid "Download & watch"
msgstr ""
-#: .././mainwin.py:22016
+#: .././mainwin.py:22395
msgid "Not downloaded"
msgstr ""
-#: .././mainwin.py:22039
+#: .././mainwin.py:22419
+msgid "Watch on website"
+msgstr ""
+
+#: .././mainwin.py:22420 .././mainwin.py:23708
+msgid "Website"
+msgstr ""
+
+#: .././mainwin.py:22435
+#, python-brace-format
+msgid "Watch on {0}"
+msgstr ""
+
+#: .././mainwin.py:22449
msgid "Watch on YouTube"
msgstr ""
-#: .././mainwin.py:22040 .././mainwin.py:23311
+#: .././mainwin.py:22450
msgid "YouTube"
msgstr ""
-#: .././mainwin.py:22052
+#: .././mainwin.py:22462
msgid "Watch on HookTube"
msgstr ""
@@ -2777,11 +2832,11 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22053 .././mainwin.py:23085
+#: .././mainwin.py:22463 .././mainwin.py:23481
msgid "HookTube"
msgstr ""
-#: .././mainwin.py:22065
+#: .././mainwin.py:22475
msgid "Watch on Invidious"
msgstr ""
@@ -2789,7 +2844,7 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22066 .././mainwin.py:23126
+#: .././mainwin.py:22476 .././mainwin.py:23522
msgid "Invidious"
msgstr ""
@@ -2797,25 +2852,17 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22085 .././mainwin.py:23168 .././config.py:17113
-#: .././config.py:20316
+#: .././mainwin.py:22495 .././mainwin.py:23564 .././config.py:17305
+#: .././config.py:20626
msgid "Other"
msgstr ""
-#: .././mainwin.py:22105
-msgid "Watch on website"
-msgstr ""
-
-#: .././mainwin.py:22106 .././mainwin.py:23313
-msgid "Website"
-msgstr ""
-
#. Links not clickable
-#: .././mainwin.py:22117
+#: .././mainwin.py:22513
msgid "No link"
msgstr ""
-#: .././mainwin.py:22248
+#: .././mainwin.py:22644
msgid "Download to a temporary folder later"
msgstr ""
@@ -2823,19 +2870,19 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22249 .././mainwin.py:22266 .././mainwin.py:23044
+#: .././mainwin.py:22645 .././mainwin.py:22662 .././mainwin.py:23440
msgid "Mark for download"
msgstr ""
-#: .././mainwin.py:22254
+#: .././mainwin.py:22650
msgid "Download to a temporary folder"
msgstr ""
-#: .././mainwin.py:22260
+#: .././mainwin.py:22656
msgid "Download to a temporary folder, then watch"
msgstr ""
-#: .././mainwin.py:22261 .././mainwin.py:24315
+#: .././mainwin.py:22657 .././mainwin.py:24714
msgid "D/L & watch"
msgstr ""
@@ -2843,12 +2890,12 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22268 .././mainwin.py:23003
+#: .././mainwin.py:22664 .././mainwin.py:23399
msgid "D/L and watch"
msgstr ""
#. Archived/not archived
-#: .././mainwin.py:22289 .././mainwin.py:24350
+#: .././mainwin.py:22685 .././mainwin.py:24749
msgid "Prevent automatic deletion of the video"
msgstr ""
@@ -2856,13 +2903,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22293 .././mainwin.py:22297 .././mainwin.py:22694
-#: .././mainwin.py:24354 .././mainwin.py:24358 .././mainwin.py:24558
+#: .././mainwin.py:22689 .././mainwin.py:22693 .././mainwin.py:23090
+#: .././mainwin.py:24753 .././mainwin.py:24757 .././mainwin.py:24957
msgid "Archived"
msgstr ""
#. Bookmarked/not bookmarked
-#: .././mainwin.py:22302 .././mainwin.py:24363
+#: .././mainwin.py:22698 .././mainwin.py:24762
msgid "Show video in Bookmarks folder"
msgstr ""
@@ -2872,13 +2919,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22307 .././mainwin.py:22312 .././mainwin.py:24367
-#: .././mainwin.py:24371 .././mainwin.py:24600
+#: .././mainwin.py:22703 .././mainwin.py:22708 .././mainwin.py:24766
+#: .././mainwin.py:24770 .././mainwin.py:24999
msgid "B/mark"
msgstr ""
#. Favourite/not favourite
-#: .././mainwin.py:22317 .././mainwin.py:24376
+#: .././mainwin.py:22713 .././mainwin.py:24775
msgid "Show in Favourite Videos folder"
msgstr "Show in Favorite Videos folder"
@@ -2886,13 +2933,13 @@ msgstr "Show in Favorite Videos folder"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22321 .././mainwin.py:22325 .././mainwin.py:22778
-#: .././mainwin.py:24380 .././mainwin.py:24384 .././config.py:14895
+#: .././mainwin.py:22717 .././mainwin.py:22721 .././mainwin.py:23174
+#: .././mainwin.py:24779 .././mainwin.py:24783 .././config.py:14934
msgid "Favourite"
msgstr "Favorite"
#. Missing/not missing
-#: .././mainwin.py:22329 .././mainwin.py:24388
+#: .././mainwin.py:22725 .././mainwin.py:24787
msgid "Mark video as removed by creator"
msgstr ""
@@ -2900,13 +2947,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22333 .././mainwin.py:22337 .././mainwin.py:22820
-#: .././mainwin.py:24392 .././mainwin.py:24396
+#: .././mainwin.py:22729 .././mainwin.py:22733 .././mainwin.py:23216
+#: .././mainwin.py:24791 .././mainwin.py:24795
msgid "Missing"
msgstr ""
#. New/not new
-#: .././mainwin.py:22342 .././mainwin.py:24401
+#: .././mainwin.py:22738 .././mainwin.py:24800
msgid "Mark video as never watched"
msgstr ""
@@ -2914,13 +2961,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22346 .././mainwin.py:22350 .././mainwin.py:22855
-#: .././mainwin.py:24405 .././mainwin.py:24409
+#: .././mainwin.py:22742 .././mainwin.py:22746 .././mainwin.py:23251
+#: .././mainwin.py:24804 .././mainwin.py:24808
msgid "New"
msgstr ""
#. In waiting list/not in waiting list
-#: .././mainwin.py:22355 .././mainwin.py:24414
+#: .././mainwin.py:22751 .././mainwin.py:24813
msgid "Show in Waiting Videos folder"
msgstr ""
@@ -2928,1083 +2975,1083 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22736
+#: .././mainwin.py:23132
msgid "Bookmarked"
msgstr ""
-#: .././mainwin.py:24098
+#: .././mainwin.py:24497
msgid "Click to open"
msgstr ""
-#: .././mainwin.py:24286
+#: .././mainwin.py:24685
msgid "TRANSLATOR'S NOTE: D/L means download"
msgstr ""
-#: .././mainwin.py:24322
+#: .././mainwin.py:24721
msgid "Can't D/L"
msgstr ""
-#: .././mainwin.py:24343
+#: .././mainwin.py:24742
msgid ""
"TRANSLATOR'S NOTE: This section contains shortened labels: Archive = "
"Archived, B/Mark = Bookmarked, Waiting: In waiting list"
msgstr ""
-#: .././mainwin.py:25502
+#: .././mainwin.py:25901
msgid "Invalid URL"
msgstr ""
-#: .././mainwin.py:25513
+#: .././mainwin.py:25912
msgid "Duplicate URL"
msgstr ""
-#: .././mainwin.py:25519
+#: .././mainwin.py:25918
msgid "Failed to add URL"
msgstr ""
-#: .././mainwin.py:25988
+#: .././mainwin.py:26387
msgid "Add many channels/playlists"
msgstr ""
-#: .././mainwin.py:26017 .././mainwin.py:26682 .././mainwin.py:27518
-#: .././mainwin.py:28007
+#: .././mainwin.py:26416 .././mainwin.py:27081 .././mainwin.py:27919
+#: .././mainwin.py:28408
msgid "Enable automatic copy/paste"
msgstr ""
#. Buttons to add URLs as channels/playlists
-#: .././mainwin.py:26070
+#: .././mainwin.py:26469
msgid "Add channels"
msgstr ""
-#: .././mainwin.py:26074
+#: .././mainwin.py:26473
msgid "Add playlists"
msgstr ""
-#: .././mainwin.py:26087
+#: .././mainwin.py:26486
msgid "Double-click the names/URLs to customise them"
msgstr ""
-#: .././mainwin.py:26095
+#: .././mainwin.py:26494
msgid ""
"HINT: You can also click Media > Reset channel/playlist names..."
"b>"
msgstr ""
-#: .././mainwin.py:26123 .././mainwin.py:29614 .././mainwin.py:31512
-#: .././config.py:3341 .././config.py:5387 .././config.py:5518
+#: .././mainwin.py:26522 .././mainwin.py:30015 .././mainwin.py:31913
+#: .././config.py:3341 .././config.py:5389 .././config.py:5520
msgid "Type"
msgstr ""
-#: .././mainwin.py:26123 .././config.py:20023
+#: .././mainwin.py:26522 .././config.py:20333
msgid "URL"
msgstr ""
#. Add more buttons
-#: .././mainwin.py:26154
+#: .././mainwin.py:26553
msgid "Toggle channel/playlist"
msgstr ""
-#: .././mainwin.py:26158
+#: .././mainwin.py:26557
msgid "Delete selected lines"
msgstr ""
-#: .././mainwin.py:26197
+#: .././mainwin.py:26596
msgid "Add to this folder:"
msgstr ""
-#: .././mainwin.py:26530
+#: .././mainwin.py:26929
msgid "Add channel"
msgstr ""
-#: .././mainwin.py:26549
+#: .././mainwin.py:26948
msgid "Enter the channel name"
msgstr ""
-#: .././mainwin.py:26554
+#: .././mainwin.py:26953
msgid "(Use the channel's real name or a customised name)"
msgstr "(Use the channel's real name or a customized name)"
-#: .././mainwin.py:26562
+#: .././mainwin.py:26961
msgid "Copy and paste a link to the channel"
msgstr ""
-#: .././mainwin.py:26586
+#: .././mainwin.py:26985
msgid ""
"Before adding the URL for a YouTube channel, first click the Videos tab in "
"your browser!"
msgstr ""
-#: .././mainwin.py:26635
+#: .././mainwin.py:27034
msgid "(Optional) Add this channel inside a folder"
msgstr ""
-#: .././mainwin.py:26665
+#: .././mainwin.py:27064
msgid "Enable video downloads for this channel"
msgstr ""
-#: .././mainwin.py:26672 .././mainwin.py:27305 .././mainwin.py:27508
-#: .././mainwin.py:27998
+#: .././mainwin.py:27071 .././mainwin.py:27706 .././mainwin.py:27909
+#: .././mainwin.py:28399
msgid "Don't download the videos, just check them"
msgstr ""
-#: .././mainwin.py:26877
+#: .././mainwin.py:27278
msgid "Add dropzone"
msgstr ""
-#: .././mainwin.py:26899
+#: .././mainwin.py:27300
msgid "Create new download options called"
msgstr ""
-#: .././mainwin.py:26911 .././mainwin.py:28184
+#: .././mainwin.py:27312 .././mainwin.py:28585
msgid "Use these download options"
msgstr ""
-#: .././mainwin.py:26948 .././mainwin.py:28221
+#: .././mainwin.py:27349 .././mainwin.py:28622
msgid "Clone these download options"
msgstr ""
-#: .././mainwin.py:27206
+#: .././mainwin.py:27607
msgid "Add folder"
msgstr ""
-#: .././mainwin.py:27225
+#: .././mainwin.py:27626
msgid "Enter the folder name"
msgstr ""
-#: .././mainwin.py:27268
+#: .././mainwin.py:27669
msgid "(Optional) Add this folder inside another folder"
msgstr ""
-#: .././mainwin.py:27299
+#: .././mainwin.py:27700
msgid "Enable video downloads for this folder"
msgstr ""
-#: .././mainwin.py:27392
+#: .././mainwin.py:27793
msgid "Add playlist"
msgstr ""
-#: .././mainwin.py:27411
+#: .././mainwin.py:27812
msgid "Enter the playlist name"
msgstr ""
-#: .././mainwin.py:27416
+#: .././mainwin.py:27817
msgid "(Use the playlist's real name or a customised name)"
msgstr "(Use the playlist's real name or a customized name)"
-#: .././mainwin.py:27424
+#: .././mainwin.py:27825
msgid "Copy and paste a link to the playlist"
msgstr ""
-#: .././mainwin.py:27471
+#: .././mainwin.py:27872
msgid "(Optional) Add this playlist inside a folder"
msgstr ""
-#: .././mainwin.py:27501
+#: .././mainwin.py:27902
msgid "Enable video downloads for this playlist"
msgstr ""
-#: .././mainwin.py:27680
+#: .././mainwin.py:28081
msgid "Reset timestamps"
msgstr ""
-#: .././mainwin.py:27702
+#: .././mainwin.py:28103
msgid "Copy timestamps below, e.g."
msgstr ""
-#: .././mainwin.py:27703
+#: .././mainwin.py:28104
msgid "Introduction"
msgstr ""
-#: .././mainwin.py:27828
+#: .././mainwin.py:28229
msgid "Add videos"
msgstr ""
-#: .././mainwin.py:27847
+#: .././mainwin.py:28248
msgid "Copy and paste the links to one or more videos"
msgstr ""
-#: .././mainwin.py:27853
+#: .././mainwin.py:28254
msgid "Links containing multiple videos will be converted to a channel"
msgstr ""
-#: .././mainwin.py:27860
+#: .././mainwin.py:28261
msgid "Links containing multiple videos will be converted to a playlist"
msgstr ""
-#: .././mainwin.py:27867
+#: .././mainwin.py:28268
msgid "Links containing multiple videos will be downloaded separately"
msgstr ""
-#: .././mainwin.py:27874
+#: .././mainwin.py:28275
msgid "Links containing multiple videos will not be downloaded at all"
msgstr ""
-#: .././mainwin.py:27962
+#: .././mainwin.py:28363
msgid "Add the videos to this folder"
msgstr ""
-#: .././mainwin.py:27992
+#: .././mainwin.py:28393
msgid "I want to download these videos"
msgstr ""
-#: .././mainwin.py:28152 .././config.py:2156
+#: .././mainwin.py:28553 .././config.py:2156
msgid "Apply download options"
msgstr ""
-#: .././mainwin.py:28174
+#: .././mainwin.py:28575
msgid "Create new download options"
msgstr ""
-#: .././mainwin.py:28436
+#: .././mainwin.py:28837
msgid "Select a date"
msgstr ""
-#: .././mainwin.py:28541
+#: .././mainwin.py:28942
msgid "Delete channel"
msgstr ""
-#: .././mainwin.py:28543
+#: .././mainwin.py:28944
msgid "Delete playlist"
msgstr ""
-#: .././mainwin.py:28545
+#: .././mainwin.py:28946
msgid "Delete folder"
msgstr ""
-#: .././mainwin.py:28548
+#: .././mainwin.py:28949
msgid "Empty channel"
msgstr ""
-#: .././mainwin.py:28550
+#: .././mainwin.py:28951
msgid "Empty playlist"
msgstr ""
-#: .././mainwin.py:28552
+#: .././mainwin.py:28953
msgid "Empty folder"
msgstr ""
-#: .././mainwin.py:28586
+#: .././mainwin.py:28987
msgid "This channel does not contain any videos"
msgstr ""
-#: .././mainwin.py:28588
+#: .././mainwin.py:28989
msgid "This playlist does not contain any videos"
msgstr ""
-#: .././mainwin.py:28590
+#: .././mainwin.py:28991
msgid "This folder doesn't contain anything"
msgstr ""
-#: .././mainwin.py:28596
+#: .././mainwin.py:28997
msgid "(but there might be some files in Tartube's data folder)"
msgstr ""
-#: .././mainwin.py:28609
+#: .././mainwin.py:29010
msgid "This channel contains:"
msgstr ""
-#: .././mainwin.py:28611
+#: .././mainwin.py:29012
msgid "This playlist contains:"
msgstr ""
-#: .././mainwin.py:28613 .././config.py:17086
+#: .././mainwin.py:29014 .././config.py:17278
msgid "This folder contains:"
msgstr ""
-#: .././mainwin.py:28620
+#: .././mainwin.py:29021
msgid "1 folder"
msgstr ""
-#: .././mainwin.py:28622
+#: .././mainwin.py:29023
#, python-brace-format
msgid "{0} folders"
msgstr ""
-#: .././mainwin.py:28629
+#: .././mainwin.py:29030
msgid "1 channel"
msgstr ""
-#: .././mainwin.py:28631
+#: .././mainwin.py:29032
#, python-brace-format
msgid "{0} channels"
msgstr ""
-#: .././mainwin.py:28638
+#: .././mainwin.py:29039
msgid "1 playlist"
msgstr ""
-#: .././mainwin.py:28640
+#: .././mainwin.py:29041
#, python-brace-format
msgid "{0} playlists"
msgstr ""
-#: .././mainwin.py:28647 .././mainwin.py:29687
+#: .././mainwin.py:29048 .././mainwin.py:30088
msgid "1 video"
msgstr ""
-#: .././mainwin.py:28649 .././mainwin.py:29690
+#: .././mainwin.py:29050 .././mainwin.py:30091
#, python-brace-format
msgid "{0} videos"
msgstr ""
-#: .././mainwin.py:28662
+#: .././mainwin.py:29063
msgid ""
"Do you want to remove the channel from your filesystem, or do you just want "
"to remove the channel from this list?"
msgstr ""
-#: .././mainwin.py:28666
+#: .././mainwin.py:29067
msgid "Just remove the channel from this list"
msgstr ""
-#: .././mainwin.py:28670
+#: .././mainwin.py:29071
msgid ""
"Do you want to remove the playlist from your filesystem, or do you just "
"want to remove the playlist from this list?"
msgstr ""
-#: .././mainwin.py:28674
+#: .././mainwin.py:29075
msgid "Just remove the playlist from this list"
msgstr ""
-#: .././mainwin.py:28678
+#: .././mainwin.py:29079
msgid ""
"Do you want to remove the folder from your filesystem, or do you just want "
"to remove the folder from this list?"
msgstr ""
-#: .././mainwin.py:28682
+#: .././mainwin.py:29083
msgid "Just remove the folder from this list"
msgstr ""
-#: .././mainwin.py:28688
+#: .././mainwin.py:29089
msgid ""
"Do you want to empty the channel on your filesystem, or do you just want to "
"empty the channel in this list?"
msgstr ""
-#: .././mainwin.py:28692
+#: .././mainwin.py:29093
msgid "Just empty the channel in this list"
msgstr ""
-#: .././mainwin.py:28696
+#: .././mainwin.py:29097
msgid ""
"Do you want to empty the playlist on your filesystem, or do you just want to "
"empty the playlist in this list?"
msgstr ""
-#: .././mainwin.py:28700
+#: .././mainwin.py:29101
msgid "Just empty the playlist in this list"
msgstr ""
-#: .././mainwin.py:28704
+#: .././mainwin.py:29105
msgid ""
"Do you want to empty the folder on your filesystem, or do you just want to "
"empty the folder in this list?"
msgstr ""
-#: .././mainwin.py:28708
+#: .././mainwin.py:29109
msgid "Just empty the folder in this list"
msgstr ""
-#: .././mainwin.py:28723
+#: .././mainwin.py:29124
msgid "Delete files on your computer"
msgstr ""
-#: .././mainwin.py:28775
+#: .././mainwin.py:29176
msgid "Delete dropzone"
msgstr ""
-#: .././mainwin.py:28793
+#: .././mainwin.py:29194
msgid "Just delete the dropzone"
msgstr ""
-#: .././mainwin.py:28798
+#: .././mainwin.py:29199
msgid "Also delete download options"
msgstr ""
-#: .././mainwin.py:28889
+#: .././mainwin.py:29290
msgid "Duplicate URLs"
msgstr ""
-#: .././mainwin.py:28912
+#: .././mainwin.py:29313
msgid "The following URLs are duplicates:"
msgstr ""
-#: .././mainwin.py:28987
+#: .././mainwin.py:29388
msgid "Export from database"
msgstr ""
-#: .././mainwin.py:29013
+#: .././mainwin.py:29414
msgid ""
"Tartube is ready to export a partial summary of its database, containing a "
"list of videos, channels, playlists and/or folders (but not including the "
"videos themselves)"
msgstr ""
-#: .././mainwin.py:29020
+#: .././mainwin.py:29421
msgid ""
"Tartube is ready to export a summary of its database, containing a list of "
"videos, channels, playlists and/or folders (but not including the videos "
"themselves)"
msgstr ""
-#: .././mainwin.py:29036
+#: .././mainwin.py:29437
msgid "Choose what should be included:"
msgstr ""
-#: .././mainwin.py:29044
+#: .././mainwin.py:29445
msgid "Include lists of videos"
msgstr ""
-#: .././mainwin.py:29049
+#: .././mainwin.py:29450
msgid "Include channels"
msgstr ""
-#: .././mainwin.py:29054
+#: .././mainwin.py:29455
msgid "Include playlists"
msgstr ""
-#: .././mainwin.py:29059
+#: .././mainwin.py:29460
msgid "Preserve folder structure"
msgstr ""
-#: .././mainwin.py:29067
+#: .././mainwin.py:29468
msgid "Export as JSON"
msgstr ""
-#: .././mainwin.py:29073
+#: .././mainwin.py:29474
msgid "Export as CSV using separator"
msgstr ""
-#: .././mainwin.py:29100
+#: .././mainwin.py:29501
msgid "Export as plain text"
msgstr ""
-#: .././mainwin.py:29196
+#: .././mainwin.py:29597
msgid "Type extractor code"
msgstr ""
-#: .././mainwin.py:29233
+#: .././mainwin.py:29634
#, python-brace-format
msgid "Type an extractor code in the range {0}-{1}"
msgstr ""
-#: .././mainwin.py:29236
+#: .././mainwin.py:29637
msgid "(mp3, mp4 etc are also acceptable)"
msgstr ""
-#: .././mainwin.py:29242
+#: .././mainwin.py:29643
msgid "e.g. 136 for mp4 720p"
msgstr ""
-#: .././mainwin.py:29367
+#: .././mainwin.py:29768
msgid "Click the Output tab to see available formats"
msgstr ""
-#: .././mainwin.py:29369
+#: .././mainwin.py:29770
msgid "Click the Output tab to see available subtitles"
msgstr ""
-#: .././mainwin.py:29378
+#: .././mainwin.py:29779
msgid "Update general download options"
msgstr ""
-#: .././mainwin.py:29386
+#: .././mainwin.py:29787
msgid "Apply download options to this video only"
msgstr ""
-#: .././mainwin.py:29394
+#: .././mainwin.py:29795
msgid "Update this video's download options"
msgstr ""
-#: .././mainwin.py:29561
+#: .././mainwin.py:29962
msgid "Import into database"
msgstr ""
-#: .././mainwin.py:29585
+#: .././mainwin.py:29986
msgid "Choose which items to import"
msgstr ""
-#: .././mainwin.py:29606 .././config.py:22527 .././config.py:24485
-#: .././config.py:24763
+#: .././mainwin.py:30007 .././config.py:22901 .././config.py:24980
+#: .././config.py:25258
msgid "Import"
msgstr ""
-#: .././mainwin.py:29642
+#: .././mainwin.py:30043
msgid "Import videos"
msgstr ""
-#: .././mainwin.py:29647
+#: .././mainwin.py:30048
msgid "Merge channels/playlists/folders"
msgstr ""
#. Strip of widgets at the bottom
#. Bottom strip
-#: .././mainwin.py:29650 .././mainwin.py:31578 .././mainwin.py:33031
+#: .././mainwin.py:30051 .././mainwin.py:31979 .././mainwin.py:33432
msgid "Select all"
msgstr ""
-#: .././mainwin.py:29655 .././mainwin.py:31583
+#: .././mainwin.py:30056 .././mainwin.py:31984
msgid "Unselect all"
msgstr ""
-#: .././mainwin.py:29904
+#: .././mainwin.py:30305
msgid "Mount drive"
msgstr ""
-#: .././mainwin.py:29929
+#: .././mainwin.py:30330
msgid "The Tartube data folder is set to:"
msgstr ""
-#: .././mainwin.py:29942
+#: .././mainwin.py:30343
msgid "...but this folder doesn't exist"
msgstr ""
-#: .././mainwin.py:29945
+#: .././mainwin.py:30346
msgid "...but Tartube cannot write to this folder"
msgstr ""
-#: .././mainwin.py:29955
+#: .././mainwin.py:30356
msgid "I have mounted the drive, please try again"
msgstr ""
-#: .././mainwin.py:29961
+#: .././mainwin.py:30362
msgid "Use this data folder:"
msgstr ""
-#: .././mainwin.py:29988
+#: .././mainwin.py:30389
msgid "Select a different data folder"
msgstr ""
-#: .././mainwin.py:29994
+#: .././mainwin.py:30395
msgid "Use the default data folder"
msgstr ""
-#: .././mainwin.py:30000
+#: .././mainwin.py:30401
msgid "Shut down Tartube"
msgstr ""
#. 'Cancel' button
-#: .././mainwin.py:30007 .././config.py:1118
+#: .././mainwin.py:30408 .././config.py:1118
msgid "Cancel"
msgstr ""
#. 'OK' button
-#: .././mainwin.py:30011 .././config.py:1109 .././config.py:2338
-#: .././config.py:13145 .././config.py:13511
+#: .././mainwin.py:30412 .././config.py:1109 .././config.py:2338
+#: .././config.py:13184 .././config.py:13550
msgid "OK"
msgstr ""
-#: .././mainwin.py:30042
+#: .././mainwin.py:30443
msgid "The folder still doesn't exist. Please try a different option"
msgstr ""
-#: .././mainwin.py:30183
+#: .././mainwin.py:30584
msgid "MSYS2 terminal"
msgstr ""
-#: .././mainwin.py:30204
+#: .././mainwin.py:30605
msgid "On MS Windows, Tartube runs in the MSYS2 environment."
msgstr ""
-#: .././mainwin.py:30212
+#: .././mainwin.py:30613
msgid ""
"Advanced users can use the MSYS2 terminal to make changes to the\n"
"environment (for example, to tweak youtube-dl or FFmpeg)"
msgstr ""
-#: .././mainwin.py:30223 .././mainwin.py:30427
+#: .././mainwin.py:30624 .././mainwin.py:30828
msgid "Always show this window"
msgstr ""
-#: .././mainwin.py:30302 .././config.py:437
+#: .././mainwin.py:30703 .././config.py:437
msgid "Downloads"
msgstr ""
-#: .././mainwin.py:30332
+#: .././mainwin.py:30733
msgid "Nothing happened?"
msgstr ""
-#: .././mainwin.py:30348
+#: .././mainwin.py:30749
msgid "Check the requested format is actually available"
msgstr ""
-#: .././mainwin.py:30353
+#: .././mainwin.py:30754
msgid "(Try converting instead of a direct download)"
msgstr ""
-#: .././mainwin.py:30366
+#: .././mainwin.py:30767
msgid "Check the downloader is installed and updated"
msgstr ""
-#: .././mainwin.py:30371 .././mainwin.py:32621
+#: .././mainwin.py:30772 .././mainwin.py:33022
msgid "Update"
msgstr ""
-#: .././mainwin.py:30377
+#: .././mainwin.py:30778
msgid "Tell Tartube where to find the downloader"
msgstr ""
-#: .././mainwin.py:30382
+#: .././mainwin.py:30783
msgid "Set the downloader's file path"
msgstr ""
-#: .././mainwin.py:30388
+#: .././mainwin.py:30789
msgid "Try a different downloader"
msgstr ""
-#: .././mainwin.py:30394
+#: .././mainwin.py:30795
msgid "Find more help"
msgstr ""
-#: .././mainwin.py:30399
+#: .././mainwin.py:30800
msgid "Read the FAQ"
msgstr ""
-#: .././mainwin.py:30405
+#: .././mainwin.py:30806
msgid "Ask for help"
msgstr ""
-#: .././mainwin.py:30417
+#: .././mainwin.py:30818
msgid ""
"Don't forget to check the Output tab and the\n"
"Errors/Warnings tab for error messages!"
msgstr ""
-#: .././mainwin.py:30585
+#: .././mainwin.py:30986
msgid "Download video clip"
msgstr ""
-#: .././mainwin.py:30587
+#: .././mainwin.py:30988
msgid "Create video clip"
msgstr ""
-#: .././mainwin.py:30614 .././config.py:11059 .././config.py:11699
-#: .././config.py:14362
+#: .././mainwin.py:31015 .././config.py:11098 .././config.py:11738
+#: .././config.py:14401
msgid "Start timestamp (e.g. 15:29)"
msgstr ""
-#: .././mainwin.py:30624 .././config.py:11079 .././config.py:11719
-#: .././config.py:14375
+#: .././mainwin.py:31025 .././config.py:11118 .././config.py:11758
+#: .././config.py:14414
msgid "Stop timestamp (optional)"
msgstr ""
-#: .././mainwin.py:30633 .././config.py:11094 .././config.py:11734
-#: .././config.py:14388
+#: .././mainwin.py:31034 .././config.py:11133 .././config.py:11773
+#: .././config.py:14427
msgid "Clip title (optional)"
msgstr ""
-#: .././mainwin.py:30641
+#: .././mainwin.py:31042
msgid "Download this clip"
msgstr ""
-#: .././mainwin.py:30643
+#: .././mainwin.py:31044
msgid "Create this clip"
msgstr ""
-#: .././mainwin.py:30652
+#: .././mainwin.py:31053
msgid "Download all clips"
msgstr ""
-#: .././mainwin.py:30654
+#: .././mainwin.py:31055
msgid "Create all clips"
msgstr ""
-#: .././mainwin.py:30821
+#: .././mainwin.py:31222
msgid "Download sliced video"
msgstr ""
-#: .././mainwin.py:30823
+#: .././mainwin.py:31224
msgid "Create sliced video"
msgstr ""
-#: .././mainwin.py:30850 .././config.py:11279 .././config.py:11941
-#: .././config.py:14567
+#: .././mainwin.py:31251 .././config.py:11318 .././config.py:11980
+#: .././config.py:14606
msgid "Start (timestamp or seconds)"
msgstr ""
-#: .././mainwin.py:30860 .././config.py:11292 .././config.py:11954
-#: .././config.py:14579
+#: .././mainwin.py:31261 .././config.py:11331 .././config.py:11993
+#: .././config.py:14618
msgid "Stop (optional)"
msgstr ""
-#: .././mainwin.py:30868
+#: .././mainwin.py:31269
msgid "Download and remove this slice"
msgstr ""
-#: .././mainwin.py:30870
+#: .././mainwin.py:31271
msgid "Create this sliced video"
msgstr ""
-#: .././mainwin.py:30885
+#: .././mainwin.py:31286
msgid "Download and remove everything but this slice"
msgstr ""
-#: .././mainwin.py:30893
+#: .././mainwin.py:31294
msgid "Download video with all slices removed"
msgstr ""
-#: .././mainwin.py:30895
+#: .././mainwin.py:31296
msgid "Create video with all slices removed"
msgstr ""
-#: .././mainwin.py:31052
+#: .././mainwin.py:31453
msgid "Set removal time"
msgstr ""
-#: .././mainwin.py:31075
+#: .././mainwin.py:31476
msgid ""
"When videos are checked/downloaded, older videos\n"
"are removed from the Recent Videos folder."
msgstr ""
-#: .././mainwin.py:31086 .././config.py:17291
+#: .././mainwin.py:31487 .././config.py:17483
msgid "Empty the whole folder"
msgstr ""
-#: .././mainwin.py:31093 .././config.py:17300
+#: .././mainwin.py:31494 .././config.py:17492
msgid "Remove videos after days"
msgstr ""
-#: .././mainwin.py:31181
+#: .././mainwin.py:31582
msgid "Stale lockfile"
msgstr ""
-#: .././mainwin.py:31218
+#: .././mainwin.py:31619
msgid ""
"Failed to load the Tartube database file, because another copy of Tartube "
"seems to be using it"
msgstr ""
-#: .././mainwin.py:31225
+#: .././mainwin.py:31626
msgid "Do you want to load it anyway?"
msgstr ""
-#: .././mainwin.py:31231
+#: .././mainwin.py:31632
msgid ""
"(Only click 'Yes' if you are sure that other copies of Tartube are not using "
"the database right now)"
msgstr ""
-#: .././mainwin.py:31243
+#: .././mainwin.py:31644
msgid "Yes, load the file"
msgstr ""
-#: .././mainwin.py:31250
+#: .././mainwin.py:31651
msgid "No, just shut down Tartube"
msgstr ""
-#: .././mainwin.py:31252
+#: .././mainwin.py:31653
msgid "No, don't load the file"
msgstr ""
-#: .././mainwin.py:31338
+#: .././mainwin.py:31739
msgid "Rename channel"
msgstr ""
-#: .././mainwin.py:31340
+#: .././mainwin.py:31741
msgid "Rename playlist"
msgstr ""
-#: .././mainwin.py:31342
+#: .././mainwin.py:31743
msgid "Rename folder"
msgstr ""
-#: .././mainwin.py:31366
+#: .././mainwin.py:31767
msgid "Set the new name for the channel:"
msgstr ""
-#: .././mainwin.py:31368
+#: .././mainwin.py:31769
msgid "Set the new name for the playlist:"
msgstr ""
-#: .././mainwin.py:31370
+#: .././mainwin.py:31771
msgid "Set the new name for the folder:"
msgstr ""
-#: .././mainwin.py:31376
+#: .././mainwin.py:31777
msgid "N.B. This procedure will modify your filesystem!\n"
msgstr ""
-#: .././mainwin.py:31446
+#: .././mainwin.py:31847
msgid "Reset channel/playlist names"
msgstr ""
-#: .././mainwin.py:31472
+#: .././mainwin.py:31873
msgid "This list is updated whenever channels/playlists are checked/downloaded"
msgstr ""
-#: .././mainwin.py:31480
+#: .././mainwin.py:31881
msgid "Select which names should be reset to the names on the original website"
msgstr ""
#. 'Reset' button
#. (Signal connect appears below)
-#: .././mainwin.py:31504 .././config.py:1091 .././config.py:5814
-#: .././config.py:5968 .././config.py:22753 .././config.py:23594
-#: .././config.py:23622 .././config.py:24236 .././config.py:24277
-#: .././config.py:24351
+#: .././mainwin.py:31905 .././config.py:1091 .././config.py:5839
+#: .././config.py:5993 .././config.py:23127 .././config.py:24087
+#: .././config.py:24115 .././config.py:24729 .././config.py:24770
+#: .././config.py:24837
msgid "Reset"
msgstr ""
-#: .././mainwin.py:31520
+#: .././mainwin.py:31921
msgid "Database name"
msgstr ""
-#: .././mainwin.py:31528
+#: .././mainwin.py:31929
msgid "Original name"
msgstr ""
-#: .././mainwin.py:31738
+#: .././mainwin.py:32139
msgid "Add to scheduled download"
msgstr ""
-#: .././mainwin.py:31761
+#: .././mainwin.py:32162
msgid "Add the channel to this scheduled download:"
msgstr ""
-#: .././mainwin.py:31763
+#: .././mainwin.py:32164
msgid "Add the playlist to this scheduled download:"
msgstr ""
-#: .././mainwin.py:31765
+#: .././mainwin.py:32166
msgid "Add the folder to this scheduled download:"
msgstr ""
-#: .././mainwin.py:31861
+#: .././mainwin.py:32262
msgid "Set download destination"
msgstr ""
-#: .././mainwin.py:31906
+#: .././mainwin.py:32307
msgid "This channel normally downloads videos into its own folder"
msgstr ""
-#: .././mainwin.py:31911
+#: .././mainwin.py:32312
msgid "This playlist normally downloads videos into its own folder"
msgstr ""
-#: .././mainwin.py:31916
+#: .././mainwin.py:32317
msgid "This folder normally downloads videos into itself"
msgstr ""
-#: .././mainwin.py:31921
+#: .././mainwin.py:32322
msgid "This channel normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31926
+#: .././mainwin.py:32327
msgid "This playlist normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31931
+#: .././mainwin.py:32332
msgid "This folder normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31941
+#: .././mainwin.py:32342
msgid "Use this location"
msgstr ""
-#: .././mainwin.py:31949
+#: .././mainwin.py:32350
msgid "Choose a different location if:"
msgstr ""
-#: .././mainwin.py:31952
+#: .././mainwin.py:32353
msgid ""
"You want to add a channel and its playlists, without downloading the same "
"video twice"
msgstr ""
-#: .././mainwin.py:31958
+#: .././mainwin.py:32359
msgid ""
"A video creator has channels on both YouTube and BitChute, and you want to "
"add both without downloading the same video twice"
msgstr ""
-#: .././mainwin.py:32058
+#: .././mainwin.py:32459
msgid ""
"Using an external folder is not recommended, in general. Choose an external "
"folder if:"
msgstr ""
-#: .././mainwin.py:32063
+#: .././mainwin.py:32464
msgid ""
"Using an external directory is not recommended, in general. Choose an "
"external directory if:"
msgstr ""
-#: .././mainwin.py:32069
+#: .././mainwin.py:32470
msgid ""
"You want a different application to process the downloaded videos (other "
"applications should not modify Tartube's main data folder)"
msgstr ""
-#: .././mainwin.py:32075
+#: .././mainwin.py:32476
msgid ""
"You want a different application to process the downloaded videos (other "
"applications should not modify Tartube's main data directory)"
msgstr ""
#. (Signal connect appears below)
-#: .././mainwin.py:32092 .././config.py:5564 .././config.py:5810
-#: .././config.py:5964 .././config.py:8044 .././config.py:8065
-#: .././config.py:8086 .././config.py:22749 .././config.py:24120
-#: .././config.py:24232 .././config.py:24273 .././config.py:24347
+#: .././mainwin.py:32493 .././config.py:5566 .././config.py:5835
+#: .././config.py:5989 .././config.py:8069 .././config.py:8090
+#: .././config.py:8111 .././config.py:23123 .././config.py:24613
+#: .././config.py:24725 .././config.py:24766 .././config.py:24833
msgid "Set"
msgstr ""
-#: .././mainwin.py:32173
+#: .././mainwin.py:32574
msgid "Select an external folder"
msgstr ""
-#: .././mainwin.py:32175
+#: .././mainwin.py:32576
msgid "Select an external directory"
msgstr ""
-#: .././mainwin.py:32195
+#: .././mainwin.py:32596
msgid "An external folder must not be inside Tartube's own data folder"
msgstr ""
-#: .././mainwin.py:32201
+#: .././mainwin.py:32602
msgid "An external directory must not be inside Tartube's own data directory"
msgstr ""
-#: .././mainwin.py:32391
+#: .././mainwin.py:32792
msgid "Set nickname"
msgstr ""
-#: .././mainwin.py:32416
+#: .././mainwin.py:32817
#, python-brace-format
msgid ""
"Set a nickname for the channel '{0}' (or leave it blank to reset the "
"nickname)"
msgstr ""
-#: .././mainwin.py:32421
+#: .././mainwin.py:32822
#, python-brace-format
msgid ""
"Set a nickname for the playlist '{0}' (or leave it blank to reset the "
"nickname)"
msgstr ""
-#: .././mainwin.py:32426
+#: .././mainwin.py:32827
#, python-brace-format
msgid ""
"Set a nickname for the folder '{0}' (or leave it blank to reset the nickname)"
msgstr ""
-#: .././mainwin.py:32486
+#: .././mainwin.py:32887
msgid "Set URL"
msgstr ""
-#: .././mainwin.py:32511
+#: .././mainwin.py:32912
#, python-brace-format
msgid "Update the URL for the channel '{0}'"
msgstr ""
-#: .././mainwin.py:32515
+#: .././mainwin.py:32916
#, python-brace-format
msgid "Update the URL for the playlist '{0}'"
msgstr ""
-#: .././mainwin.py:32576
+#: .././mainwin.py:32977
msgid "Show system command"
msgstr ""
-#: .././mainwin.py:32630
+#: .././mainwin.py:33031
msgid "Copy to clipboard"
msgstr ""
-#: .././mainwin.py:32792 .././config.py:23094
+#: .././mainwin.py:33193 .././config.py:23574
msgid "Test"
msgstr ""
-#: .././mainwin.py:32812
+#: .././mainwin.py:33213
msgid "URL of the video to download (optional)"
msgstr ""
-#: .././mainwin.py:32823
+#: .././mainwin.py:33224
msgid "Command line options (optional)"
msgstr ""
-#: .././mainwin.py:32901
+#: .././mainwin.py:33302
msgid "Tidy up files"
msgstr ""
-#: .././mainwin.py:32903
+#: .././mainwin.py:33304
msgid "Tidy up channel"
msgstr ""
-#: .././mainwin.py:32905
+#: .././mainwin.py:33306
msgid "Tidy up playlist"
msgstr ""
-#: .././mainwin.py:32907
+#: .././mainwin.py:33308
msgid "Tidy up folder"
msgstr ""
-#: .././mainwin.py:32936
+#: .././mainwin.py:33337
msgid "Check that videos are not corrupted"
msgstr ""
-#: .././mainwin.py:32941
+#: .././mainwin.py:33342
msgid "Delete corrupted video files"
msgstr ""
-#: .././mainwin.py:32951
+#: .././mainwin.py:33352
msgid "Check that videos do/don't exist"
msgstr ""
-#: .././mainwin.py:32958
+#: .././mainwin.py:33359
msgid ""
"Delete downloaded video files (doesn't remove videos from Tartube's database)"
msgstr ""
-#: .././mainwin.py:32970
+#: .././mainwin.py:33371
msgid "Also delete all video/audio files with the same name"
msgstr ""
-#: .././mainwin.py:32978
+#: .././mainwin.py:33379
msgid "Remove no-URL videos from database"
msgstr ""
-#: .././mainwin.py:32982
+#: .././mainwin.py:33383
msgid "Remove duplicate videos from database"
msgstr ""
-#: .././mainwin.py:32987
+#: .././mainwin.py:33388
msgid "Delete all archive files"
msgstr ""
-#: .././mainwin.py:32991
+#: .././mainwin.py:33392
msgid "Move thumbnails into own folder"
msgstr ""
-#: .././mainwin.py:32996
+#: .././mainwin.py:33397
msgid "Delete all thumbnail files"
msgstr ""
-#: .././mainwin.py:33002
+#: .././mainwin.py:33403
msgid "Convert .webp thumbnails to .jpg using FFmpeg"
msgstr ""
-#: .././mainwin.py:33011
+#: .././mainwin.py:33412
msgid "Move other metadata files into own folder"
msgstr ""
-#: .././mainwin.py:33019
+#: .././mainwin.py:33420
msgid "Delete all description files"
msgstr ""
-#: .././mainwin.py:33023
+#: .././mainwin.py:33424
msgid "Delete all metadata (JSON) files"
msgstr ""
-#: .././mainwin.py:33027
+#: .././mainwin.py:33428
msgid "Delete all annotation files"
msgstr ""
#. (Signal connect appears below)
-#: .././mainwin.py:33036
+#: .././mainwin.py:33437
msgid "Select none"
msgstr ""
@@ -4012,7 +4059,7 @@ msgstr ""
msgid "Uploads"
msgstr ""
-#: .././config.py:439 .././config.py:14050
+#: .././config.py:439 .././config.py:14089
msgid "File size"
msgstr ""
@@ -4064,7 +4111,7 @@ msgstr ""
msgid "Days"
msgstr ""
-#: .././config.py:540 .././config.py:17780
+#: .././config.py:540 .././config.py:17972
msgid "Hours"
msgstr ""
@@ -4105,7 +4152,7 @@ msgstr ""
msgid "Apply changes without closing the window"
msgstr ""
-#: .././config.py:1112 .././config.py:13148 .././config.py:13514
+#: .././config.py:1112 .././config.py:13187 .././config.py:13553
msgid "Apply changes"
msgstr ""
@@ -4141,7 +4188,7 @@ msgstr ""
msgid "Video URL"
msgstr ""
-#: .././config.py:2138 .././config.py:7148
+#: .././config.py:2138 .././config.py:7173
msgid "_Options"
msgstr ""
@@ -4165,7 +4212,7 @@ msgstr ""
msgid "Custom download settings"
msgstr ""
-#: .././config.py:3005 .././config.py:4570 .././config.py:10247
+#: .././config.py:3005 .././config.py:4570 .././config.py:10286
msgid "_Name"
msgstr ""
@@ -4220,7 +4267,8 @@ msgstr ""
msgid "Completely reset all settings to their default values"
msgstr ""
-#: .././config.py:3163
+#. Add this tab...
+#: .././config.py:3163 .././config.py:7151
msgid "_Subtitles"
msgstr ""
@@ -4250,15 +4298,15 @@ msgid ""
"any subtitles):"
msgstr ""
-#: .././config.py:3226 .././config.py:7222
+#: .././config.py:3226 .././config.py:7247
msgid "Add language"
msgstr ""
-#: .././config.py:3238 .././config.py:7240
+#: .././config.py:3238 .././config.py:7265
msgid "Remove language"
msgstr ""
-#: .././config.py:3276 .././config.py:11607 .././config.py:23208
+#: .././config.py:3276 .././config.py:11646
msgid "_Clips"
msgstr ""
@@ -4282,7 +4330,7 @@ msgstr ""
msgid "Remove slices from the video using SponsorBlock data (requires FFmpeg)"
msgstr ""
-#: .././config.py:3341 .././config.py:17817 .././config.py:18125
+#: .././config.py:3341 .././config.py:18009 .././config.py:18317
msgid "Remove"
msgstr ""
@@ -4322,8 +4370,8 @@ msgstr ""
msgid "Minimum delay to apply (in minutes; randomises the actual delay)"
msgstr "Minimum delay to apply (in minutes; randomizes the actual delay)"
-#: .././config.py:3501
-msgid "Mirrors"
+#: .././config.py:3501 .././config.py:24061
+msgid "_Mirrors"
msgstr ""
#: .././config.py:3506
@@ -4346,12 +4394,12 @@ msgstr ""
msgid "Obtain the video from this YouTube front-end:"
msgstr ""
-#: .././config.py:3556 .././config.py:23600
+#: .././config.py:3556 .././config.py:24093
msgid "Type the exact text that replaces youtube.com e.g."
msgstr ""
-#: .././config.py:3579 .././config.py:22848
-msgid "Li_vestreams"
+#: .././config.py:3579
+msgid "L_ivestreams"
msgstr ""
#: .././config.py:3583
@@ -4374,8 +4422,8 @@ msgstr ""
msgid "Only download finished livestreams"
msgstr ""
-#: .././config.py:3678 .././config.py:4060 .././config.py:8476
-#: .././config.py:9286 .././config.py:12658 .././config.py:13054
+#: .././config.py:3678 .././config.py:4060 .././config.py:8501
+#: .././config.py:9325 .././config.py:12697 .././config.py:13093
msgid "This procedure cannot be reversed. Are you sure you want to continue?"
msgstr ""
@@ -4441,7 +4489,7 @@ msgid "Completely reset all download options to their default values"
msgstr ""
#. Add this tab...
-#: .././config.py:4769 .././config.py:4780 .././config.py:22169
+#: .././config.py:4769 .././config.py:4780 .././config.py:22487
msgid "_Downloads"
msgstr ""
@@ -4492,7 +4540,7 @@ msgstr ""
msgid "_Playlists"
msgstr ""
-#: .././config.py:4970 .././config.py:18176 .././config.py:21851
+#: .././config.py:4970 .././config.py:18368 .././config.py:22169
msgid "_Limits"
msgstr ""
@@ -4546,7 +4594,7 @@ msgid "E_xternal"
msgstr ""
#. Add this tab...
-#: .././config.py:5141 .././config.py:19183
+#: .././config.py:5141 .././config.py:19386
msgid "_Files"
msgstr ""
@@ -4570,11 +4618,11 @@ msgstr ""
msgid "Add to template:"
msgstr ""
-#: .././config.py:5234 .././config.py:13735
+#: .././config.py:5234 .././config.py:13774
msgid "Video properties"
msgstr ""
-#: .././config.py:5236 .././config.py:14020
+#: .././config.py:5236 .././config.py:14059
msgid "Video ID"
msgstr ""
@@ -4602,191 +4650,191 @@ msgstr "Video license"
msgid "Age restriction (years)"
msgstr ""
-#: .././config.py:5244
-msgid "Is a livestream"
-msgstr ""
-
#: .././config.py:5245
-msgid "Autonumber videos, starting at 0"
+msgid "Autonumber videos"
msgstr ""
#: .././config.py:5247
-msgid "Creator/uploader"
+msgid "Autonumber videos (playlists)"
msgstr ""
#: .././config.py:5249
+msgid "Creator/uploader"
+msgstr ""
+
+#: .././config.py:5251
msgid "Full name of video uploader"
msgstr ""
-#: .././config.py:5250
+#: .././config.py:5252
msgid "Uploader ID"
msgstr ""
-#: .././config.py:5251
+#: .././config.py:5253
msgid "Nickname/ID of video uploader"
msgstr ""
-#: .././config.py:5252
+#: .././config.py:5254
msgid "Channel name"
msgstr ""
-#: .././config.py:5253
+#: .././config.py:5255
msgid "Channel ID"
msgstr ""
-#: .././config.py:5254
+#: .././config.py:5256
msgid "Playlist name"
msgstr ""
-#: .././config.py:5255 .././config.py:16317
+#: .././config.py:5257 .././config.py:16357
msgid "Playlist ID"
msgstr ""
-#: .././config.py:5256
+#: .././config.py:5258
msgid "Video index in playlist"
msgstr ""
-#: .././config.py:5258
+#: .././config.py:5260
msgid "Date/time/location"
msgstr ""
-#: .././config.py:5260
+#: .././config.py:5262
msgid "Release date (YYYYMMDD)"
msgstr ""
-#: .././config.py:5261
+#: .././config.py:5263
msgid "Release time (UNIX timestamp)"
msgstr ""
-#: .././config.py:5262
+#: .././config.py:5264
msgid "Upload data (YYYYMMDD)"
msgstr ""
-#: .././config.py:5263
+#: .././config.py:5265
msgid "Video length (seconds)"
msgstr ""
-#: .././config.py:5264
+#: .././config.py:5266
msgid "Filming location"
msgstr ""
-#: .././config.py:5266 .././config.py:5268
+#: .././config.py:5268 .././config.py:5270
msgid "Video format"
msgstr ""
-#: .././config.py:5269
+#: .././config.py:5271
msgid "Video format code"
msgstr ""
-#: .././config.py:5270
+#: .././config.py:5272
msgid "Video width"
msgstr ""
-#: .././config.py:5271
+#: .././config.py:5273
msgid "Video height"
msgstr ""
-#: .././config.py:5273
+#: .././config.py:5275
msgid "Video frame rate"
msgstr ""
-#: .././config.py:5274
+#: .././config.py:5276
msgid "Average video/audio bitrate (KiB/s)"
msgstr ""
-#: .././config.py:5275
+#: .././config.py:5277
msgid "Average video bitrate (KiB/s)"
msgstr ""
-#: .././config.py:5276
+#: .././config.py:5278
msgid "Average audio bitrate (KiB/s)"
msgstr ""
-#: .././config.py:5278
+#: .././config.py:5280
msgid "Ratings/comments"
msgstr ""
-#: .././config.py:5280
+#: .././config.py:5282
msgid "Number of views"
msgstr ""
-#: .././config.py:5281
+#: .././config.py:5283
msgid "Number of positive ratings"
msgstr ""
-#: .././config.py:5282
+#: .././config.py:5284
msgid "Number of negative ratings"
msgstr ""
-#: .././config.py:5283
+#: .././config.py:5285
msgid "Average rating"
msgstr ""
-#: .././config.py:5284
+#: .././config.py:5286
msgid "Number of reposts"
msgstr ""
-#: .././config.py:5285
+#: .././config.py:5287
msgid "Number of comments"
msgstr ""
-#: .././config.py:5321 .././config.py:5430 .././config.py:5573
-#: .././config.py:17811 .././config.py:18115 .././config.py:21549
-#: .././config.py:22518 .././config.py:24476 .././config.py:24754
+#: .././config.py:5323 .././config.py:5432 .././config.py:5575
+#: .././config.py:18003 .././config.py:18307 .././config.py:21867
+#: .././config.py:22892 .././config.py:24971 .././config.py:25249
msgid "Add"
msgstr ""
-#: .././config.py:5354
+#: .././config.py:5356
msgid "_Override"
msgstr ""
-#: .././config.py:5361
+#: .././config.py:5363
msgid "List of output filename templates"
msgstr ""
-#: .././config.py:5368
+#: .././config.py:5370
msgid "Overrides the output template in the 'File names' tab"
msgstr ""
-#: .././config.py:5387
+#: .././config.py:5389
msgid "Template"
msgstr ""
-#: .././config.py:5406 .././config.py:5537
+#: .././config.py:5408 .././config.py:5539
msgid "Output type"
msgstr ""
-#: .././config.py:5419
+#: .././config.py:5421
msgid "Output template"
msgstr ""
-#: .././config.py:5441 .././config.py:5584 .././config.py:21585
-#: .././config.py:22576 .././config.py:24534 .././config.py:24812
+#: .././config.py:5443 .././config.py:5586 .././config.py:21903
+#: .././config.py:22950 .././config.py:25029 .././config.py:25307
msgid "Delete"
msgstr ""
-#: .././config.py:5450 .././config.py:5593 .././config.py:20135
-#: .././config.py:22592 .././config.py:24550 .././config.py:24828
+#: .././config.py:5452 .././config.py:5595 .././config.py:20445
+#: .././config.py:22966 .././config.py:25045 .././config.py:25323
msgid "Refresh list"
msgstr ""
-#: .././config.py:5493
+#: .././config.py:5495
msgid "_Paths"
msgstr ""
-#: .././config.py:5500
+#: .././config.py:5502
msgid "List of output paths"
msgstr ""
-#: .././config.py:5518
+#: .././config.py:5520
msgid "Path"
msgstr ""
-#: .././config.py:5552
+#: .././config.py:5554
msgid "Output path"
msgstr ""
-#: .././config.py:5636
+#: .././config.py:5638
msgid "_Filesystem"
msgstr ""
@@ -4798,11 +4846,11 @@ msgstr ""
msgid "Restrict filenames to ASCII characters"
msgstr ""
-#: .././config.py:5657
+#: .././config.py:5659
msgid "Use the server's file modification time"
msgstr ""
-#: .././config.py:5664
+#: .././config.py:5666
msgid "Download all videos into this folder"
msgstr ""
@@ -4815,936 +4863,943 @@ msgid "Limit filename length (excluding extension) to this many characters"
msgstr ""
#: .././config.py:5755
+msgid "WARNING: The filename length includes the length of the folder name!"
+msgstr ""
+
+#: .././config.py:5760
+msgid "WARNING: The filename length includes the length of the directory nam!e"
+msgstr ""
+
+#: .././config.py:5772
+msgid "Do not overwrite any files"
+msgstr ""
+
+#: .././config.py:5780
msgid "Overwrite all video and metadata files (includes '--no-continue')"
msgstr ""
-#: .././config.py:5764
+#: .././config.py:5789
msgid "Write playlist metadata in addition to video metadata"
msgstr ""
-#: .././config.py:5772
+#: .././config.py:5797
msgid "Write all fields, including private fields, to the .info.json file"
msgstr ""
-#: .././config.py:5794
+#: .././config.py:5819
msgid "_Cookies"
msgstr ""
-#: .././config.py:5801
+#: .././config.py:5826
msgid "Cookies options"
msgstr ""
-#: .././config.py:5806
+#: .././config.py:5831
msgid "Path to the downloader's cookie jar file"
msgstr ""
-#: .././config.py:5861
+#: .././config.py:5886
msgid "Cookie options"
msgstr ""
-#: .././config.py:5866
+#: .././config.py:5891
msgid "Do not read/dump cookies from/to the cookiejar file"
msgstr ""
-#: .././config.py:5873
+#: .././config.py:5898
msgid "Do not load cookies from browser"
msgstr ""
-#: .././config.py:5884
+#: .././config.py:5909
msgid "Retrieve cookies from browser"
msgstr ""
-#: .././config.py:5902
+#: .././config.py:5927
msgid "Browser"
msgstr ""
-#: .././config.py:5920
+#: .././config.py:5945
msgid "Chromium keyring"
msgstr ""
-#: .././config.py:5939
+#: .././config.py:5964
msgid "Browser profile name (optional)"
msgstr ""
-#: .././config.py:5952
+#: .././config.py:5977
msgid "Browser profile path (optional)"
msgstr ""
-#: .././config.py:6144
+#: .././config.py:6169
msgid "_Shortcuts"
msgstr ""
-#: .././config.py:6150
+#: .././config.py:6175
msgid "Internet shortcut options"
msgstr ""
-#: .././config.py:6156
+#: .././config.py:6181
msgid "Write an internet shortcut file (.url, .webloc or .desktop)"
msgstr ""
-#: .././config.py:6163
+#: .././config.py:6188
msgid "Write a Windows internet shortcut file (.url)"
msgstr ""
-#: .././config.py:6170
+#: .././config.py:6195
msgid "Write a macOS inernet shortcut file (.webloc)"
msgstr ""
-#: .././config.py:6177
+#: .././config.py:6202
msgid "Write a Linux internet shortcut file (.desktop)"
msgstr ""
-#: .././config.py:6197
+#: .././config.py:6222
msgid "_Write/move"
msgstr ""
-#: .././config.py:6204
+#: .././config.py:6229
msgid "File write options"
msgstr ""
-#: .././config.py:6209
+#: .././config.py:6234
msgid "Write video's description to a .description file"
msgstr ""
-#: .././config.py:6216
+#: .././config.py:6241
msgid "Write video's metadata to an .info.json file"
msgstr ""
-#: .././config.py:6224
+#: .././config.py:6249
msgid "Write video's annotations to an .annotations.xml file"
msgstr ""
-#: .././config.py:6233
+#: .././config.py:6258
msgid ""
"Annotations are not downloaded when checking videos/channels/playlists/"
"folders"
msgstr ""
-#: .././config.py:6240
+#: .././config.py:6265
msgid "Write the video's thumbnail to the same folder"
msgstr ""
-#: .././config.py:6248
+#: .././config.py:6273
msgid "File move options"
msgstr ""
-#: .././config.py:6253
+#: .././config.py:6278
msgid "Move video's description file into a sub-folder"
msgstr ""
-#: .././config.py:6259
+#: .././config.py:6284
msgid "Write video's metadata file into a sub-folder"
msgstr ""
-#: .././config.py:6265
+#: .././config.py:6290
msgid "Write video's annotations file into a sub-folder"
msgstr ""
-#: .././config.py:6271
+#: .././config.py:6296
msgid "Write the video's thumbnail into a sub-folder"
msgstr ""
-#: .././config.py:6290
+#: .././config.py:6315
msgid "_Keep"
msgstr ""
-#: .././config.py:6296
+#: .././config.py:6321
msgid "Options during real (not simulated) downloads"
msgstr ""
-#: .././config.py:6302 .././config.py:6333
+#: .././config.py:6327 .././config.py:6358
msgid "Keep the description file after the download has finished"
msgstr ""
-#: .././config.py:6308 .././config.py:6339
+#: .././config.py:6333 .././config.py:6364
msgid "Keep the metadata file after the download has finished"
msgstr ""
-#: .././config.py:6314 .././config.py:6345
+#: .././config.py:6339 .././config.py:6370
msgid "Keep the annotations file after the download has finished"
msgstr ""
-#: .././config.py:6320 .././config.py:6351
+#: .././config.py:6345 .././config.py:6376
msgid "Keep the thumbnail file after the download has finished"
msgstr ""
-#: .././config.py:6327
+#: .././config.py:6352
msgid "Options during simulated (not real) downloads"
msgstr ""
#. Add this tab...
-#: .././config.py:6365
+#: .././config.py:6390
msgid "F_ormats"
msgstr ""
-#: .././config.py:6402
+#: .././config.py:6427
msgid "Preferred format options"
msgstr ""
-#: .././config.py:6449
+#: .././config.py:6474
msgid "If you want a specific format, install FFmpeg and use the Convert tab!"
msgstr ""
-#: .././config.py:6456
+#: .././config.py:6481
msgid "Recognised video/audio formats"
msgstr "Recognized video/audio formats"
-#: .././config.py:6471
+#: .././config.py:6496
msgid "Add format"
msgstr ""
-#: .././config.py:6484
+#: .././config.py:6509
msgid "Type extractor code directly"
msgstr ""
-#: .././config.py:6489
+#: .././config.py:6514
msgid "List of preferred formats"
msgstr ""
-#: .././config.py:6502
+#: .././config.py:6527
msgid "Remove format"
msgstr ""
-#: .././config.py:6569
+#: .././config.py:6594
msgid "If a merge is required after post-processing, output to this format:"
msgstr ""
-#: .././config.py:6602
+#: .././config.py:6627
msgid "_Preferred"
msgstr ""
#. Add this tab...
-#: .././config.py:6622 .././config.py:7361
+#: .././config.py:6647 .././config.py:7386
msgid "_Advanced"
msgstr ""
-#: .././config.py:6630
+#: .././config.py:6655
msgid "Multiple format options"
msgstr ""
-#: .././config.py:6639
+#: .././config.py:6664
msgid ""
"Multiple formats will not be downloaded, because an archive file will be "
"created"
msgstr ""
-#: .././config.py:6642
+#: .././config.py:6667
msgid "The archive file can be disabled in the System Preferences window"
msgstr ""
-#: .././config.py:6651
+#: .././config.py:6676
msgid ""
"For each video, download the first available format from the preferred list"
msgstr ""
-#: .././config.py:6665
+#: .././config.py:6690
msgid ""
"From the preferred list, download the first format that's available for all "
"videos"
msgstr ""
-#: .././config.py:6679
+#: .././config.py:6704
msgid "For each video, download all available formats from the preferred list"
msgstr ""
-#: .././config.py:6692
+#: .././config.py:6717
msgid "Download all available formats for all videos"
msgstr ""
-#: .././config.py:6725 .././config.py:6745
+#: .././config.py:6750 .././config.py:6770
msgid "Other format options"
msgstr ""
-#: .././config.py:6730
+#: .././config.py:6755
msgid "Prefer free video formats, unless one is specified above"
msgstr ""
-#: .././config.py:6737
+#: .././config.py:6762
msgid "Do not download DASH-related data for YouTube videos"
msgstr ""
-#: .././config.py:6752
+#: .././config.py:6777
msgid "Check formats selected are actually downloadable (Experimental)"
msgstr ""
-#: .././config.py:6762
+#: .././config.py:6787
msgid ""
"Allow unplayable formats to be listed and downloaded (also disables post-"
"processing)"
msgstr ""
-#: .././config.py:6778
+#: .././config.py:6803
msgid "_Convert"
msgstr ""
-#: .././config.py:6783
+#: .././config.py:6808
msgid "Convert to video"
msgstr ""
-#: .././config.py:6788
+#: .././config.py:6813
msgid "Convert downloaded video to another format"
msgstr ""
-#: .././config.py:6802
+#: .././config.py:6827
msgid "Convert to audio"
msgstr ""
-#: .././config.py:6808
+#: .././config.py:6833
msgid ""
"Download each video, extract the sound, and then discard the original video"
msgstr ""
-#: .././config.py:6813
+#: .././config.py:6838
msgid "(requires that FFmpeg or AVConv is installed on your system)"
msgstr ""
-#: .././config.py:6824
+#: .././config.py:6849
msgid "Use this audio format:"
msgstr ""
-#: .././config.py:6840
+#: .././config.py:6865
msgid "Use this audio quality:"
msgstr ""
-#: .././config.py:6846 .././config.py:6945
+#: .././config.py:6871 .././config.py:6970
msgid "High"
msgstr ""
-#: .././config.py:6848 .././config.py:6947
+#: .././config.py:6873 .././config.py:6972
msgid "Low"
msgstr ""
#. Add this tab...
-#: .././config.py:6868
+#: .././config.py:6893
msgid "_Post-processing"
msgstr ""
#. Add this tab...
-#: .././config.py:6886 .././config.py:13892 .././config.py:16157
-#: .././config.py:16978 .././config.py:17599 .././config.py:18980
+#: .././config.py:6911 .././config.py:13931 .././config.py:16197
+#: .././config.py:17170 .././config.py:17791 .././config.py:19183
msgid "_General"
msgstr ""
-#: .././config.py:6894 .././config.py:7054 .././config.py:7329
+#: .././config.py:6919 .././config.py:7079 .././config.py:7354
msgid "Post-processing options"
msgstr ""
-#: .././config.py:6900
+#: .././config.py:6925
msgid "Post-process video files to convert them to audio-only files"
msgstr ""
-#: .././config.py:6908
+#: .././config.py:6933
msgid "Prefer AVConv over FFmpeg"
msgstr ""
-#: .././config.py:6917
+#: .././config.py:6942
msgid "Prefer FFmpeg over AVConv (default)"
msgstr ""
-#: .././config.py:6926
+#: .././config.py:6951
msgid "Audio format of the post-processed file"
msgstr ""
-#: .././config.py:6940
+#: .././config.py:6965
msgid "Audio quality of the post-processed file"
msgstr ""
-#: .././config.py:6958
+#: .././config.py:6983
msgid "Encode video to another format, if necessary"
msgstr ""
-#: .././config.py:6971
+#: .././config.py:6996
msgid "Arguments to pass to post-processor"
msgstr ""
-#: .././config.py:6982
+#: .././config.py:7007
msgid "Keep original file after processing it"
msgstr ""
-#: .././config.py:6990
+#: .././config.py:7015
msgid "Merge subtitles file with video (.mp4 only)"
msgstr ""
-#: .././config.py:7002
+#: .././config.py:7027
msgid "Embed thumbnail in audio file as cover art"
msgstr ""
-#: .././config.py:7009
+#: .././config.py:7034
msgid "Write metadata to the video file"
msgstr ""
-#: .././config.py:7016
+#: .././config.py:7041
msgid "Automatically correct known faults of the file"
msgstr ""
-#: .././config.py:7022
+#: .././config.py:7047
msgid "Do nothing"
msgstr ""
-#: .././config.py:7023
+#: .././config.py:7048
msgid "Warn, but do nothing"
msgstr ""
-#: .././config.py:7024
+#: .././config.py:7049
msgid "Fix if possible, otherwise warn"
msgstr ""
-#: .././config.py:7047
+#: .././config.py:7072
msgid "_yt-dlp"
msgstr ""
-#: .././config.py:7059
+#: .././config.py:7084
msgid "Remux video into another container if necessary"
msgstr ""
-#: .././config.py:7078
+#: .././config.py:7103
msgid "Embed metadata including chapter markers (if supported by format)"
msgstr ""
-#: .././config.py:7087
+#: .././config.py:7112
msgid "Convert thumbnails to another format"
msgstr ""
-#: .././config.py:7102
+#: .././config.py:7127
msgid "Split video into multiple files based on internal chapters"
msgstr ""
-#: .././config.py:7111
+#: .././config.py:7136
msgid "N.B. The 'chapter' prefix can be used in the 'Output' and 'Paths' tabs"
msgstr ""
-#. Add this tab...
-#: .././config.py:7126
-msgid "S_ubtitles"
-msgstr ""
-
-#: .././config.py:7152
+#: .././config.py:7177
msgid "Subtitles options"
msgstr ""
-#: .././config.py:7158
+#: .././config.py:7183
msgid "Don't download the subtitles file"
msgstr ""
-#: .././config.py:7169
+#: .././config.py:7194
msgid "Download the automatic subtitles file (YouTube only)"
msgstr ""
-#: .././config.py:7182
-msgid "Download all available subtitles files"
+#: .././config.py:7207
+msgid "Download all available subtitle files"
msgstr ""
-#: .././config.py:7195
-msgid "Download subtitles file for these languages:"
+#: .././config.py:7220
+msgid "Download subtitle file for these languages:"
msgstr ""
-#: .././config.py:7303
+#: .././config.py:7328
msgid "_More options"
msgstr ""
-#: .././config.py:7309
+#: .././config.py:7334
msgid "Subtitle format options"
msgstr ""
-#: .././config.py:7315
+#: .././config.py:7340
msgid "Preferred subtitle format(s), e.g. 'srt', 'vtt', 'srt/ass/vtt/lrc/best'"
msgstr ""
-#: .././config.py:7334
+#: .././config.py:7359
msgid "Applies to .mp4 videos only; requires FFmpeg/AVConv"
msgstr ""
-#: .././config.py:7341
+#: .././config.py:7366
msgid "During post-processing, merge subtitles file with video"
msgstr ""
-#: .././config.py:7388
+#: .././config.py:7413
msgid "_Configurations"
msgstr ""
-#: .././config.py:7395
+#: .././config.py:7420
msgid "Configuration file options"
msgstr ""
-#: .././config.py:7400
+#: .././config.py:7425
msgid "Use the downloader's configuration file"
msgstr ""
-#: .././config.py:7411 .././config.py:7597
+#: .././config.py:7436 .././config.py:7622
msgid "File loaded from:"
msgstr ""
-#: .././config.py:7422 .././config.py:7608
+#: .././config.py:7447 .././config.py:7633
msgid "Save file"
msgstr ""
-#: .././config.py:7468
+#: .././config.py:7493
msgid "_Authentication"
msgstr ""
-#: .././config.py:7475
+#: .././config.py:7500
msgid "Authentication options"
msgstr ""
-#: .././config.py:7480
+#: .././config.py:7505
msgid "Username with which to log in"
msgstr ""
-#: .././config.py:7491
+#: .././config.py:7516
msgid "Password with which to log in"
msgstr ""
-#: .././config.py:7502
+#: .././config.py:7527
msgid "Password required for this URL"
msgstr ""
-#: .././config.py:7513
+#: .././config.py:7538
msgid "Two-factor authentication code"
msgstr ""
-#: .././config.py:7525
+#: .././config.py:7550
msgid "Adobe Pass multiple-system operator (TV provider) identifier"
msgstr ""
-#: .././config.py:7538
+#: .././config.py:7563
msgid " Adobe Pass multiple-system operator account login"
msgstr ""
-#: .././config.py:7549
+#: .././config.py:7574
msgid "Adobe Pass multiple-system operator account password"
msgstr ""
-#: .././config.py:7573
+#: .././config.py:7598
msgid "._netrc"
msgstr ""
-#: .././config.py:7580
+#: .././config.py:7605
msgid ".netrc options"
msgstr ""
-#: .././config.py:7585
+#: .././config.py:7610
msgid "Use .netrc authentication data"
msgstr ""
-#: .././config.py:7657
+#: .././config.py:7682
msgid "N_etwork"
msgstr ""
-#: .././config.py:7662
+#: .././config.py:7687
msgid "Network options"
msgstr ""
-#: .././config.py:7668
+#: .././config.py:7693
msgid ""
"Use this HTTP/HTTPS proxy (if set, overrides the proxies in Tartube's "
"preferences window"
msgstr ""
-#: .././config.py:7681
+#: .././config.py:7706
msgid "Time to wait for socket connection, before giving up"
msgstr ""
-#: .././config.py:7692
+#: .././config.py:7717
msgid "Bind with this Client-side IP address"
msgstr ""
-#: .././config.py:7703
+#: .././config.py:7728
msgid "Connect using IPv4 only"
msgstr ""
-#: .././config.py:7710
+#: .././config.py:7735
msgid "Connect using IPv6 only"
msgstr ""
-#: .././config.py:7730
+#: .././config.py:7755
msgid "_Geo-restriction"
msgstr ""
-#: .././config.py:7737
+#: .././config.py:7762
msgid "Geo-restriction options"
msgstr ""
-#: .././config.py:7742
+#: .././config.py:7767
msgid "Use this proxy to verify IP address"
msgstr ""
-#: .././config.py:7753
+#: .././config.py:7778
msgid "Bypass using fake X-Forwarded-For HTTP header"
msgstr ""
-#: .././config.py:7760
+#: .././config.py:7785
msgid "Don't bypass using fake HTTP header"
msgstr ""
-#: .././config.py:7767
+#: .././config.py:7792
msgid "Bypass geo-restriction with ISO 3166-2 country code"
msgstr ""
-#: .././config.py:7778
+#: .././config.py:7803
msgid "Bypass with explicit IP block in CIDR notation"
msgstr ""
-#: .././config.py:7806 .././config.py:7896
+#: .././config.py:7831 .././config.py:7921
msgid "Workaround options"
msgstr ""
-#: .././config.py:7811
+#: .././config.py:7836
msgid "Custom user agent"
msgstr ""
-#: .././config.py:7822
+#: .././config.py:7847
msgid "Custom referer if video access has restricted domain"
msgstr ""
-#: .././config.py:7833
+#: .././config.py:7858
msgid "Minimum seconds to sleep before each download"
msgstr ""
-#: .././config.py:7846
+#: .././config.py:7871
msgid "Maximum seconds to sleep before each download"
msgstr ""
-#: .././config.py:7867
+#: .././config.py:7892
msgid "Force this encoding (experimental)"
msgstr ""
-#: .././config.py:7878
+#: .././config.py:7903
msgid "Suppress HTTPS certificate validation"
msgstr ""
-#: .././config.py:7886
+#: .././config.py:7911
msgid ""
"Use an unencrypted connection to retrieve information about videos (YouTube "
"only)"
msgstr ""
-#: .././config.py:7902
+#: .././config.py:7927
msgid "Number of seconds to sleep between requests during data extraction"
msgstr ""
-#: .././config.py:7917
+#: .././config.py:7942
msgid "Number of seconds to sleep before each download (or minimum time)"
msgstr ""
-#: .././config.py:8003
+#: .././config.py:8028
msgid "Video age options"
msgstr ""
-#: .././config.py:8008
+#: .././config.py:8033
msgid "Download videos suitable for this age"
msgstr ""
-#: .././config.py:8029
+#: .././config.py:8054
msgid "Video date options"
msgstr ""
-#: .././config.py:8034
+#: .././config.py:8059
msgid "Only videos uploaded on this date"
msgstr ""
-#: .././config.py:8055
+#: .././config.py:8080
msgid "Only videos uploaded before this date"
msgstr ""
-#: .././config.py:8076
+#: .././config.py:8101
msgid "Only videos uploaded after this date"
msgstr ""
-#: .././config.py:8107
+#: .././config.py:8132
msgid "External downloader options"
msgstr ""
-#: .././config.py:8112
+#: .././config.py:8137
msgid "Use this external downloader"
msgstr ""
-#: .././config.py:8130
+#: .././config.py:8155
msgid "Arguments to pass to external downloader"
msgstr ""
-#: .././config.py:8151
+#: .././config.py:8176
msgid "Video filtering options"
msgstr ""
-#: .././config.py:8156
+#: .././config.py:8181
msgid "Download only matching titles (regex or caseless substring)"
msgstr ""
-#: .././config.py:8168
+#: .././config.py:8193
msgid "Don't download only matching titles (regex or caseless substring)"
msgstr ""
-#: .././config.py:8181
+#: .././config.py:8206
msgid "Generic video filter, for example:"
msgstr ""
-#: .././config.py:8201
+#: .././config.py:8226
msgid "Prefer HLS (HTTP Live Streaming)"
msgstr ""
-#: .././config.py:8208
+#: .././config.py:8233
msgid "Prefer FFMpeg over native HLS downloader"
msgstr ""
-#: .././config.py:8215
+#: .././config.py:8240
msgid "Include advertisements (experimental feature)"
msgstr ""
-#: .././config.py:8222
+#: .././config.py:8247
msgid "Ignore errors and continue the download operation"
msgstr ""
-#: .././config.py:8229
+#: .././config.py:8254
msgid "Number of retries"
msgstr ""
-#: .././config.py:8251
+#: .././config.py:8276
msgid "Playlist options"
msgstr ""
-#: .././config.py:8257
+#: .././config.py:8282
msgid ""
"Channels and playlists are handled in the same way, so these options can be "
"used with both"
msgstr ""
-#: .././config.py:8264
+#: .././config.py:8289
msgid "Start downloading playlist from index"
msgstr ""
-#: .././config.py:8276
+#: .././config.py:8301
msgid "Stop downloading playlist at index"
msgstr ""
-#: .././config.py:8288
+#: .././config.py:8313
msgid "Abort operation after downloading this many videos"
msgstr ""
-#: .././config.py:8300
+#: .././config.py:8325
msgid "Abort downloading the playlist if an error occurs"
msgstr ""
-#: .././config.py:8307
+#: .././config.py:8332
msgid "Download playlist in reverse order"
msgstr ""
-#: .././config.py:8314
+#: .././config.py:8339
msgid "Download playlist in random order"
msgstr ""
-#: .././config.py:8331
+#: .././config.py:8356
msgid "Video size limit options"
msgstr ""
-#: .././config.py:8336
+#: .././config.py:8361
msgid "Minimum file size for video downloads"
msgstr ""
-#: .././config.py:8354
+#: .././config.py:8379
msgid "Maximum file size for video downloads"
msgstr ""
-#: .././config.py:8382
+#: .././config.py:8407
msgid "Video views options"
msgstr ""
-#: .././config.py:8387
+#: .././config.py:8412
msgid "Minimum number of views"
msgstr ""
-#: .././config.py:8399
+#: .././config.py:8424
msgid "Maximum number of views"
msgstr ""
-#: .././config.py:8503
+#: .././config.py:8528
msgid "Select the cookie jar file"
msgstr ""
-#: .././config.py:8634
+#: .././config.py:8659
msgid "Select the browser profile"
msgstr ""
-#: .././config.py:8727
+#: .././config.py:8752
msgid "Could not save the downloader's configuration file"
msgstr ""
-#: .././config.py:8738
+#: .././config.py:8763
msgid "Downloader's configuration file saved"
msgstr ""
-#: .././config.py:8994
+#: .././config.py:9033
msgid ""
"This option won't work unless the format is also added to the list of "
"preferred formats above"
msgstr ""
-#: .././config.py:9132
+#: .././config.py:9171
msgid "Unrecognised extractor code"
msgstr ""
-#: .././config.py:9250
+#: .././config.py:9289
msgid "Could not save the .netrc file"
msgstr ""
-#: .././config.py:9267
+#: .././config.py:9306
msgid ".netrc file saved"
msgstr ""
-#: .././config.py:9325
+#: .././config.py:9364
msgid ""
"Fewer download options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
msgstr ""
-#: .././config.py:9335
+#: .././config.py:9374
msgid "Show advanced download options (when window re-opens)"
msgstr ""
-#: .././config.py:9348
+#: .././config.py:9387
msgid ""
"More download options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
msgstr ""
-#: .././config.py:9358
+#: .././config.py:9397
msgid "Hide advanced download options (when window re-opens)"
msgstr ""
-#: .././config.py:9828
+#: .././config.py:9867
msgid "Select the output folder"
msgstr ""
-#: .././config.py:9830
+#: .././config.py:9869
msgid "Select the output directory"
msgstr ""
-#: .././config.py:9880
+#: .././config.py:9919
msgid "FFmpeg options"
msgstr ""
#. Replace the 'OK' button with a 'Process files' button
-#: .././config.py:10233 .././config.py:13459
+#: .././config.py:10272 .././config.py:13498
msgid "Process files"
msgstr ""
-#: .././config.py:10235 .././config.py:13461
+#: .././config.py:10274 .././config.py:13500
msgid "Process the files with FFmpeg"
msgstr ""
-#: .././config.py:10251
+#: .././config.py:10290
msgid "Name for these FFmpeg options"
msgstr ""
-#: .././config.py:10269
+#: .././config.py:10308
msgid "Extra command line options (e.g. --help)"
msgstr ""
-#: .././config.py:10280
+#: .././config.py:10319
msgid "System command, based on all FFmpeg options in this window:"
msgstr ""
-#: .././config.py:10311
+#: .././config.py:10350
msgid "Show fewer FFmpeg options"
msgstr ""
-#: .././config.py:10313
+#: .././config.py:10352
msgid "Show more FFmpeg options"
msgstr ""
-#: .././config.py:10323
+#: .././config.py:10362
msgid "Import current FFmpeg options into this window"
msgstr ""
-#: .././config.py:10338
+#: .././config.py:10377
msgid "Completely reset all FFmpeg options to their default values"
msgstr ""
-#: .././config.py:10354
+#: .././config.py:10393
msgid "Add to end of filename:"
msgstr ""
-#: .././config.py:10364
+#: .././config.py:10403
msgid "If regex matches filename:"
msgstr ""
-#: .././config.py:10378
+#: .././config.py:10417
msgid "...then apply substitution:"
msgstr ""
-#: .././config.py:10391
+#: .././config.py:10430
msgid ""
"If the video/audio file is renamed, also rename the thumbnail (but not vice-"
"versa)"
msgstr ""
-#: .././config.py:10402
+#: .././config.py:10441
msgid "Change file extension:"
msgstr ""
-#: .././config.py:10416
+#: .././config.py:10455
msgid "After changing the file extension, delete the original file"
msgstr ""
-#: .././config.py:10487
+#: .././config.py:10526
msgid "_Settings"
msgstr ""
-#: .././config.py:10500
+#: .././config.py:10539
msgid "Downloaded video/audio"
msgstr ""
-#: .././config.py:10509
+#: .././config.py:10548
msgid "with audio"
msgstr ""
-#: .././config.py:10522 .././config.py:10599 .././config.py:12121
+#: .././config.py:10561 .././config.py:10638 .././config.py:12160
msgid "Thumbnail"
msgstr ""
-#: .././config.py:10534
+#: .././config.py:10573
msgid "Output"
msgstr ""
-#: .././config.py:10563
+#: .././config.py:10602
msgid "Video clip"
msgstr ""
-#: .././config.py:10575
+#: .././config.py:10614
msgid "Video slice"
msgstr ""
-#: .././config.py:10587
+#: .././config.py:10626
msgid "Merge video/audio"
msgstr ""
-#: .././config.py:10697
+#: .././config.py:10736
msgid "Audio bitrate"
msgstr ""
-#: .././config.py:10711
+#: .././config.py:10750
msgid "How to set the quality"
msgstr ""
-#: .././config.py:10716
+#: .././config.py:10755
msgid ""
"FFmpeg always encodes according to a Rate Factor that specifies the quality "
"of the result."
msgstr ""
-#: .././config.py:10719
+#: .././config.py:10758
msgid ""
"Instead of directly specifying the Rate Factor, an average bit rate can be "
"specified. FFmpeg will then determine the optimal Rate Factor in a first "
"pass."
msgstr ""
-#: .././config.py:10723
+#: .././config.py:10762
msgid ""
"In fact the first pass is only used for determining the Rate Factor, no "
"other data is carried over into the second pass."
msgstr ""
-#: .././config.py:10726
+#: .././config.py:10765
msgid ""
"Specifying an average bitrate but running only one pass is possible, but not "
"recommended. FFmpeg would then encode the beginning of the video with a "
@@ -5752,2640 +5807,2740 @@ msgid ""
"eventually reach the target bitrate."
msgstr ""
-#: .././config.py:10739
+#: .././config.py:10778
msgid "Manual rate factor"
msgstr ""
-#: .././config.py:10748
+#: .././config.py:10787
msgid "Determine from target bitrate (2-Pass)"
msgstr ""
-#: .././config.py:10758
+#: .././config.py:10797
msgid "Rate factor"
msgstr ""
-#: .././config.py:10767
+#: .././config.py:10806
msgid "Lossless"
msgstr ""
-#: .././config.py:10767
+#: .././config.py:10806
msgid "Large file"
msgstr ""
-#: .././config.py:10789
+#: .././config.py:10828
msgid "Bad quality"
msgstr ""
-#: .././config.py:10789
+#: .././config.py:10828
msgid "Small file"
msgstr ""
-#: .././config.py:10796
+#: .././config.py:10835
msgid "Name of dummy file"
msgstr ""
-#: .././config.py:10800
+#: .././config.py:10839
msgid "A dummy file is created during the first pass."
msgstr ""
-#: .././config.py:10804
+#: .././config.py:10843
msgid "Use the output file"
msgstr ""
-#: .././config.py:10805
+#: .././config.py:10844
msgid "Dummy"
msgstr ""
-#: .././config.py:10806
+#: .././config.py:10845
msgid "/dev/null (Linux)"
msgstr ""
-#: .././config.py:10807
+#: .././config.py:10846
msgid "NUL (MS Windows)"
msgstr ""
-#: .././config.py:10819
+#: .././config.py:10858
msgid "Patience preset"
msgstr ""
-#: .././config.py:10824
+#: .././config.py:10863
msgid "Ultra fast"
msgstr ""
-#: .././config.py:10825
+#: .././config.py:10864
msgid "Super fast"
msgstr ""
-#: .././config.py:10826
+#: .././config.py:10865
msgid "Very fast"
msgstr ""
-#: .././config.py:10827 .././config.py:10925
+#: .././config.py:10866 .././config.py:10964
msgid "Faster"
msgstr ""
-#: .././config.py:10828
+#: .././config.py:10867
msgid "Fast"
msgstr ""
-#: .././config.py:10829
+#: .././config.py:10868
msgid "Medium (default)"
msgstr ""
-#: .././config.py:10830
+#: .././config.py:10869
#, python-format
msgid "Slow (file about 5-10% smaller than medium)"
msgstr ""
-#: .././config.py:10831
+#: .././config.py:10870
#, python-format
msgid "Slower (file about 15% smaller than medium)"
msgstr ""
-#: .././config.py:10832
+#: .././config.py:10871
#, python-format
msgid "Very slow (file about 17% smaller than medium)"
msgstr ""
-#: .././config.py:10843
+#: .././config.py:10882
msgid "GPU encoding"
msgstr ""
-#: .././config.py:10859
+#: .././config.py:10898
msgid "Hardware acceleration"
msgstr ""
-#: .././config.py:10919
+#: .././config.py:10958
msgid "Palette:"
msgstr ""
-#: .././config.py:10926
+#: .././config.py:10965
msgid "Uses dithering to a standard palette provided by FFmpeg"
msgstr ""
-#: .././config.py:10927
+#: .././config.py:10966
msgid "Can cause dithering artefacts and slight banding"
msgstr ""
-#: .././config.py:10936
+#: .././config.py:10975
msgid "Better"
msgstr ""
-#: .././config.py:10937
+#: .././config.py:10976
msgid "Determines an optimized palette for the video"
msgstr ""
-#: .././config.py:10938
+#: .././config.py:10977
msgid "Uses two passes and a temporary file for the palette"
msgstr ""
-#: .././config.py:10993 .././config.py:11629
+#: .././config.py:11032 .././config.py:11668
msgid "Split videos using their own timestamps"
msgstr ""
-#: .././config.py:11002 .././config.py:11640
+#: .././config.py:11041 .././config.py:11679
msgid "Split videos using these timestamps"
msgstr ""
-#: .././config.py:11036 .././config.py:11221 .././config.py:11676
-#: .././config.py:11883 .././config.py:14343 .././config.py:14524
+#: .././config.py:11075 .././config.py:11260 .././config.py:11715
+#: .././config.py:11922 .././config.py:14382 .././config.py:14563
msgid "Start"
msgstr ""
-#: .././config.py:11036 .././config.py:11676 .././config.py:14343
+#: .././config.py:11075 .././config.py:11715 .././config.py:14382
msgid "Clip title"
msgstr ""
-#: .././config.py:11107 .././config.py:11747 .././config.py:14403
+#: .././config.py:11146 .././config.py:11786 .././config.py:14442
msgid "Add timestamp"
msgstr ""
-#: .././config.py:11116 .././config.py:11756 .././config.py:14414
+#: .././config.py:11155 .././config.py:11795 .././config.py:14453
msgid "Delete timestamp"
msgstr ""
-#: .././config.py:11126 .././config.py:11766 .././config.py:14423
+#: .././config.py:11165 .././config.py:11805 .././config.py:14462
msgid "Clip preferences"
msgstr ""
-#: .././config.py:11178 .././config.py:11836
+#: .././config.py:11217 .././config.py:11875
msgid "Use the videos' own slice data"
msgstr ""
-#: .././config.py:11187 .././config.py:11847
+#: .././config.py:11226 .././config.py:11886
msgid "Use this slice data"
msgstr ""
-#: .././config.py:11221 .././config.py:11244 .././config.py:11883
-#: .././config.py:11906 .././config.py:14524 .././config.py:14543
+#: .././config.py:11260 .././config.py:11283 .././config.py:11922
+#: .././config.py:11945 .././config.py:14563 .././config.py:14582
msgid "Category"
msgstr ""
-#: .././config.py:11221 .././config.py:11264 .././config.py:11883
-#: .././config.py:11926 .././config.py:14524 .././config.py:14555
+#: .././config.py:11260 .././config.py:11303 .././config.py:11922
+#: .././config.py:11965 .././config.py:14563 .././config.py:14594
msgid "Action Type"
msgstr ""
-#: .././config.py:11308 .././config.py:11970 .././config.py:14594
+#: .././config.py:11347 .././config.py:12009 .././config.py:14633
msgid "Add slice"
msgstr ""
-#: .././config.py:11318
+#: .././config.py:11357
msgid "Delete sliuce"
msgstr ""
-#: .././config.py:11329 .././config.py:11992 .././config.py:14615
+#: .././config.py:11368 .././config.py:12031 .././config.py:14654
msgid "SponsorBlock settings"
msgstr ""
-#: .././config.py:11432
+#: .././config.py:11471
msgid ""
"This merges a video and audio file with the same name into a single video "
"file,\n"
"using the extension specified in the File tab"
msgstr ""
-#: .././config.py:11473
+#: .././config.py:11512
msgid "The thumbnail's format can be changed in the File tab"
msgstr ""
-#: .././config.py:11488
+#: .././config.py:11527
msgid "_Optimisations"
msgstr ""
-#: .././config.py:11493
+#: .././config.py:11532
msgid ""
"Optimise for fast seeking (shorter keyframe interval, about 10% larger file)"
msgstr ""
"Optimize for fast seeking (shorter keyframe interval, about 10% larger file)"
-#: .././config.py:11501
+#: .././config.py:11540
msgid "Input video is a high-quality movie"
msgstr ""
-#: .././config.py:11507
+#: .././config.py:11546
msgid "Input video is an animated movie"
msgstr ""
-#: .././config.py:11513
+#: .././config.py:11552
msgid "Input video contains film grain"
msgstr ""
-#: .././config.py:11519
+#: .././config.py:11558
msgid "Input video is an image slideshow"
msgstr ""
-#: .././config.py:11525
+#: .././config.py:11564
msgid "Optimise for really weak CPU playback devices"
msgstr "Optimize for really weak CPU playback devices"
-#: .././config.py:11532
+#: .././config.py:11571
msgid "Optimise for really old devices (requires rate factor above 0)"
msgstr "Optimize for really old devices (requires rate factor above 0)"
-#: .././config.py:11543
+#: .././config.py:11582
msgid ""
"Move headers to beginning of file (so it can play while still downloading)"
msgstr ""
-#: .././config.py:11551
+#: .././config.py:11590
msgid "Fast encoding and low latency streaming"
msgstr ""
-#: .././config.py:11557
+#: .././config.py:11596
msgid "Limit bitrate (Mbit/s)"
msgstr ""
-#: .././config.py:11574
+#: .././config.py:11613
msgid "Assuming a receiving buffer (seconds)"
msgstr ""
-#: .././config.py:11619
+#: .././config.py:11658
msgid "Split the video(s) to create video clips"
msgstr ""
-#: .././config.py:11819 .././config.py:14492 .././config.py:23411
+#: .././config.py:11858 .././config.py:14531
msgid "_Slices"
msgstr ""
-#: .././config.py:11826
+#: .././config.py:11865
msgid "Remove slices from the video(s)"
msgstr ""
-#: .././config.py:11980 .././config.py:14606
+#: .././config.py:12019 .././config.py:14645
msgid "Delete slice"
msgstr ""
-#: .././config.py:12102
+#: .././config.py:12141
msgid "List of videos to be processed"
msgstr ""
-#: .././config.py:12164
+#: .././config.py:12203
msgid "Show video properties and timestamps"
msgstr ""
-#: .././config.py:12173
+#: .././config.py:12212
msgid "Remove video from list"
msgstr ""
-#: .././config.py:13098
+#: .././config.py:13137
msgid ""
"Fewer FFmpeg options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
msgstr ""
-#: .././config.py:13108
+#: .././config.py:13147
msgid "Show more FFmpeg options (when window re-opens)"
msgstr ""
-#: .././config.py:13125
+#: .././config.py:13164
msgid ""
"More FFmpeg options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
msgstr ""
-#: .././config.py:13135
+#: .././config.py:13174
msgid "Show fewer FFmpeg options (when window re-opens)"
msgstr ""
-#: .././config.py:13896 .././config.py:16161 .././config.py:16982
-#: .././config.py:17604
+#: .././config.py:13935 .././config.py:16201 .././config.py:17174
+#: .././config.py:17796
msgid "General properties"
msgstr ""
-#: .././config.py:13946
+#: .././config.py:13985
msgid "Set the file (if this is the wrong one)"
msgstr ""
-#: .././config.py:13957
+#: .././config.py:13996
msgid "Video downloaded"
msgstr ""
-#: .././config.py:13964
+#: .././config.py:14003
msgid "Video unwatched"
msgstr ""
-#: .././config.py:13971
+#: .././config.py:14010
msgid "Video has been split from an original"
msgstr ""
-#: .././config.py:13978
+#: .././config.py:14017
msgid "Video is archived"
msgstr ""
-#: .././config.py:13985
+#: .././config.py:14024
msgid "Video is bookmarked"
msgstr ""
-#: .././config.py:13992
+#: .././config.py:14031
msgid "Video is favourite"
msgstr "Video is favorite"
-#: .././config.py:13999
+#: .././config.py:14038
msgid "Video is in waiting list"
msgstr ""
-#: .././config.py:14006
+#: .././config.py:14045
msgid "Video is blocked/censored/age-restricted"
msgstr ""
-#: .././config.py:14013
+#: .././config.py:14052
msgid "Always simulate download of this video"
msgstr ""
-#: .././config.py:14078
+#: .././config.py:14117
msgid "Receive time"
msgstr ""
-#: .././config.py:14092
+#: .././config.py:14131
msgid "Subtitles"
msgstr ""
-#: .././config.py:14125
+#: .././config.py:14164
msgid "_Live"
msgstr ""
-#: .././config.py:14130
+#: .././config.py:14169
msgid "Livestream properties"
msgstr ""
-#: .././config.py:14135
+#: .././config.py:14174
msgid "Livestream status"
msgstr ""
-#: .././config.py:14146
+#: .././config.py:14185
msgid "Waiting to start"
msgstr ""
-#: .././config.py:14150
+#: .././config.py:14189
msgid "Livestream has finished"
msgstr ""
-#: .././config.py:14152
+#: .././config.py:14191
msgid "Not a livestream"
msgstr ""
-#: .././config.py:14155
+#: .././config.py:14194
msgid "Livestream message"
msgstr ""
-#: .././config.py:14170
+#: .././config.py:14209
msgid "Video is pre-recorded"
msgstr ""
-#: .././config.py:14182
+#: .././config.py:14221
msgid "Livestream actions"
msgstr ""
-#: .././config.py:14189
+#: .././config.py:14228
msgid "When the livestream starts, show a desktop notification"
msgstr ""
-#: .././config.py:14198
+#: .././config.py:14237
msgid "When the livestream starts, play an alarm"
msgstr ""
-#: .././config.py:14208
+#: .././config.py:14247
msgid "When the livestream starts, open it in the system's web browser"
msgstr ""
-#: .././config.py:14220
+#: .././config.py:14259
msgid "When the livestream starts, begin downloading it immediately"
msgstr ""
-#: .././config.py:14231 .././config.py:23127
+#: .././config.py:14270 .././config.py:23607
msgid "When a livestream stops, download it (overwriting any earlier file)"
msgstr ""
-#: .././config.py:14247
+#: .././config.py:14286
msgid "_Description"
msgstr ""
-#: .././config.py:14252
+#: .././config.py:14291
msgid "Video description"
msgstr ""
-#: .././config.py:14265
+#: .././config.py:14304
msgid "Update from the description file, and set the line length to:"
msgstr ""
-#: .././config.py:14285
+#: .././config.py:14324
msgid "Clear the description (does not modify the file)"
msgstr ""
-#: .././config.py:14312
+#: .././config.py:14351
msgid "_Timestamps"
msgstr ""
-#: .././config.py:14317
+#: .././config.py:14356
msgid "Timestamps"
msgstr ""
-#: .././config.py:14323
+#: .././config.py:14362
msgid "Timestamps can be used to download or create video clips"
msgstr ""
-#: .././config.py:14439
+#: .././config.py:14478
msgid "Reset list using copied text"
msgstr ""
-#: .././config.py:14447
+#: .././config.py:14486
msgid "Reset list using video description"
msgstr ""
-#: .././config.py:14497
+#: .././config.py:14536
msgid "Video slices"
msgstr ""
-#: .././config.py:14503
+#: .././config.py:14542
msgid "SponsorBlock provides a list of slices that can be removed from a video"
msgstr ""
-#: .././config.py:14677 .././config.py:23502
+#: .././config.py:14716
msgid "_Comments"
msgstr ""
-#: .././config.py:14688
+#: .././config.py:14727
msgid "Total comments:"
msgstr ""
-#: .././config.py:14727
+#: .././config.py:14766
msgid "Show formatted list"
msgstr ""
-#: .././config.py:14738
+#: .././config.py:14777
msgid "Show comment times as text"
msgstr ""
-#: .././config.py:14748
+#: .././config.py:14787
msgid "Show comment timestamps"
msgstr ""
-#: .././config.py:14786 .././config.py:14894
+#: .././config.py:14825 .././config.py:14933
msgid "Author"
msgstr ""
-#: .././config.py:14793 .././config.py:14894
+#: .././config.py:14832 .././config.py:14933
msgid "Comment"
msgstr ""
-#: .././config.py:14801 .././config.py:14895
+#: .././config.py:14840 .././config.py:14934
msgid "Uploader"
msgstr ""
-#: .././config.py:14843
+#: .././config.py:14882
msgid "Update from the metadata file"
msgstr ""
-#: .././config.py:14865
+#: .././config.py:14904
msgid "Clear comments (does not modify the file)"
msgstr ""
-#: .././config.py:14894
+#: .././config.py:14933
msgid "Likes"
msgstr ""
-#: .././config.py:15295 .././config.py:16517
+#: .././config.py:15334 .././config.py:16582
msgid "Errors / Warnings"
msgstr ""
-#: .././config.py:15301
+#: .././config.py:15340
msgid "Error messages produced the last time this video was checked/downloaded"
msgstr ""
-#: .././config.py:15317
+#: .././config.py:15356
msgid ""
"Warning messages produced the last time this video was checked/downloaded"
msgstr ""
-#: .././config.py:15830
+#: .././config.py:15869
msgid "Select the correct video/audio file"
msgstr ""
-#: .././config.py:15856
+#: .././config.py:15895
msgid ""
"The replacement video/audio file must be in the same channel, playlist or "
"folder"
msgstr ""
-#: .././config.py:15874
+#: .././config.py:15913
msgid "You must select a valid video/audio file"
msgstr ""
-#: .././config.py:16032
+#: .././config.py:16071
msgid "Channel properties"
msgstr ""
-#: .././config.py:16035
+#: .././config.py:16074
msgid "Playlist properties"
msgstr ""
-#: .././config.py:16176
+#: .././config.py:16216
msgid "Don't add videos in this channel to Tartube's database"
msgstr ""
-#: .././config.py:16180
+#: .././config.py:16220
msgid "Don't add videos in this playlist to Tartube's database"
msgstr ""
-#: .././config.py:16191
+#: .././config.py:16231
msgid "Always simulate download of videos in this channel"
msgstr ""
-#: .././config.py:16193
+#: .././config.py:16233
msgid "Always simulate download of videos in this playlist"
msgstr ""
-#: .././config.py:16203
+#: .././config.py:16243
msgid "Disable checking/downloading for this channel"
msgstr ""
-#: .././config.py:16205
+#: .././config.py:16245
msgid "Disable checking/downloading for this playlist"
msgstr ""
-#: .././config.py:16215
+#: .././config.py:16255
msgid "This channel is marked as a favourite"
msgstr "This channel is marked as a favorite"
-#: .././config.py:16217
+#: .././config.py:16257
msgid "This playlist is marked as a favourite"
msgstr "This playlist is marked as a favorite"
-#: .././config.py:16227
+#: .././config.py:16267
msgid "Total videos"
msgstr ""
-#: .././config.py:16251
+#: .././config.py:16291
msgid "Favourite videos"
msgstr "Favorite videos"
-#: .././config.py:16263
+#: .././config.py:16303
msgid "Downloaded videos"
msgstr ""
-#: .././config.py:16285
-msgid "_Associated Playlists"
+#: .././config.py:16325
+msgid "Associated _Playlists"
msgstr ""
-#: .././config.py:16290
+#: .././config.py:16330
msgid "Associated playlists"
msgstr ""
-#: .././config.py:16296
+#: .././config.py:16336
msgid ""
"When a video is associated with a playlist, the playlist's ID is stored here"
msgstr ""
-#: .././config.py:16317
+#: .././config.py:16357
msgid "Playlist Title"
msgstr ""
-#: .././config.py:16336
+#: .././config.py:16376
msgid "Set the channel as the download destination"
msgstr ""
-#: .././config.py:16343
+#: .././config.py:16383
msgid "Add selected playlist"
msgstr ""
-#: .././config.py:16352
+#: .././config.py:16392
msgid "Add all playlists"
msgstr ""
-#: .././config.py:16360
+#: .././config.py:16400
msgid "Download preferences"
msgstr ""
#. (This button works even if mainapp.TartubeApp.store_playlist_id_flag
#. is False)
-#: .././config.py:16376
+#: .././config.py:16416
msgid "Reset list using metadata file"
msgstr ""
-#: .././config.py:16407
+#: .././config.py:16447
msgid "Unnamed playlist"
msgstr ""
-#: .././config.py:16423 .././config.py:17225 .././config.py:20453
+#: .././config.py:16463 .././config.py:17417 .././config.py:20763
msgid "_History"
msgstr ""
-#: .././config.py:16428 .././config.py:17230 .././config.py:20460
+#: .././config.py:16468 .././config.py:17422 .././config.py:20770
msgid "Download history"
msgstr ""
-#: .././config.py:16442 .././config.py:17244 .././config.py:20474
+#: .././config.py:16482 .././config.py:17436 .././config.py:20784
msgid "Draw"
msgstr ""
-#: .././config.py:16470
+#: .././config.py:16510
msgid "_RSS feed"
msgstr ""
-#: .././config.py:16474
-msgid "RSS feed"
+#: .././config.py:16515
+msgid "RSS feed (used to detect livestreams)"
msgstr ""
-#: .././config.py:16480
+#: .././config.py:16521
msgid ""
"If Tartube cannot detect the channel's RSS feed, you can enter the URL here"
msgstr ""
-#: .././config.py:16485
+#: .././config.py:16526
msgid ""
"If Tartube cannot detect the playlist's RSS feed, you can enter the URL here"
msgstr ""
-#: .././config.py:16490
-msgid "(The feed is used to detect livestreams on compatible websites)"
+#: .././config.py:16545
+msgid "Open in web browser"
+msgstr ""
+
+#: .././config.py:16550
+msgid "Set to default feed"
msgstr ""
-#: .././config.py:16523
+#: .././config.py:16557
+msgid "Reset feed"
+msgstr ""
+
+#: .././config.py:16564
+msgid ""
+"N.B. The Set to default feed button won't work if the RSS feed was "
+"obtained from video metadata"
+msgstr ""
+
+#: .././config.py:16588
msgid ""
"Error messages produced the last time this channel was checked/downloaded"
msgstr ""
-#: .././config.py:16528
+#: .././config.py:16593
msgid ""
"Error messages produced the last time this playlist was checked/downloaded"
msgstr ""
-#: .././config.py:16547
+#: .././config.py:16612
msgid ""
"Warning messages produced the last time this channel was checked/downloaded"
msgstr ""
-#: .././config.py:16552
+#: .././config.py:16617
msgid ""
"Warning messages produced the last time this playlist was checked/downloaded"
msgstr ""
-#: .././config.py:16638
+#: .././config.py:16706
+msgid "Unable to extrapolate the URL for this playlist"
+msgstr ""
+
+#: .././config.py:16719
msgid "The playlist is already in Tartube's database"
msgstr ""
-#: .././config.py:16660
+#: .././config.py:16741
msgid "Unable to create new playlist"
msgstr ""
-#: .././config.py:16679
+#: .././config.py:16760
#, python-brace-format
msgid "Added playlist '{0}' to Tartube's database"
msgstr ""
#. Show confirmation
-#: .././config.py:16771
+#: .././config.py:16862
#, python-brace-format
msgid "Playlists added: {0}"
msgstr ""
-#: .././config.py:16772
+#: .././config.py:16863
#, python-brace-format
msgid "Playlists not added: {0}"
msgstr ""
-#: .././config.py:16859
+#: .././config.py:16998
+msgid "Could not set the RSS feed"
+msgstr ""
+
+#: .././config.py:17051
msgid "Folder properties"
msgstr ""
-#: .././config.py:16995
+#: .././config.py:17187
msgid "Don't add videos to Tartube's database"
msgstr ""
-#: .././config.py:17002
+#: .././config.py:17194
msgid "Always simulate download of videos"
msgstr ""
-#: .././config.py:17009
+#: .././config.py:17201
msgid "Disable checking/downloading"
msgstr ""
-#: .././config.py:17016
+#: .././config.py:17208
msgid "This folder is marked as a favourite"
msgstr "This folder is marked as a favorite"
-#: .././config.py:17023
+#: .././config.py:17215
msgid "This folder is hidden"
msgstr ""
-#: .././config.py:17030
+#: .././config.py:17222
msgid "This folder can't be deleted by the user"
msgstr ""
-#: .././config.py:17037
+#: .././config.py:17229
msgid "This is a system-controlled folder"
msgstr ""
-#: .././config.py:17044
+#: .././config.py:17236
msgid "All contents deleted when Tartube shuts down"
msgstr ""
-#: .././config.py:17051
+#: .././config.py:17243
msgid "Restrictions:"
msgstr ""
-#: .././config.py:17062
+#: .././config.py:17254
msgid "Can only contain videos"
msgstr ""
-#: .././config.py:17064
+#: .././config.py:17256
msgid "Can contain folders and videos"
msgstr ""
-#: .././config.py:17066
+#: .././config.py:17258
msgid "Can contain anything"
msgstr ""
-#: .././config.py:17076 .././config.py:20277
+#: .././config.py:17268 .././config.py:20587
msgid "_Statistics"
msgstr ""
-#: .././config.py:17081 .././config.py:20284
+#: .././config.py:17273 .././config.py:20594
msgid "Statistics"
msgstr ""
-#: .././config.py:17102 .././config.py:20305
+#: .././config.py:17294 .././config.py:20615
msgid "Downloaded"
msgstr ""
-#: .././config.py:17146
+#: .././config.py:17338
msgid "Sub-folders"
msgstr ""
-#: .././config.py:17168
+#: .././config.py:17360
msgid "Recalculate"
msgstr ""
-#: .././config.py:17272
+#: .././config.py:17464
msgid "_Recent Videos"
msgstr ""
-#: .././config.py:17277
+#: .././config.py:17469
msgid "Recent videos"
msgstr ""
-#: .././config.py:17283
+#: .././config.py:17475
msgid ""
"When videos are checked/downloaded, older videos are removed from this folder"
msgstr ""
-#: .././config.py:17454
+#: .././config.py:17646
msgid "Scheduled download"
msgstr ""
-#: .././config.py:17609 .././config.py:21536
+#: .././config.py:17801 .././config.py:21854
msgid "Scheduled download name"
msgstr ""
-#: .././config.py:17621
+#: .././config.py:17813
msgid "Download mode"
msgstr ""
-#: .././config.py:17626
+#: .././config.py:17818
msgid "Check channels, playlist and folders"
msgstr ""
-#: .././config.py:17627
+#: .././config.py:17819
msgid "Download channels, playlists and folders"
msgstr ""
-#: .././config.py:17628
+#: .././config.py:17820
msgid "Perform a custom download"
msgstr ""
-#: .././config.py:17640
+#: .././config.py:17832
msgid "Custom download name"
msgstr ""
-#: .././config.py:17697 .././config.py:21477
+#: .././config.py:17889 .././config.py:21795
msgid "_Start"
msgstr ""
-#: .././config.py:17702
+#: .././config.py:17894
msgid "Start conditions"
msgstr ""
-#: .././config.py:17707 .././config.py:21502
+#: .././config.py:17899 .././config.py:21820
msgid "Start mode"
msgstr ""
-#: .././config.py:17712
+#: .././config.py:17904
msgid "Perform this download at regular intervals"
msgstr ""
-#: .././config.py:17713
+#: .././config.py:17905
msgid "Perform this download when Tartube starts"
msgstr ""
-#: .././config.py:17715
+#: .././config.py:17907
msgid "Perform this download some time after Tartube starts"
msgstr ""
-#: .././config.py:17718
+#: .././config.py:17910
msgid "Perform this download at specified times"
msgstr ""
-#: .././config.py:17719
+#: .././config.py:17911
msgid "Disable this scheduled download"
msgstr ""
-#: .././config.py:17793
+#: .././config.py:17985
msgid "Minutes"
msgstr ""
-#: .././config.py:17920
+#: .././config.py:18112
msgid "Interval time"
msgstr ""
-#: .././config.py:17930
+#: .././config.py:18122
msgid "Start times"
msgstr ""
-#: .././config.py:17971
+#: .././config.py:18163
msgid "_Conflicts"
msgstr ""
-#: .././config.py:17975
+#: .././config.py:18167
msgid "Conflict settings"
msgstr ""
-#: .././config.py:17980
+#: .././config.py:18172
msgid "If another scheduled download is running:"
msgstr ""
-#: .././config.py:17987
+#: .././config.py:18179
msgid "Add channels, playlists and folders to the end of the queue"
msgstr ""
-#: .././config.py:17993
+#: .././config.py:18185
msgid "Add channels, playlists and folders to the beginning of the queue"
msgstr ""
-#: .././config.py:18000
+#: .././config.py:18192
msgid "Do nothing, just wait until the next scheduled download time"
msgstr ""
-#: .././config.py:18015
+#: .././config.py:18207
msgid "This scheduled download takes priority over others"
msgstr ""
-#: .././config.py:18018
+#: .././config.py:18210
msgid "Other scheduled downloads won't start until this one is finished"
msgstr ""
-#: .././config.py:18038
+#: .././config.py:18230
msgid "Media to download"
msgstr ""
-#: .././config.py:18044
+#: .././config.py:18236
msgid "Check/download everything"
msgstr ""
-#: .././config.py:18052
+#: .././config.py:18244
msgid "Only check/download the media below"
msgstr ""
-#: .././config.py:18066
+#: .././config.py:18258
msgid ""
"Hint: you can drag and drop channels, playlists and your own folders here"
msgstr ""
-#: .././config.py:18181 .././config.py:21858
+#: .././config.py:18373 .././config.py:22176
msgid "Performance limits"
msgstr ""
-#: .././config.py:18186 .././config.py:21863
+#: .././config.py:18378 .././config.py:22181
msgid "Limits are applied when you start downloading a video/channel/playlist"
msgstr ""
-#: .././config.py:18192
+#: .././config.py:18384
msgid ""
"These limits override the default and alternative limits specified elsewhere"
msgstr ""
-#: .././config.py:18198 .././config.py:21869 .././config.py:21940
+#: .././config.py:18390 .././config.py:22187 .././config.py:22258
msgid "Limit simultaneous downloads to"
msgstr ""
-#: .././config.py:18213 .././config.py:21887 .././config.py:21962
+#: .././config.py:18405 .././config.py:22205 .././config.py:22280
msgid "Limit download speed to"
msgstr ""
-#: .././config.py:18240
+#: .././config.py:18432
msgid "_Other"
msgstr ""
-#: .././config.py:18244
+#: .././config.py:18436
msgid "Other settings"
msgstr ""
-#: .././config.py:18250
+#: .././config.py:18442
msgid ""
"Ignore time-saving preferences, and check/download the whole channel/"
"playlist/folder"
msgstr ""
-#: .././config.py:18258
+#: .././config.py:18450
msgid "Shut down Tartube when this scheduled download has finished"
msgstr ""
-#: .././config.py:18682
+#: .././config.py:18874
msgid "System preferences"
msgstr ""
-#: .././config.py:19002
+#: .././config.py:19205
msgid "_Language"
msgstr ""
-#: .././config.py:19007
+#: .././config.py:19210
msgid "Language preferences"
msgstr ""
-#: .././config.py:19012
+#: .././config.py:19215
msgid "Language"
msgstr ""
-#: .././config.py:19052
+#: .././config.py:19255
msgid "_Modules"
msgstr ""
-#: .././config.py:19057
+#: .././config.py:19260
msgid "Gtk library"
msgstr ""
-#: .././config.py:19062
+#: .././config.py:19265
msgid "Current version of the system's Gtk library"
msgstr ""
-#: .././config.py:19077
+#: .././config.py:19280
msgid "Module availability"
msgstr ""
-#: .././config.py:19083
+#: .././config.py:19286
msgid "feedparser module is available (required for detecting livestreams)"
msgstr ""
-#: .././config.py:19092
+#: .././config.py:19295
msgid "matplotlib module is available (draws graphs)"
msgstr ""
-#: .././config.py:19100
+#: .././config.py:19303
msgid "moviepy module is available (finds the length of videos, if unknown)"
msgstr ""
-#: .././config.py:19110
+#: .././config.py:19313
msgid "playsound module is available (sound an alarm when a livestream starts)"
msgstr ""
-#: .././config.py:19120
+#: .././config.py:19323
msgid ""
"XDG module is available (saves the config file in the standard location)"
msgstr ""
-#: .././config.py:19130
+#: .././config.py:19333
msgid ""
"Notify module is available (shows desktop notifications; Linux/*BSD only)"
msgstr ""
-#: .././config.py:19140
+#: .././config.py:19343
msgid "Module preferences"
msgstr ""
-#: .././config.py:19146
+#: .././config.py:19349
msgid ""
"Use 'moviepy' module to get a video's duration, if not known (may be slow)"
msgstr ""
-#: .././config.py:19158
+#: .././config.py:19361
msgid "Timeout applied when moviepy checks a video file"
msgstr ""
-#: .././config.py:19214
+#: .././config.py:19417
msgid "_Device"
msgstr ""
-#: .././config.py:19219
+#: .././config.py:19422
msgid "Device preferences"
msgstr ""
-#: .././config.py:19224
-msgid "Size of device (in Mb)"
+#: .././config.py:19427
+msgid "Size of device"
msgstr ""
-#: .././config.py:19236
-msgid "Free space on device (in Mb)"
+#: .././config.py:19444
+msgid "Free space on device"
msgstr ""
-#: .././config.py:19248
-msgid "Warn user if disk space is less than"
+#: .././config.py:19462
+msgid ""
+"Before checking/downloading videos, warn user if disk space is less than"
msgstr ""
-#: .././config.py:19266
+#: .././config.py:19487
msgid "Halt downloads if disk space is less than"
msgstr ""
-#: .././config.py:19316
+#: .././config.py:19542
msgid "_Config"
msgstr ""
-#: .././config.py:19320
+#: .././config.py:19546
msgid "Configuration preferences"
msgstr ""
-#: .././config.py:19325
+#: .././config.py:19551
msgid "Tartube configuration file loaded from"
msgstr ""
-#: .././config.py:19337
+#: .././config.py:19563
msgid "Default location for Tartube configuration"
msgstr ""
-#: .././config.py:19349
+#: .././config.py:19575
msgid "Alternative location for Tartube configuration"
msgstr ""
-#: .././config.py:19373
+#: .././config.py:19599
msgid "D_atabase"
msgstr ""
-#: .././config.py:19378
+#: .././config.py:19604
msgid "Database preferences"
msgstr ""
-#: .././config.py:19383
+#: .././config.py:19609
msgid "Current data folder"
msgstr ""
-#: .././config.py:19396
+#: .././config.py:19622
msgid "Current database"
msgstr ""
-#: .././config.py:19413
+#: .././config.py:19639
msgid "Recent data folders"
msgstr ""
-#: .././config.py:19429
+#: .././config.py:19655
msgid "Add new database"
msgstr ""
-#: .././config.py:19431
+#: .././config.py:19657
msgid "Change to a different data folder"
msgstr ""
-#: .././config.py:19438
+#: .././config.py:19664
msgid "Check and repair database"
msgstr ""
-#: .././config.py:19441
+#: .././config.py:19667
msgid "Check for inconsistencies, and repair them"
msgstr ""
-#: .././config.py:19446
+#: .././config.py:19672
msgid "Dump database to JSON"
msgstr ""
-#: .././config.py:19449
+#: .././config.py:19675
msgid "Convert databases to JSON, even when Tartube can't load them"
msgstr ""
-#: .././config.py:19454
+#: .././config.py:19680
msgid "Switch to this database"
msgstr ""
-#: .././config.py:19456
+#: .././config.py:19682
msgid "Switch to the selected data folder"
msgstr ""
-#: .././config.py:19466
+#: .././config.py:19692
msgid "Forget"
msgstr ""
-#: .././config.py:19469
+#: .././config.py:19695
msgid "Remove the selected data folder from the list"
msgstr ""
-#: .././config.py:19479
+#: .././config.py:19705
msgid "Forget all"
msgstr ""
-#: .././config.py:19482
+#: .././config.py:19708
msgid "Forget every folder in this list (except the current one)"
msgstr ""
-#: .././config.py:19496
+#: .././config.py:19722
msgid "Move the selected folder up the list"
msgstr ""
-#: .././config.py:19505
+#: .././config.py:19731
msgid "Move the selected folder down the list"
msgstr ""
-#: .././config.py:19533
+#: .././config.py:19759
msgid ""
"On startup, load the first database on the list (not the most recently-use "
"one)"
msgstr ""
-#: .././config.py:19543
+#: .././config.py:19769
msgid "If one database is in use, try to load others"
msgstr ""
-#: .././config.py:19551
+#: .././config.py:19777
msgid "New databases are added to this list"
msgstr ""
-#: .././config.py:19596
+#: .././config.py:19822
msgid "_Backups"
msgstr ""
-#: .././config.py:19601
+#: .././config.py:19827
msgid "Backup preferences"
msgstr ""
-#: .././config.py:19606
+#: .././config.py:19832
msgid ""
"When saving a database file, Tartube makes a backup copy of it (in case "
"something goes wrong)"
msgstr ""
-#: .././config.py:19615
+#: .././config.py:19841
msgid "Delete the backup file as soon as the save procedure is finished"
msgstr ""
-#: .././config.py:19625
+#: .././config.py:19851
msgid "Keep the backup file, replacing any previous backup file"
msgstr ""
-#: .././config.py:19636
+#: .././config.py:19862
msgid ""
"Make a new backup file once per day, after the day's first save procedure"
msgstr ""
-#: .././config.py:19647
+#: .././config.py:19873
msgid "Make a new backup file for every save procedure"
msgstr ""
-#: .././config.py:19681
+#: .././config.py:19907
msgid "Export preferences"
msgstr ""
-#: .././config.py:19686
+#: .././config.py:19912
msgid "Separator used in CSV exports"
msgstr ""
-#: .././config.py:19728
-msgid "Automatic video deletion preferences"
+#: .././config.py:19954
+msgid "Automatic video deletion/removal preferences"
+msgstr ""
+
+#: .././config.py:19960
+msgid ""
+"Deleted videos are re-downloaded without an archive file. See the Operations "
+"> Archive tab"
msgstr ""
-#: .././config.py:19733
-msgid "Automatically delete downloaded videos after this many days"
+#: .././config.py:19967
+msgid "Automatically delete downloaded videos"
msgstr ""
-#: .././config.py:19747
-msgid "...but only delete videos which have been watched"
+#: .././config.py:19983 .././config.py:20007 .././formats.py:444
+msgid "days"
msgstr ""
-#: .././config.py:19771
+#: .././config.py:19989
+msgid "Remove downloaded videos from the database (but don't delete files)"
+msgstr ""
+
+#: .././config.py:20012
+msgid "Only delete/remove videos which have been watched"
+msgstr ""
+
+#: .././config.py:20024
+msgid "Delete/remove files:"
+msgstr ""
+
+#: .././config.py:20030
+msgid "When the database is loaded"
+msgstr ""
+
+#: .././config.py:20037
+msgid "After every download operation"
+msgstr ""
+
+#: .././config.py:20081
msgid "Video matching preferences"
msgstr ""
-#: .././config.py:19776
+#: .././config.py:20086
msgid "When matching videos on the filesystem:"
msgstr ""
-#: .././config.py:19782
+#: .././config.py:20092
msgid "The video names must match exactly"
msgstr ""
-#: .././config.py:19789
+#: .././config.py:20099
msgid "The first # characters must match exactly"
msgstr ""
-#: .././config.py:19803
+#: .././config.py:20113
msgid "Ignore the last # characters; the remaining name must match exactly"
msgstr ""
-#: .././config.py:19861
+#: .././config.py:20171
msgid "Update video descriptions"
msgstr ""
-#: .././config.py:19868
+#: .././config.py:20178
msgid "These procedures might take a long time on a large database"
msgstr ""
-#: .././config.py:19875
+#: .././config.py:20185
msgid "Update from description files, and set the line lengths to:"
msgstr ""
-#: .././config.py:19894
+#: .././config.py:20204
msgid "Clear descriptions (does not modify the description files)"
msgstr ""
-#: .././config.py:19917
+#: .././config.py:20227
msgid "Video timestamps"
msgstr ""
-#: .././config.py:19921
+#: .././config.py:20231
msgid "Extract timestamps for all videos"
msgstr ""
-#: .././config.py:19929
+#: .././config.py:20239
msgid "Remove timestamps from all videos"
msgstr ""
-#: .././config.py:19939 .././config.py:23509
+#: .././config.py:20249 .././config.py:23989
msgid "Video comments"
msgstr ""
-#: .././config.py:19943
+#: .././config.py:20253
msgid "Extract comments for all videos"
msgstr ""
-#: .././config.py:19951
+#: .././config.py:20261
msgid "Remove comments from all videos"
msgstr ""
-#: .././config.py:19961
+#: .././config.py:20271
msgid ""
"Comments are extracted from each video's metadata file, so this procedure "
"may take a long time"
msgstr ""
-#: .././config.py:19981
-msgid "_URLs"
+#: .././config.py:20291
+msgid "U_RLs"
msgstr ""
-#: .././config.py:19988
+#: .././config.py:20298
msgid "Update channel/playlist URLs"
msgstr ""
-#: .././config.py:19993
+#: .././config.py:20303
msgid "Confirm every change"
msgstr ""
-#: .././config.py:20076
+#: .././config.py:20386
msgid "Pattern"
msgstr ""
-#: .././config.py:20087
+#: .././config.py:20397
msgid "Substitution"
msgstr ""
-#: .././config.py:20098
+#: .././config.py:20408
msgid "This pattern is a regex"
msgstr ""
-#: .././config.py:20110
+#: .././config.py:20420
msgid "Search and replace text in the selected URLs"
msgstr ""
-#: .././config.py:20125
+#: .././config.py:20435
msgid "Open URLs"
msgstr ""
-#: .././config.py:20224
+#: .././config.py:20534
msgid "Temporary folder preferences"
msgstr ""
-#: .././config.py:20229
+#: .././config.py:20539
msgid "Empty temporary folders when Tartube shuts down"
msgstr ""
-#: .././config.py:20238
+#: .././config.py:20548
msgid "(N.B. Temporary folders are always emptied when Tartube starts up)"
msgstr ""
-#: .././config.py:20246
+#: .././config.py:20556
msgid "Open temporary folders (on the desktop) when Tartube shuts down"
msgstr ""
-#: .././config.py:20289
+#: .././config.py:20599
msgid "The Tartube database contains:"
msgstr ""
-#: .././config.py:20349
+#: .././config.py:20659
msgid "Custom folders"
msgstr ""
-#: .././config.py:20372
+#: .././config.py:20682
msgid "Calculate"
msgstr ""
#. Add this tab...
-#: .././config.py:20503
+#: .././config.py:20813
msgid "_Windows"
msgstr ""
-#: .././config.py:20532
+#: .././config.py:20842
msgid "_Main window"
msgstr ""
-#: .././config.py:20539
+#: .././config.py:20849
msgid "Main window preferences"
msgstr ""
-#: .././config.py:20544
+#: .././config.py:20854
msgid "Remember size of the main window"
msgstr ""
-#: .././config.py:20552
+#: .././config.py:20862
msgid "Remember slider positions"
msgstr ""
-#: .././config.py:20561
+#: .././config.py:20871
msgid "Reset both"
msgstr ""
-#: .././config.py:20577
+#: .././config.py:20887
msgid "Don't show the main window toolbar"
msgstr ""
-#: .././config.py:20585
+#: .././config.py:20895
msgid "Don't show labels in the main window toolbar"
msgstr ""
-#: .././config.py:20603
+#: .././config.py:20913
msgid ""
"Replace stock icons with custom icons (in case stock icons are not visible)"
msgstr ""
-#: .././config.py:20613
+#: .././config.py:20923
msgid "Show tooltips for videos, channels, playlists and folders"
msgstr ""
-#: .././config.py:20621
+#: .././config.py:20931
msgid "Show errors/warnings in tooltips (but not in the Videos tab)"
msgstr ""
-#: .././config.py:20639
+#: .././config.py:20949
msgid "Disable the download buttons in the toolbar and the Videos tab"
msgstr ""
-#: .././config.py:20649
+#: .././config.py:20959
msgid "In the Progress tab, hide finished downloads"
msgstr ""
-#: .././config.py:20658
+#: .././config.py:20968
msgid "Show downloads in reverse order"
msgstr ""
-#: .././config.py:20666
+#: .././config.py:20976
msgid "When Tartube starts, automatically open the Classic Mode tab"
msgstr ""
-#: .././config.py:20680
+#: .././config.py:20990
msgid ""
"In the Classic Mode tab, when adding URLs, remove duplicates rather than "
"retaining them"
msgstr ""
-#: .././config.py:20694
-msgid "In the Errors/Warnings tab, don't reset the tab text when it is clicked"
+#: .././config.py:21004
+msgid ""
+"In the Errors/Warnings tab, don't reset the tab title when it is clicked"
msgstr ""
-#: .././config.py:20721
+#: .././config.py:21031
msgid "Video Index (left side of the Videos tab)"
msgstr ""
-#: .././config.py:20726
+#: .././config.py:21036
msgid "Show a 'Custom download all' button"
msgstr ""
-#: .././config.py:20734
+#: .././config.py:21044
+msgid "While checking/downloading videos, show free disk space"
+msgstr ""
+
+#: .././config.py:21052
msgid "Allow each row to be marked for checking/downloading"
msgstr ""
-#: .././config.py:20742
+#: .././config.py:21060
msgid "Show smaller icons"
msgstr ""
-#: .././config.py:20751
+#: .././config.py:21069
msgid ""
"Show detailed statistics about the videos in each channel / playlist / folder"
msgstr ""
-#: .././config.py:20762
+#: .././config.py:21080
msgid ""
"After clicking on a folder, automatically expand/collapse the tree around it"
msgstr ""
-#: .././config.py:20773
+#: .././config.py:21091
msgid "Expand the whole tree, not just the level beneath the clicked folder"
msgstr ""
-#: .././config.py:20794
+#: .././config.py:21112
msgid "Video Catalogue (right side of the Videos tab)"
msgstr ""
-#: .././config.py:20800
+#: .././config.py:21118
msgid "Show 'today' and 'yesterday' as the date, when possible"
msgstr ""
-#: .././config.py:20808
+#: .././config.py:21126
msgid "Show livestreams with a different background colour"
msgstr "Show livestreams with a different background color"
-#: .././config.py:20816
+#: .././config.py:21134
msgid "Use same background colours for livestream and debut videos"
msgstr "Use same background colors for livestream and debut videos"
-#: .././config.py:20837
+#: .././config.py:21155
msgid "Channel and playlist names are clickable (grid mode only)"
msgstr ""
-#: .././config.py:20857
+#: .././config.py:21175
msgid "_Drag"
msgstr ""
-#: .././config.py:20861
+#: .././config.py:21179
msgid "Drag and drop preferences"
msgstr ""
-#: .././config.py:20867
+#: .././config.py:21185
msgid "When dragging and dropping videos to an external application..."
msgstr ""
-#: .././config.py:20873
+#: .././config.py:21191
msgid "Transfer the video's full file path"
msgstr ""
-#: .././config.py:20881
+#: .././config.py:21199
msgid "Transfer the video's source URL"
msgstr ""
-#: .././config.py:20889
+#: .././config.py:21207
msgid "Transfer the video's name"
msgstr ""
-#: .././config.py:20897
+#: .././config.py:21215
msgid "Transfer the thumbnail's full file path"
msgstr ""
-#: .././config.py:20918
+#: .././config.py:21236
msgid "_Tray"
msgstr ""
-#: .././config.py:20924
+#: .././config.py:21242
msgid "System tray preferences"
msgstr ""
-#: .././config.py:20929
+#: .././config.py:21247
msgid "Show Tartube in the system tray"
msgstr ""
-#: .././config.py:20938
+#: .././config.py:21256
msgid "Start Tartube in the system tray"
msgstr ""
-#: .././config.py:20949
+#: .././config.py:21267
msgid "Close to the tray, rather than closing the application"
msgstr ""
-#: .././config.py:20961
+#: .././config.py:21279
msgid ""
"After closing to the tray, restore the window's position (does not work on "
"Wayland)"
msgstr ""
-#: .././config.py:21004
+#: .././config.py:21322
msgid "D_ialogues"
msgstr ""
-#: .././config.py:21010
+#: .././config.py:21328
msgid "Dialogue window preferences"
msgstr ""
-#: .././config.py:21015
+#: .././config.py:21333
msgid "When adding channels/playlists, keep the dialogue window open"
msgstr ""
-#: .././config.py:21025
+#: .././config.py:21343
msgid "When the dialogue window opens, add URLs from the system clipboard"
msgstr ""
-#: .././config.py:21046
+#: .././config.py:21364
msgid "When adding YouTube channels, remind the user to copy the correct URL"
msgstr ""
-#: .././config.py:21058
+#: .././config.py:21376
msgid "Debugging preferences"
msgstr ""
-#: .././config.py:21064
+#: .././config.py:21382
msgid ""
"Temporarily disable message dialogue windows (display messages in terminal "
"instead)"
msgstr ""
-#: .././config.py:21088
+#: .././config.py:21406
msgid "_Colours"
msgstr ""
-#: .././config.py:21095
+#: .././config.py:21413
msgid "Video catalogue colour preferences"
msgstr ""
-#: .././config.py:21103
+#: .././config.py:21421
msgid "Waiting livestreams"
msgstr ""
-#: .././config.py:21109
+#: .././config.py:21427
msgid "Broadcasting livestreams"
msgstr ""
-#: .././config.py:21115
+#: .././config.py:21433
msgid "Waiting debut videos"
msgstr ""
-#: .././config.py:21121
+#: .././config.py:21439
msgid "Broadcasting debut videos"
msgstr ""
-#: .././config.py:21127
+#: .././config.py:21445
msgid "Selected videos"
msgstr ""
-#: .././config.py:21133
+#: .././config.py:21451
msgid "Selected waiting videos"
msgstr ""
-#: .././config.py:21139
+#: .././config.py:21457
msgid "Selected broadcasting videos"
msgstr ""
-#: .././config.py:21145
+#: .././config.py:21463
msgid "Drag and Drop notification"
msgstr ""
-#: .././config.py:21151
+#: .././config.py:21469
msgid "Drag and Drop background 1"
msgstr ""
-#: .././config.py:21157
+#: .././config.py:21475
msgid "Drag and Drop background 2"
msgstr ""
-#: .././config.py:21188
+#: .././config.py:21506
msgid "Custom colour:"
msgstr ""
-#: .././config.py:21211
+#: .././config.py:21529
msgid "Default colour:"
msgstr ""
-#: .././config.py:21248
+#: .././config.py:21566
msgid "_Errors/Warnings"
msgstr ""
-#: .././config.py:21254
+#: .././config.py:21572
msgid "Errors/Warnings tab preferences"
msgstr ""
-#: .././config.py:21354
+#: .././config.py:21672
msgid "_Websites"
msgstr ""
-#: .././config.py:21361
+#: .././config.py:21679
msgid "YouTube error/warning preferences"
msgstr ""
-#: .././config.py:21366
+#: .././config.py:21684
msgid "Ignore YouTube copyright errors"
msgstr ""
-#: .././config.py:21374
+#: .././config.py:21692
msgid "Ignore YouTube age-restriction errors"
msgstr ""
-#: .././config.py:21382
+#: .././config.py:21700
msgid "Ignore YouTube deletion by uploader errors"
msgstr ""
-#: .././config.py:21390
+#: .././config.py:21708
msgid "Ignore YouTube payment errors"
msgstr ""
-#: .././config.py:21399
+#: .././config.py:21717
msgid "General preferences"
msgstr ""
-#: .././config.py:21405
+#: .././config.py:21723
msgid ""
"Ignore any errors/warnings which match lines in this list (applies to all "
"websites)"
msgstr ""
-#: .././config.py:21419
+#: .././config.py:21737
msgid "These are ordinary strings"
msgstr ""
-#: .././config.py:21426
+#: .././config.py:21744
msgid "These are regular expressions (regexes)"
msgstr ""
#. Add this tab...
-#: .././config.py:21455
+#: .././config.py:21773
msgid "_Scheduling"
msgstr ""
-#: .././config.py:21482
+#: .././config.py:21800
msgid "Scheduled download preferences"
msgstr ""
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Priority"
msgstr ""
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Whole"
msgstr ""
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Shutdown"
msgstr ""
-#: .././config.py:21503
+#: .././config.py:21821
msgid "D/L All"
msgstr ""
-#: .././config.py:21504
+#: .././config.py:21822
msgid "Join mode"
msgstr ""
-#: .././config.py:21558 .././config.py:22540 .././config.py:24498
-#: .././config.py:24776
+#: .././config.py:21876 .././config.py:22914 .././config.py:24993
+#: .././config.py:25271
msgid "Edit"
msgstr ""
-#: .././config.py:21630 .././formats.py:1023
+#: .././config.py:21948 .././formats.py:1209
msgid "Custom"
msgstr ""
-#: .././config.py:21673
+#: .././config.py:21991
msgid "S_top"
msgstr ""
-#: .././config.py:21678
+#: .././config.py:21996
msgid "Scheduled stop preferences"
msgstr ""
-#: .././config.py:21683
+#: .././config.py:22001
msgid "Stop all download operations after this much time"
msgstr ""
-#: .././config.py:21731
+#: .././config.py:22049
msgid "Stop all download operations after this many videos"
msgstr ""
-#: .././config.py:21758
+#: .././config.py:22076
msgid "Stop all download operations after this much disk space"
msgstr ""
-#: .././config.py:21801
+#: .././config.py:22119
msgid ""
"N.B. Disk space is estimated. This setting does not apply to simulated "
"downloads"
msgstr ""
-#: .././config.py:21913
+#: .././config.py:22231
msgid "Overriding video format options, limit video resolution to"
msgstr ""
-#: .././config.py:21935
+#: .././config.py:22253
msgid "Alternative performance limits"
msgstr ""
-#: .././config.py:21993
+#: .././config.py:22311
msgid "Alternative limits apply between"
msgstr ""
-#: .././config.py:22033
+#: .././config.py:22351
msgid "and"
msgstr ""
-#: .././config.py:22061
+#: .././config.py:22379
msgid "On days"
msgstr ""
-#: .././config.py:22094
+#: .././config.py:22412
msgid "_Stop"
msgstr ""
-#: .././config.py:22101
+#: .././config.py:22419
msgid "Time-saving settings"
msgstr ""
-#: .././config.py:22107
+#: .././config.py:22425
msgid ""
-"Stop checking/downloading a channel/playlist when it starts sending videos "
-"you already have"
+"Stop checking/downloading a channel/playlist when it finds videos you "
+"already have"
msgstr ""
-#: .././config.py:22118
+#: .././config.py:22436
msgid "Stop after this many videos (when checking)"
msgstr ""
-#: .././config.py:22133
+#: .././config.py:22451
msgid "Stop after this many videos (when downloading)"
msgstr ""
-#: .././config.py:22176
+#: .././config.py:22494
msgid "Download operation preferences"
msgstr ""
-#: .././config.py:22182
+#: .././config.py:22500
msgid "Automatically update downloader before every download operation"
msgstr ""
-#: .././config.py:22194
+#: .././config.py:22512
msgid "Automatically save files at the end of all operations"
msgstr ""
-#: .././config.py:22204
+#: .././config.py:22522
msgid "For simulated downloads, don't check a video in a folder more than once"
msgstr ""
-#: .././config.py:22215
+#: .././config.py:22533
msgid "If a download stalls, restart it after this many minutes"
msgstr ""
-#: .././config.py:22237
+#: .././config.py:22557
msgid "Maximum restarts after a stalled download (0 for no maximum)"
msgstr ""
-#: .././config.py:22270
-msgid "When checking videos, apply a 60-second timeout"
+#: .././config.py:22590
+msgid "Apply a timeout (in minutes) when checking a video"
msgstr ""
-#: .././config.py:22279
+#: .././config.py:22604
+msgid "Without comments"
+msgstr ""
+
+#: .././config.py:22620
+msgid "With comments"
+msgstr ""
+
+#: .././config.py:22653
msgid "Assign anonymous error/warning messages to the most probable video"
msgstr ""
-#: .././config.py:22290
+#: .././config.py:22664
msgid "Add censored, age-restricted and other blocked videos to the database"
msgstr ""
-#: .././config.py:22301
+#: .././config.py:22675
msgid ""
"Extract playlist IDs from each video, and store them in the parent channel/"
"playlist"
msgstr ""
-#: .././config.py:22312
+#: .././config.py:22686
msgid ""
"Convert .webp thumbnails into .jpg thumbnails (using FFmpeg) after "
"downloading them"
msgstr ""
-#: .././config.py:22335
+#: .././config.py:22709
msgid "_Ignore"
msgstr ""
-#: .././config.py:22342
+#: .././config.py:22716
msgid "Ignore downloader errors/warnings"
msgstr ""
-#: .././config.py:22347
+#: .././config.py:22721
msgid "TRANSLATOR'S NOTE: These error messages are always in English"
msgstr ""
-#: .././config.py:22351
+#: .././config.py:22725
msgid "Ignore 'Child process exited with non-zero code' errors"
msgstr ""
-#: .././config.py:22360
+#: .././config.py:22734
msgid ""
"Ignore 'Unable to download video data' and 'Unable to extract video data' "
"errors"
msgstr ""
-#: .././config.py:22370
+#: .././config.py:22744
msgid "Ignore 'Did not get any data blocks' errors"
msgstr ""
-#: .././config.py:22379
+#: .././config.py:22753
msgid "Ignore 'Requested formats are incompatible for merge' warnings"
msgstr ""
-#: .././config.py:22388
+#: .././config.py:22762
msgid "Ignore 'No video formats found' errors"
msgstr ""
-#: .././config.py:22396
+#: .././config.py:22770
msgid "Ignore 'There are no annotations to write' warnings"
msgstr ""
-#: .././config.py:22404
+#: .././config.py:22778
msgid "Ignore 'Video doesn't have subtitles' warnings"
msgstr ""
-#: .././config.py:22412
+#: .././config.py:22786
msgid "Ignore 'A channel/user page was given' warnings"
msgstr ""
-#: .././config.py:22420
+#: .././config.py:22794
msgid "Ignore 'There's no playlist description to write' warnings"
msgstr ""
-#: .././config.py:22429
+#: .././config.py:22803
msgid ""
"Ignore 'Unable to download video thumbnail: HTTP Error 404: Not Fuund' "
"warnings"
msgstr ""
-#: .././config.py:22451
+#: .././config.py:22825
msgid "_Custom"
msgstr ""
-#: .././config.py:22456
+#: .././config.py:22830
msgid "Custom downloads"
msgstr ""
-#: .././config.py:22477 .././config.py:24433
+#: .././config.py:22851 .././config.py:24928
msgid "Classic Mode"
msgstr ""
-#: .././config.py:22549 .././config.py:24507 .././config.py:24785
+#: .././config.py:22923 .././config.py:25002 .././config.py:25280
msgid "Export"
msgstr ""
-#: .././config.py:22558 .././config.py:24516 .././config.py:24794
+#: .././config.py:22932 .././config.py:25011 .././config.py:25289
msgid "Clone"
msgstr ""
-#: .././config.py:22567 .././config.py:24525
+#: .././config.py:22941 .././config.py:25020
msgid "Use in Classic Mode tab"
msgstr ""
-#: .././config.py:22670
+#: .././config.py:23044
msgid "_Archive"
msgstr ""
-#: .././config.py:22678
+#: .././config.py:23052
msgid "Archive file preferences"
msgstr ""
-#: .././config.py:22684
+#: .././config.py:23058
msgid ""
"Allow downloader to create its own archive file (so deleted videos are not "
"re-downloaded)"
msgstr ""
-#: .././config.py:22703
+#: .././config.py:23077
msgid "Store the archive file in the same location as the video"
msgstr ""
-#: .././config.py:22711
+#: .././config.py:23085
msgid ""
"N.B. Archive files are never stored in system folders like 'Unsorted Videos'"
msgstr ""
-#: .././config.py:22720
+#: .././config.py:23094
msgid "Store the archive file in Tartube's data directory"
msgstr ""
-#: .././config.py:22731
+#: .././config.py:23105
msgid "Store the archive file at this location:"
msgstr ""
-#: .././config.py:22811
+#: .././config.py:23185
msgid "Classic Mode tab preferences"
msgstr ""
-#: .././config.py:22817
+#: .././config.py:23191
msgid "Create an archive file when downloading from the Classic Mode tab"
msgstr ""
-#: .././config.py:22828
+#: .././config.py:23202
msgid ""
"This setting should only be enabled when downloading channels and playlists"
msgstr ""
-#: .././config.py:22856
+#: .././config.py:23222
+msgid "Li_vestreams"
+msgstr ""
+
+#: .././config.py:23230
msgid "Livestream preferences (compatible websites only)"
msgstr ""
-#: .././config.py:22862
+#: .././config.py:23236
msgid "Detect livestreams announced within this many days"
msgstr ""
-#: .././config.py:22877
+#: .././config.py:23251
msgid "How often to check the status of livestreams (in minutes)"
msgstr ""
-#: .././config.py:22896
+#: .././config.py:23270
msgid "Check more frequently when a livestream is due to start"
msgstr ""
-#: .././config.py:22939
-msgid "Broadcast preferences (compatible websites only)"
+#: .././config.py:23313
+msgid "Broadcasting livestream preferences (compatible websites only)"
msgstr ""
-#: .././config.py:22946
+#: .././config.py:23321
msgid ""
-"Use Youtube Stream Capture to download broadcasting livestreams (requires "
-"aria2)"
+"These settings apply when downloading videos individually, for example with "
+"a custom download"
+msgstr ""
+
+#: .././config.py:23337
+msgid "Download using:"
+msgstr ""
+
+#: .././config.py:23352
+msgid ".m3u manifest"
+msgstr ""
+
+#: .././config.py:23380
+msgid "Replace a partially-downloaded livestream"
msgstr ""
-#: .././config.py:22957
+#: .././config.py:23387
+msgid "Resume a partially-downloaded livestream"
+msgstr ""
+
+#: .././config.py:23421
msgid ""
-"N.B. If this option is not selected, youtube-dl will still try to download "
-"livestreams"
+"Bypass usual limits on simultaneous downloads, so that all livestreams can "
+"be downloaded"
msgstr ""
-#: .././config.py:22964
+#: .././config.py:23434
msgid "Timeout after this many minutes of inactivity"
msgstr ""
-#: .././config.py:22978
-msgid "Number of restarts after a timeout"
+#: .././config.py:23450
+msgid ""
+"When the livestream download is stopped manually, mark the video as "
+"downloaded"
msgstr ""
-#: .././config.py:22993
+#: .././config.py:23464
msgid ""
-"Bypass usual limits on simultaneous downloads, so that all broadcasts can be "
-"downloaded"
+"Check a video before the livestream download (ensures metadata is downloaded)"
msgstr ""
-#: .././config.py:23039
+#: .././config.py:23478
+msgid "N.B. This setting is ignored in the Classic Mode tab"
+msgstr ""
+
+#: .././config.py:23496
+#, python-brace-format
+msgid ""
+"N.B. To prevent {0} from downloading livestreams at all, use a custom "
+"download"
+msgstr ""
+
+#: .././config.py:23502
+msgid "not recommended"
+msgstr ""
+
+#: .././config.py:23519
msgid "Ac_tions"
msgstr ""
-#: .././config.py:23047
+#: .././config.py:23527
msgid "Livestream actions (can be toggled for individual videos)"
msgstr ""
-#: .././config.py:23054
+#: .././config.py:23534
msgid "(currently disabled on MS Windows)"
msgstr ""
-#: .././config.py:23059
+#: .././config.py:23539
msgid "When a livestream starts, show a desktop notification"
msgstr ""
-#: .././config.py:23073
+#: .././config.py:23553
msgid "When a livestream starts, sound an alarm"
msgstr ""
-#: .././config.py:23096
+#: .././config.py:23576
msgid "Plays the selected sound effect"
msgstr ""
-#: .././config.py:23103
+#: .././config.py:23583
msgid "When a livestream starts, open it in the system's web browser"
msgstr ""
-#: .././config.py:23115
+#: .././config.py:23595
msgid "When a livestream starts, begin downloading it immediately"
msgstr ""
-#: .././config.py:23141
+#: .././config.py:23621
msgid "Desktop notification preferences"
msgstr ""
-#: .././config.py:23147
+#: .././config.py:23627
msgid "Show a dialogue window at the end of an operation"
msgstr ""
-#: .././config.py:23170
+#: .././config.py:23650
msgid "Don't notify the user at the end of an operation"
msgstr ""
-#: .././config.py:23215
+#: .././config.py:23688
+msgid "Cli_ps"
+msgstr ""
+
+#: .././config.py:23695
msgid "Video clips (requires FFmpeg)"
msgstr ""
-#: .././config.py:23221
+#: .././config.py:23701
msgid ""
"When a video is checked/downloaded, automatically extract timestamps from "
"its metadata file"
msgstr ""
-#: .././config.py:23232
+#: .././config.py:23712
msgid ""
"When a video is checked/downloaded, automatically extract timestamps from "
"its description"
msgstr ""
-#: .././config.py:23242
+#: .././config.py:23722
msgid "If timestamps have already been extracted, replace them"
msgstr ""
-#: .././config.py:23254
+#: .././config.py:23734
msgid ""
"If no timestamps have been extracted, try again before splitting a video"
msgstr ""
-#: .././config.py:23267
+#: .././config.py:23747
msgid "Format of video clip filenames"
msgstr ""
-#: .././config.py:23272
+#: .././config.py:23752
msgid "Number"
msgstr ""
-#: .././config.py:23273
+#: .././config.py:23753
msgid "Clip Title"
msgstr ""
-#: .././config.py:23274
+#: .././config.py:23754
msgid "Number + Clip Title"
msgstr ""
-#: .././config.py:23275
+#: .././config.py:23755
msgid "Clip Title + Number"
msgstr ""
-#: .././config.py:23276
+#: .././config.py:23756
msgid "Original Title"
msgstr ""
-#: .././config.py:23277
+#: .././config.py:23757
msgid "Original Title + Number"
msgstr ""
-#: .././config.py:23278
+#: .././config.py:23758
msgid "Original Title + Clip Title"
msgstr ""
-#: .././config.py:23279
+#: .././config.py:23759
msgid "Original Title + Number + Clip Title"
msgstr ""
-#: .././config.py:23280
+#: .././config.py:23760
msgid "Original Title + Clip Title + Number"
msgstr ""
-#: .././config.py:23307
+#: .././config.py:23787
msgid "Generic title for video clips"
msgstr ""
-#: .././config.py:23324
+#: .././config.py:23804
msgid "Move clips to the Video Clips folder"
msgstr ""
-#: .././config.py:23331
+#: .././config.py:23811
msgid "Keep clips with their original video"
msgstr ""
-#: .././config.py:23344
+#: .././config.py:23824
msgid "...but place new files inside a sub-directory"
msgstr ""
-#: .././config.py:23355
+#: .././config.py:23835
msgid "Add new files to Tartube's database"
msgstr ""
-#: .././config.py:23366
+#: .././config.py:23846
msgid "Use the original video's thumbnail"
msgstr ""
-#: .././config.py:23374
+#: .././config.py:23854
msgid "After splitting a video, open the destination folder"
msgstr ""
-#: .././config.py:23376
+#: .././config.py:23856
msgid "After splitting a video, open the destination directory"
msgstr ""
-#: .././config.py:23388
+#: .././config.py:23868
msgid ""
"After splitting a video, delete the original (ignored for videos in channels/"
"playlists)"
msgstr ""
-#: .././config.py:23418
+#: .././config.py:23891
+msgid "Slic_es"
+msgstr ""
+
+#: .././config.py:23898
msgid "Video slices (requires FFmpeg)"
msgstr ""
-#: .././config.py:23424
+#: .././config.py:23904
msgid ""
"While checking/downloading videos, check each video against the SponsorBlock "
"server"
msgstr ""
-#: .././config.py:23435
+#: .././config.py:23915
msgid "When contacting the server, obfuscate each video's ID (recommended)"
msgstr ""
-#: .././config.py:23449
+#: .././config.py:23929
msgid "If slices have already been extracted, replace the old list"
msgstr ""
-#: .././config.py:23462
+#: .././config.py:23942
msgid ""
"If slices have been extracted, contact the server again before removing more "
"slices from the video"
msgstr ""
-#: .././config.py:23476
+#: .././config.py:23956
msgid ""
"After removing slices from a video, reset all timestamp and slice data "
"(recommended)"
msgstr ""
-#: .././config.py:23515
-msgid "When checking/downloading videos, store comments in the metadata file"
+#: .././config.py:23982
+msgid "C_omments"
+msgstr ""
+
+#: .././config.py:23994
+msgid "When checking videos, store comments in the metadata file"
msgstr ""
-#: .././config.py:23525
+#: .././config.py:24002
+msgid "When downloading videos, store comments in the metadata file"
+msgstr ""
+
+#: .././config.py:24010
msgid ""
"Warning: fetching comments will increase the download time, perhaps by a lot!"
msgstr ""
-#: .././config.py:23531
+#: .././config.py:24016
msgid "Also store comments in the Tartube database"
msgstr ""
-#: .././config.py:23548
+#: .././config.py:24041
msgid ""
"Warning: storing comments will increase the size of Tartube's datbase, "
"perhaps by a lot!"
msgstr ""
-#: .././config.py:23568
-msgid "_Mirrors"
-msgstr ""
-
-#: .././config.py:23575
+#: .././config.py:24068
msgid "Invidious mirror"
msgstr ""
-#: .././config.py:23581
+#: .././config.py:24074
msgid "To find an updated list of Invidious mirrors, use any search engine!"
msgstr ""
-#: .././config.py:23596
+#: .././config.py:24089
msgid "Use the default Invidious mirror"
msgstr ""
-#: .././config.py:23611
+#: .././config.py:24104
msgid "SponsorBlock API mirror"
msgstr ""
-#: .././config.py:23624
+#: .././config.py:24117
msgid "Use the default SponsorBlock URL"
msgstr ""
-#: .././config.py:23641
-msgid "_Proxies"
+#: .././config.py:24134
+msgid "P_roxies"
msgstr ""
-#: .././config.py:23647
+#: .././config.py:24140
msgid "Proxies"
msgstr ""
-#: .././config.py:23654
+#: .././config.py:24147
msgid ""
"During a download operation, Tartube will cycle betwween the proxies in this "
"list"
msgstr ""
-#: .././config.py:23680
-msgid "P_references"
+#: .././config.py:24173
+msgid "Pre_ferences"
msgstr ""
-#: .././config.py:23687
+#: .././config.py:24180
msgid "URL flexibility preferences"
msgstr ""
-#: .././config.py:23694
+#: .././config.py:24187
msgid ""
"If a video's URL represents a channel/playlist, not a video, don't download "
"it"
msgstr ""
-#: .././config.py:23703
+#: .././config.py:24196
msgid "...or, download multiple videos into the containing folder"
msgstr ""
-#: .././config.py:23713
+#: .././config.py:24206
msgid "...or, create a new channel, and download the videos into that"
msgstr ""
-#: .././config.py:23724
+#: .././config.py:24217
msgid "...or, create a new playlist, and download the videos into that"
msgstr ""
-#: .././config.py:23756
+#: .././config.py:24249
msgid "Missing video preferences"
msgstr ""
-#: .././config.py:23762
+#: .././config.py:24255
msgid ""
"Add videos which have been removed from a channel/playlist to the Missing "
"Videos folder"
msgstr ""
-#: .././config.py:23773
+#: .././config.py:24266
msgid "Only add videos that were uploaded within this many days"
msgstr ""
-#: .././config.py:23847
+#: .././config.py:24340
msgid "_Forks"
msgstr ""
-#: .././config.py:23853
+#: .././config.py:24346
msgid "Forks of youtube-dl"
msgstr ""
-#: .././config.py:23882
+#: .././config.py:24375
msgid "Use yt-dlp"
msgstr ""
-#: .././config.py:23888
+#: .././config.py:24381
msgid "Install without dependencies"
msgstr ""
-#: .././config.py:23889
+#: .././config.py:24382
msgid "(recommended on MS Windows)"
msgstr ""
-#: .././config.py:23920
+#: .././config.py:24413
msgid "Use youtube-dl"
msgstr ""
-#: .././config.py:23941
+#: .././config.py:24434
msgid "Other forks"
msgstr ""
-#: .././config.py:23949
+#: .././config.py:24442
msgid "Use this fork:"
msgstr ""
-#: .././config.py:24029
+#: .././config.py:24522
msgid "When using other downloaders, filter out yt-dlp download options"
msgstr ""
-#: .././config.py:24051
-msgid "_File paths"
+#: .././config.py:24544
+msgid "File _paths"
msgstr ""
-#: .././config.py:24058
+#: .././config.py:24551
msgid "Downloader file paths"
msgstr ""
-#: .././config.py:24064
+#: .././config.py:24557
msgid "Path to the executable"
msgstr ""
#. (Signal connect appears below)
-#: .././config.py:24070 .././config.py:24240 .././config.py:24281
-#: .././config.py:24355 .././config.py:32023
+#: .././config.py:24563 .././config.py:24733 .././config.py:24774
+#: .././config.py:32696
msgid "Use default path"
msgstr ""
-#: .././config.py:24080 .././config.py:32037
+#: .././config.py:24573 .././config.py:32710
msgid "Use local path"
msgstr ""
-#: .././config.py:24087
+#: .././config.py:24580
msgid "Use custom path"
msgstr ""
-#: .././config.py:24096 .././config.py:32049
+#: .././config.py:24589 .././config.py:32722
msgid "Use PyPI path"
msgstr ""
-#: .././config.py:24156
+#: .././config.py:24649
msgid "Command for update operations"
msgstr ""
-#: .././config.py:24209
-msgid "_FFmpeg / AVConv"
+#: .././config.py:24702
+msgid "FF_mpeg / AVConv"
msgstr ""
-#: .././config.py:24216
+#: .././config.py:24709
msgid "Post-processor file paths"
msgstr ""
-#: .././config.py:24221
+#: .././config.py:24714
msgid ""
"You only need to set these paths if Tartube cannot find FFmpeg / AVConv "
"automatically"
msgstr ""
-#: .././config.py:24228
+#: .././config.py:24721
msgid "Path to the FFmpeg executable"
msgstr ""
-#: .././config.py:24255
+#: .././config.py:24748 .././config.py:24852
msgid "Install from main menu"
msgstr ""
-#: .././config.py:24269
+#: .././config.py:24762
msgid "Path to the AVConv executable"
msgstr ""
-#: .././config.py:24296
+#: .././config.py:24789
msgid "Not supported on MS Windows"
msgstr ""
-#: .././config.py:24324
-msgid "_Stream Capture"
+#: .././config.py:24817
+msgid "_streamlink"
msgstr ""
-#: .././config.py:24331
-msgid "Youtube Stream Capture file path"
+#: .././config.py:24824
+msgid "streamlink file path"
msgstr ""
-#: .././config.py:24336
-msgid ""
-"Tartube includes a copy of this script, but you can use a different copy, if "
-"you want"
+#: .././config.py:24829
+msgid "Path to the streamlink executable"
msgstr ""
-#: .././config.py:24343
-msgid "Path to the YT Stream Capture executable"
-msgstr ""
-
-#: .././config.py:24406
+#: .././config.py:24901
msgid "_Download options"
msgstr ""
-#: .././config.py:24413
+#: .././config.py:24908
msgid "List of download options"
msgstr ""
-#: .././config.py:24433
+#: .././config.py:24928
msgid "Videos tab"
msgstr ""
-#: .././config.py:24434
+#: .././config.py:24929
msgid "Dropzone"
msgstr ""
-#: .././config.py:24434
+#: .././config.py:24929
msgid "Applied to media"
msgstr ""
-#: .././config.py:24640
+#: .././config.py:25135
msgid "_Preferences"
msgstr ""
-#: .././config.py:24647
+#: .././config.py:25142
msgid "Download options preferences"
msgstr ""
-#: .././config.py:24653
+#: .././config.py:25148
msgid ""
"When applying download options to something, clone the general download "
"options"
msgstr ""
-#: .././config.py:24664
+#: .././config.py:25159
msgid "After downloading a video, destroy its download options"
msgstr ""
-#: .././config.py:24686
+#: .././config.py:25181
msgid "_FFmpeg options"
msgstr ""
-#: .././config.py:24693
+#: .././config.py:25188
msgid "List of FFmpeg options managers"
msgstr ""
-#: .././config.py:24713
+#: .././config.py:25208
msgid "Current"
msgstr ""
-#: .././config.py:24803
+#: .././config.py:25298
msgid "Use these options"
msgstr ""
#. Add this tab...
-#: .././config.py:24893
+#: .././config.py:25388
msgid "O_utput"
msgstr ""
-#: .././config.py:24917
+#: .././config.py:25412
msgid "_Output tab"
msgstr ""
-#: .././config.py:24924
+#: .././config.py:25419
msgid "Output tab preferences"
msgstr ""
-#: .././config.py:24929
+#: .././config.py:25424
msgid "Display downloader system commands in the Output tab"
msgstr ""
-#: .././config.py:24938
+#: .././config.py:25433
msgid "Display output from downloader's STDOUT in the Output tab"
msgstr ""
-#: .././config.py:24947 .././config.py:25114
+#: .././config.py:25442 .././config.py:25609
msgid "...but don't write each video's JSON data"
msgstr ""
-#: .././config.py:24958 .././config.py:25125
+#: .././config.py:25453 .././config.py:25620
msgid "...but don't write each video's download progress"
msgstr ""
-#: .././config.py:24977
+#: .././config.py:25472
msgid "Display output from downloader's STDERR in the Output tab"
msgstr ""
-#: .././config.py:24986
+#: .././config.py:25481
msgid "Limit the size of Output tab pages to"
msgstr ""
-#: .././config.py:25007
+#: .././config.py:25502
msgid "Empty pages in the Output tab at the start of every operation"
msgstr ""
-#: .././config.py:25017
+#: .././config.py:25512
msgid ""
"Show a summary of active threads (changes are applied when Tartube restarts)"
msgstr ""
-#: .././config.py:25029
+#: .././config.py:25524
msgid "During update/info operations, automatically switch to the Output tab"
msgstr ""
-#: .././config.py:25040
+#: .././config.py:25535
msgid "During a refresh operation, show all matching videos in the Output tab"
msgstr ""
-#: .././config.py:25051
+#: .././config.py:25546
msgid "...also show all non-matching videos"
msgstr ""
-#: .././config.py:25085
+#: .././config.py:25580
msgid "_Terminal window"
msgstr ""
-#: .././config.py:25091
+#: .././config.py:25586
msgid "Terminal window preferences"
msgstr ""
-#: .././config.py:25096
+#: .././config.py:25591
msgid "Write downloader system commands to the terminal window"
msgstr ""
-#: .././config.py:25105
+#: .././config.py:25600
msgid "Write output from downloader's STDOUT to the terminal window"
msgstr ""
-#: .././config.py:25147
+#: .././config.py:25642
msgid "Write output from downloader's STDERR to the terminal window"
msgstr ""
-#: .././config.py:25171
+#: .././config.py:25666
msgid "_Both"
msgstr ""
-#: .././config.py:25177
+#: .././config.py:25672
msgid ""
"Special preferences (applies to both the Output tab and the terminal window)"
msgstr ""
-#: .././config.py:25184
+#: .././config.py:25679
msgid "Downloader writes verbose output (youtube-dl debugging mode)"
msgstr ""
-#: .././config.py:25193
-msgid "Youtube Stream Capture writes verbose output"
-msgstr ""
-
#. Confirm the result
-#: .././config.py:26010 .././config.py:27956 .././config.py:28013
-#: .././config.py:28701 .././config.py:29938 .././config.py:29983
+#: .././config.py:26632 .././config.py:28586 .././config.py:28643
+#: .././config.py:29440 .././config.py:30677 .././config.py:30722
#: .././refresh.py:482 .././refresh.py:590
msgid "Total videos:"
msgstr ""
-#: .././config.py:26011 .././config.py:27958 .././config.py:28015
-#: .././config.py:28702 .././config.py:29939 .././config.py:29984
+#: .././config.py:26633 .././config.py:28588 .././config.py:28645
+#: .././config.py:29441 .././config.py:30678 .././config.py:30723
msgid "Videos updated:"
msgstr ""
-#: .././config.py:26248
+#: .././config.py:26845
msgid "Are you sure you want to rename this channel?"
msgstr ""
-#: .././config.py:26250
+#: .././config.py:26847
msgid "Are you sure you want to rename this playlist?"
msgstr ""
-#: .././config.py:26252
+#: .././config.py:26849
msgid "Are you sure you want to rename this folder?"
msgstr ""
-#: .././config.py:26292
+#: .././config.py:26889
msgid "That is not a valid URL"
msgstr ""
-#: .././config.py:26313
+#: .././config.py:26910
msgid "Are you sure you want to update the URL?"
msgstr ""
-#: .././config.py:26360
+#: .././config.py:26957
msgid "The regex is invalid"
msgstr ""
-#: .././config.py:26408
+#: .././config.py:27005
msgid "Are you sure you want to update these URLs?"
msgstr ""
-#: .././config.py:26628
+#: .././config.py:27225
msgid "The default custom download manager cannot be deleted"
msgstr ""
-#: .././config.py:26636
+#: .././config.py:27233
msgid "Are you sure you want to delete this custom download manager?"
msgstr ""
-#: .././config.py:26907
+#: .././config.py:27504
msgid "Are you sure you want to create a new database at this location?"
msgstr ""
-#: .././config.py:27014
+#: .././config.py:27611
msgid "Are you sure you want to forget this database?"
msgstr ""
-#: .././config.py:27049
+#: .././config.py:27646
msgid "Are you sure you want to forget all databases except the current one?"
msgstr ""
-#: .././config.py:27252
+#: .././config.py:27849
msgid "No database exists at this location:"
msgstr ""
-#: .././config.py:27254
+#: .././config.py:27851
msgid "Do you want to create a new one?"
msgstr ""
-#: .././config.py:27679
+#: .././config.py:28309
msgid "Select a Tartube database file"
msgstr ""
-#: .././config.py:27701
+#: .././config.py:28331
msgid "This file is not loadable (might be corrupted)"
msgstr ""
-#: .././config.py:27712
+#: .././config.py:28342
msgid "This file does is not compatible with Tartube"
msgstr ""
-#: .././config.py:27722
+#: .././config.py:28352
msgid "This file was loaded, but is empty"
msgstr ""
-#: .././config.py:28184
+#: .././config.py:28814
msgid "The current options manager cannot be deleted"
msgstr ""
-#: .././config.py:28192 .././config.py:29294
+#: .././config.py:28822 .././config.py:30033
msgid "Are you sure you want to delete this options manager?"
msgstr ""
-#: .././config.py:28366 .././config.py:28757 .././config.py:30763
+#: .././config.py:28996 .././config.py:29496 .././config.py:31502
msgid "The new setting will be applied when Tartube restarts"
msgstr ""
-#: .././config.py:29286
+#: .././config.py:30025
msgid "The default options manager cannot be deleted"
msgstr ""
-#: .././config.py:30351
+#: .././config.py:31090
msgid "There is already a scheduled download with that name"
msgstr ""
-#: .././config.py:30398
+#: .././config.py:31137
msgid "Are you sure you want to delete this scheduled download?"
msgstr ""
-#: .././config.py:30583
+#: .././config.py:31322
msgid "Select the location of the archive file"
msgstr ""
-#: .././config.py:30616
+#: .././config.py:31355
msgid "Please select the AVConv executable"
msgstr ""
-#: .././config.py:30649
+#: .././config.py:31388
msgid "Please select the FFmpeg executable"
msgstr ""
-#: .././config.py:30682
-msgid "Please select the Youtube Stream Capture executable"
+#: .././config.py:31421
+msgid "Please select the streamlink executable"
msgstr ""
-#: .././config.py:31702
+#: .././config.py:32462
msgid "Select the youtube-dl-compatible executable"
msgstr ""
-#: .././config.py:31946
+#: .././config.py:32618
msgid "Database file not loaded"
msgstr ""
-#: .././config.py:31966
+#: .././config.py:32638
msgid "Did not try to load the database file"
msgstr ""
-#: .././config.py:31991
+#: .././config.py:32663
msgid "Database file loaded"
msgstr ""
@@ -8417,9 +8572,9 @@ msgstr ""
msgid "All threads finished"
msgstr ""
-#: .././downloads.py:454 .././downloads.py:1287 .././downloads.py:1298
-#: .././downloads.py:1370 .././downloads.py:1455 .././downloads.py:1493
-#: .././downloads.py:1562
+#: .././downloads.py:454 .././downloads.py:1284 .././downloads.py:1295
+#: .././downloads.py:1367 .././downloads.py:1452 .././downloads.py:1490
+#: .././downloads.py:1578 .././downloads.py:1638
msgid "Thread #"
msgstr ""
@@ -8439,467 +8594,404 @@ msgstr ""
msgid "Join and collect threads"
msgstr ""
-#: .././downloads.py:1288
+#: .././downloads.py:1285
msgid "Job complete"
msgstr ""
-#: .././downloads.py:1299
+#: .././downloads.py:1296
msgid "Worker now available again"
msgstr ""
-#: .././downloads.py:1371 .././downloads.py:1494 .././downloads.py:1563
+#: .././downloads.py:1368 .././downloads.py:1491 .././downloads.py:1579
+#: .././downloads.py:1639
msgid "Assigned job:"
msgstr ""
-#: .././downloads.py:1408 .././downloads.py:1412
+#: .././downloads.py:1405 .././downloads.py:1409
msgid "Tartube is restarting a stalled download"
msgstr ""
-#: .././downloads.py:1456
+#: .././downloads.py:1453
msgid "Checking RSS feed"
msgstr ""
-#: .././downloads.py:2083
+#: .././downloads.py:2162
msgid "Cannot download videos in a private folder"
msgstr ""
-#: .././downloads.py:3361 .././downloads.py:8108
+#: .././downloads.py:3449 .././downloads.py:8393
msgid "Download did not start"
msgstr ""
-#: .././downloads.py:3367 .././downloads.py:8120 .././info.py:310
-#: .././updates.py:256 .././updates.py:368 .././updates.py:538
+#: .././downloads.py:3455 .././downloads.py:8399 .././info.py:310
+#: .././updates.py:261 .././updates.py:373 .././updates.py:486
+#: .././updates.py:656
msgid "Child process exited with non-zero code: {}"
msgstr ""
-#: .././downloads.py:3495 .././downloads.py:4751
+#: .././downloads.py:3583 .././downloads.py:4819
msgid ""
"This video has a URL that points to a channel or a playlist, not a video"
msgstr ""
-#: .././downloads.py:4617 .././downloads.py:4633
+#: .././downloads.py:4685 .././downloads.py:4701
msgid "Simulated download of:"
msgstr ""
-#: .././downloads.py:4641
+#: .././downloads.py:4709
msgid "Simulated download of video with unprintable characters"
msgstr ""
-#: .././downloads.py:6436
+#: .././downloads.py:6566
msgid "No timestamps defined in video's timestamp list"
msgstr ""
-#: .././downloads.py:6454
+#: .././downloads.py:6584
msgid ""
"FAILED: Can't create the destination folder either because a folder with the "
"same name already exists, or because new folders can't be added to the "
"parent folder"
msgstr ""
-#: .././downloads.py:6592 .././downloads.py:6854
+#: .././downloads.py:6722 .././downloads.py:6984
msgid "FAILED: Clip download did not start"
msgstr ""
-#: .././downloads.py:6600 .././downloads.py:6862
+#: .././downloads.py:6730 .././downloads.py:6992
msgid "FAILED: Child process exited with non-zero code: {}"
msgstr ""
-#: .././downloads.py:6707
+#: .././downloads.py:6837
msgid "No slices defined in video's slice list"
msgstr ""
-#: .././downloads.py:6886
+#: .././downloads.py:7016
msgid "FAILED: One or more clips were not downloaded"
msgstr ""
-#: .././downloads.py:6983
+#: .././downloads.py:7113
msgid "FAILED: Can't concatenate clips"
msgstr ""
-#: .././downloads.py:7004
+#: .././downloads.py:7134
msgid ""
"FAILED: Clips were concatenated, but could not move the output file out of "
"the temporary directory"
msgstr ""
-#: .././downloads.py:7124
+#: .././downloads.py:7254
msgid "Failed to copy the original video's thumbnail"
msgstr ""
-#: .././downloads.py:7297
+#: .././downloads.py:7427
msgid "FAILED: Can't create a temporary folder for video clips"
msgstr ""
-#. This object creates more messages for the Output tab and/or terminal,
-#. than downloads.VideoDownloader would do, as the output generated by
-#. Youtube Stream Capture is not easy for the user to interpret
-#: .././downloads.py:7999
-msgid "Tartube is starting the stream capture..."
-msgstr ""
-
-#: .././downloads.py:8017
-msgid "Could not create a destination directory, capture halted"
-msgstr ""
-
-#: .././downloads.py:8038 .././downloads.py:8063
-msgid "Youtube Stream Capture script not found:"
+#. There are currently three download methods, specified by self.dl_mode
+#: .././downloads.py:8152
+msgid "Tartube is starting the livestream download"
msgstr ""
-#: .././downloads.py:8112
-msgid "Failed to capture the livestream"
+#: .././downloads.py:8176
+msgid "Invalid livestream download mode"
msgstr ""
-#: .././downloads.py:8116
-msgid "Stream capture terminated"
-msgstr ""
-
-#: .././downloads.py:8126
+#: .././downloads.py:8225
msgid ""
-"Stream captured terminated without downloading any video segments "
-"(indicating an error with the stream)"
-msgstr ""
-
-#. Capture successful
-#: .././downloads.py:8142
-msgid "Stream capture successful"
-msgstr ""
-
-#. Show a confirmation message
-#: .././downloads.py:8169
-msgid "Merging file segments..."
-msgstr ""
-
-#: .././downloads.py:8189
-msgid "Segment merge did not start"
+"Incomplete livestream download detected; removing the .part component from "
+"the output file"
msgstr ""
-#: .././downloads.py:8200
-msgid "Segment merge completed, but path not detected"
-msgstr ""
-
-#: .././downloads.py:8210
-msgid "Segment merge completed, but output file not found"
+#: .././downloads.py:8240
+msgid ""
+"Incomplete livestream download detected; to complete the download, right-"
+"click the video and select 'Finalise livestream'"
msgstr ""
-#: .././downloads.py:8231
-msgid "File moved to:"
+#: .././downloads.py:8470 .././downloads.py:9007
+msgid "Failed to download the .m3u manifest"
msgstr ""
-#: .././downloads.py:8236
-msgid "Livestream download is complete"
+#: .././downloads.py:8900
+msgid "Downloaded the .m3u manifest, now downloading the livestream..."
msgstr ""
-#: .././downloads.py:8241
-msgid "Failed to move output file"
+#. ISO 639-1 Language Codes (with one extra key-value pair to handle live
+#. chat)
+#. English is top of the list, because it's the default setting in
+#. options.OptionsManager
+#. NB These values must not contain square brackets [...]
+#: .././formats.py:79
+msgid "English"
msgstr ""
-#: .././downloads.py:8307
-#, python-brace-format
-msgid "Stream capture is frozen, trying again (restart #{0})"
+#: .././formats.py:121
+msgid "Dutch"
msgstr ""
-#: .././downloads.py:8314
-msgid "Stream capture is frozen, giving up"
+#: .././formats.py:171
+msgid "Korean"
msgstr ""
-#: .././formats.py:72
+#: .././formats.py:441
msgid "seconds"
msgstr ""
-#: .././formats.py:73
+#: .././formats.py:442
msgid "minutes"
msgstr ""
-#: .././formats.py:74
+#: .././formats.py:443
msgid "hours"
msgstr ""
-#: .././formats.py:75
-msgid "days"
-msgstr ""
-
-#: .././formats.py:76
+#: .././formats.py:445
msgid "weeks"
msgstr ""
-#: .././formats.py:77
+#: .././formats.py:446
msgid "years"
msgstr ""
-#: .././formats.py:94
+#: .././formats.py:463
msgid "Every day"
msgstr ""
-#: .././formats.py:95
+#: .././formats.py:464
msgid "Weekdays"
msgstr ""
-#: .././formats.py:96
+#: .././formats.py:465
msgid "Weekends"
msgstr ""
-#: .././formats.py:97
+#: .././formats.py:466
msgid "Monday"
msgstr ""
-#: .././formats.py:98
+#: .././formats.py:467
msgid "Tuesday"
msgstr ""
-#: .././formats.py:99
+#: .././formats.py:468
msgid "Wednesday"
msgstr ""
-#: .././formats.py:100
+#: .././formats.py:469
msgid "Thursday"
msgstr ""
-#: .././formats.py:101
+#: .././formats.py:470
msgid "Friday"
msgstr ""
-#: .././formats.py:102
+#: .././formats.py:471
msgid "Saturday"
msgstr ""
-#: .././formats.py:103
+#: .././formats.py:472
msgid "Sunday"
msgstr ""
-#. ISO 639-1 Language Codes (with one extra key-value pair to handle live
-#. chat)
-#. English is top of the list, because it's the default setting in
-#. options.OptionsManager
-#. NB These values must not contain square brackets [...]
-#: .././formats.py:425
-msgid "English"
-msgstr ""
-
-#: .././formats.py:467
-msgid "Dutch"
-msgstr ""
-
-#: .././formats.py:517
-msgid "Korean"
-msgstr ""
-
#. System folder names
-#: .././formats.py:934
+#: .././formats.py:1122
msgid "All Videos"
msgstr ""
-#: .././formats.py:935
+#: .././formats.py:1123
msgid "Bookmarks"
msgstr ""
-#: .././formats.py:936
+#: .././formats.py:1124
msgid "Favourite Videos"
msgstr "Favorite Videos"
-#: .././formats.py:937
+#: .././formats.py:1125
msgid "Livestreams"
msgstr ""
-#: .././formats.py:938
+#: .././formats.py:1126
msgid "Missing Videos"
msgstr ""
-#: .././formats.py:939
+#: .././formats.py:1127
msgid "New Videos"
msgstr ""
-#: .././formats.py:940
+#: .././formats.py:1128
msgid "Recent Videos"
msgstr ""
-#: .././formats.py:941
+#: .././formats.py:1129
msgid "Waiting Videos"
msgstr ""
-#: .././formats.py:942
+#: .././formats.py:1130
msgid "Temporary Videos"
msgstr ""
-#: .././formats.py:943
+#: .././formats.py:1131
msgid "Unsorted Videos"
msgstr ""
-#: .././formats.py:944
+#: .././formats.py:1132
msgid "Video Clips"
msgstr ""
-#: .././formats.py:949
+#: .././formats.py:1137
msgid "Update using default youtube-dl path"
msgstr ""
-#: .././formats.py:951
+#: .././formats.py:1139
msgid "Update using local youtube-dl path"
msgstr ""
-#: .././formats.py:953
+#: .././formats.py:1141
msgid "Update using custom youtube-dl path"
msgstr ""
-#: .././formats.py:955
+#: .././formats.py:1143
msgid "Update using pip"
msgstr ""
-#: .././formats.py:957
+#: .././formats.py:1145
msgid "Update using pip (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:959
+#: .././formats.py:1147
msgid "Update using pip (omit --user option)"
msgstr ""
-#: .././formats.py:961
+#: .././formats.py:1149
msgid "Update using pip3"
msgstr ""
-#: .././formats.py:963
+#: .././formats.py:1151
msgid "Update using pip3 (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:965
+#: .././formats.py:1153
msgid "Update using pip3 (omit --user option)"
msgstr ""
-#: .././formats.py:967
+#: .././formats.py:1155
msgid "Update using pip3 (recommended)"
msgstr ""
-#: .././formats.py:969
+#: .././formats.py:1157
msgid "Update using PyPI youtube-dl path"
msgstr ""
-#: .././formats.py:971
+#: .././formats.py:1159
msgid "Windows 32-bit update (recommended)"
msgstr ""
-#: .././formats.py:973
+#: .././formats.py:1161
msgid "Windows 32-bit update (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:975
+#: .././formats.py:1163
msgid "Windows 64-bit update (recommended)"
msgstr ""
-#: .././formats.py:977
+#: .././formats.py:1165
msgid "Windows 64-bit update (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:979
+#: .././formats.py:1167
msgid "youtube-dl updates are disabled"
msgstr ""
#. Download operation stages
-#: .././formats.py:983
+#: .././formats.py:1171
msgid "Queued"
msgstr ""
-#: .././formats.py:984
+#: .././formats.py:1172
msgid "Not started"
msgstr ""
-#: .././formats.py:985
+#: .././formats.py:1173
msgid "Active"
msgstr ""
-#: .././formats.py:986
+#: .././formats.py:1174
msgid "Paused"
msgstr ""
#. (not actually used)
-#: .././formats.py:987
+#: .././formats.py:1175
msgid "Completed"
msgstr ""
#. (not actually used)
#. Sub-stages of the 'Error' stage
-#: .././formats.py:988 .././formats.py:1003
+#: .././formats.py:1176 .././formats.py:1189
msgid "Error"
msgstr ""
-#: .././formats.py:989
+#: .././formats.py:1177
msgid "Stalled"
msgstr ""
#. Sub-stages of the 'Active' stage
-#: .././formats.py:991
+#: .././formats.py:1179
msgid "Pre-processing"
msgstr ""
-#: .././formats.py:992
-msgid "Downloading"
-msgstr ""
-
-#: .././formats.py:993
+#: .././formats.py:1181
msgid "Concatenating"
msgstr ""
-#: .././formats.py:994
+#: .././formats.py:1182
msgid "Post-processing"
msgstr ""
-#: .././formats.py:995
-msgid "Capturing"
-msgstr ""
-
-#. Used by YTSC
-#: .././formats.py:996
-msgid "Merging"
-msgstr ""
-
-#. Used by YTSC
-#: .././formats.py:997
-msgid "Checking"
-msgstr ""
-
#. Sub-stages of the 'Completed' stage
-#: .././formats.py:999
+#: .././formats.py:1185
msgid "Finished"
msgstr ""
-#: .././formats.py:1000
+#: .././formats.py:1186
msgid "Warning"
msgstr ""
-#: .././formats.py:1001
+#: .././formats.py:1187
msgid "Already downloaded"
msgstr ""
#. (not actually used)
-#: .././formats.py:1004
+#: .././formats.py:1190
msgid "Stopped"
msgstr ""
-#: .././formats.py:1005
+#: .././formats.py:1191
msgid "Filesize abort"
msgstr ""
-#: .././formats.py:1015
+#: .././formats.py:1201
msgid ""
"TRANSLATOR'S NOTE: ID refers to a video's unique ID on the website, e.g. on "
"YouTube \"CS9OO0S5w2k\""
msgstr ""
-#: .././formats.py:1024
+#: .././formats.py:1210
msgid "ID"
msgstr ""
-#: .././formats.py:1025
+#: .././formats.py:1211
msgid "Title"
msgstr ""
-#: .././formats.py:1026
+#: .././formats.py:1212
msgid "Quality"
msgstr ""
-#: .././formats.py:1027
+#: .././formats.py:1213
msgid "Autonumber"
msgstr ""
-#: .././formats.py:1039
+#: .././formats.py:1225
msgid "Any format"
msgstr ""
@@ -8951,7 +9043,7 @@ msgstr ""
#. (The code in self.run() will spot that the child process did not
#. start)
-#: .././info.py:493 .././updates.py:194
+#: .././info.py:493 .././updates.py:199
msgid "Child process did not start"
msgstr ""
@@ -8977,7 +9069,7 @@ msgstr ""
#. When the download operation is launched from the Classic Mode
#. tab, there is less to display
-#: .././media.py:553 .././media.py:2126 .././media.py:2142
+#: .././media.py:553 .././media.py:2118 .././media.py:2134
msgid "Source:"
msgstr ""
@@ -8993,53 +9085,53 @@ msgstr ""
msgid "unavailable"
msgstr ""
-#: .././media.py:591 .././media.py:2158
+#: .././media.py:591 .././media.py:2150
msgid "Errors\\Warnings"
msgstr ""
-#: .././media.py:2092
+#: .././media.py:2084
msgid ""
"TRANSLATOR'S NOTE: WAITING = livestream not started, LIVE = livestream "
"started"
msgstr ""
-#: .././media.py:2097
+#: .././media.py:2089
msgid "WAITING"
msgstr ""
-#: .././media.py:2099
+#: .././media.py:2091
msgid "LIVE"
msgstr ""
-#: .././media.py:2104
+#: .././media.py:2096
msgid "BLOCKED"
msgstr ""
-#: .././media.py:2114 .././refresh.py:258 .././refresh.py:528
+#: .././media.py:2106 .././refresh.py:258 .././refresh.py:528
msgid "Channel:"
msgstr ""
-#: .././media.py:2116 .././refresh.py:260 .././refresh.py:530
+#: .././media.py:2108 .././refresh.py:260 .././refresh.py:530
msgid "Playlist:"
msgstr ""
-#: .././media.py:2118 .././refresh.py:262 .././refresh.py:532
+#: .././media.py:2110 .././refresh.py:262 .././refresh.py:532
msgid "Folder:"
msgstr ""
-#: .././media.py:2123
+#: .././media.py:2115
msgid "TRANSLATOR'S NOTE 2: Source = video/channel/playlist URL"
msgstr ""
-#: .././media.py:2132 .././media.py:2149
+#: .././media.py:2124 .././media.py:2141
msgid "File:"
msgstr ""
-#: .././media.py:3313 .././media.py:3374
+#: .././media.py:3305 .././media.py:3366
msgid "Today"
msgstr ""
-#: .././media.py:3315 .././media.py:3376
+#: .././media.py:3307 .././media.py:3368
msgid "Yesterday"
msgstr ""
@@ -9270,32 +9362,41 @@ msgstr ""
msgid "Video file doesn't exist:"
msgstr ""
-#: .././updates.py:212
+#: .././updates.py:217
msgid "Starting update operation, installing FFmpeg"
msgstr ""
-#: .././updates.py:252
+#: .././updates.py:257
msgid "FFmpeg installation did not start"
msgstr ""
#. Show a confirmation in the the Output tab (or wizard window textview)
-#: .././updates.py:267 .././updates.py:379 .././updates.py:551
+#: .././updates.py:272 .././updates.py:384 .././updates.py:497
+#: .././updates.py:669
msgid "Update operation finished"
msgstr ""
-#: .././updates.py:324
+#: .././updates.py:329
msgid "Starting update operation, installing matplotlib"
msgstr ""
-#: .././updates.py:364
+#: .././updates.py:369
msgid "matplotlib installation did not start"
msgstr ""
-#: .././updates.py:438
+#: .././updates.py:442
+msgid "Starting update operation, installing streamlink"
+msgstr ""
+
+#: .././updates.py:482
+msgid "streamlink installation did not start"
+msgstr ""
+
+#: .././updates.py:556
msgid "Starting update operation, installing/updating "
msgstr ""
-#: .././updates.py:531
+#: .././updates.py:649
msgid "Update did not start"
msgstr ""
diff --git a/locale/ko_KR/LC_MESSAGES/base.mo b/locale/ko_KR/LC_MESSAGES/base.mo
index d053d394..82b40c1a 100644
Binary files a/locale/ko_KR/LC_MESSAGES/base.mo and b/locale/ko_KR/LC_MESSAGES/base.mo differ
diff --git a/locale/ko_KR/LC_MESSAGES/base.po b/locale/ko_KR/LC_MESSAGES/base.po
index fdcf9bf2..88cc562b 100644
--- a/locale/ko_KR/LC_MESSAGES/base.po
+++ b/locale/ko_KR/LC_MESSAGES/base.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-04-09 08:54+0100\n"
+"POT-Creation-Date: 2022-04-21 15:43+0100\n"
"PO-Revision-Date: 2021-02-12 15:23+0900\n"
"Last-Translator: mirusu400\n"
"Language-Team: mirusu400\n"
@@ -25,7 +25,7 @@ msgstr "매우 작게"
msgid "Small"
msgstr "작게"
-#: .././mainapp.py:298 .././config.py:6847 .././config.py:6946
+#: .././mainapp.py:298 .././config.py:6872 .././config.py:6971
msgid "Medium"
msgstr "중간"
@@ -37,7 +37,7 @@ msgstr "크게"
msgid "Enormous"
msgstr "엄청 크게"
-#: .././mainapp.py:999
+#: .././mainapp.py:1006
msgid ""
"Failed to convert a thumbnail from .webp to .jpg. No more conversions will "
"be attempted until you install FFmpeg on your system, or (if FFmpeg is "
@@ -50,166 +50,166 @@ msgstr ""
"이 시도되지 않습니다. 경로 설정을 진행했다면 Tartube를 다시 시작해 주세요. 이"
"러한 메시지를 표시하지 않을려면, 썸네일 변환 기능을 꺼주세요"
-#: .././mainapp.py:3218
+#: .././mainapp.py:3268
msgid ""
"Tartube can't create the folder in which its configuration file is saved"
msgstr "Tartube는 구성 파일이 저장되는 폴더를 만들 수 없습니다"
#. Load/save has been disabled. Show the error message in a dialogue
#. window, then shut down
-#: .././mainapp.py:3265
+#: .././mainapp.py:3315
msgid "Tartube failed to start because:"
msgstr "Tartube는 다음과 같은 이유로 시작하지 못했습니다:"
-#: .././mainapp.py:3273
+#: .././mainapp.py:3323
msgid "If you don't know how to resolve this error, please contact the authors"
msgstr "이 문제를 해결할 방법을 모르겠으면, 개발자에게 문의해주세요"
-#: .././mainapp.py:3499
+#: .././mainapp.py:3549
msgid "Because of an error, file load/save has been disabled"
msgstr "오류에 의해, 파일 저장/불러오기 기능이 비활성화 되었습니다"
-#: .././mainapp.py:3508
+#: .././mainapp.py:3558
msgid "Because of the error, file load/save has been disabled"
msgstr "오류에 의해, 파일 저장/불러오기 기능이 비활성화 되었습니다"
-#: .././mainapp.py:3610
+#: .././mainapp.py:3660
msgid "There is a download operation in progress."
msgstr "진행중인 다운로드 작업이 있습니다."
-#: .././mainapp.py:3612
+#: .././mainapp.py:3662
msgid "There is an update operation in progress."
msgstr "진행중인 업데이트 작업이 있습니다."
-#: .././mainapp.py:3614
+#: .././mainapp.py:3664
msgid "There is a refresh operation in progress."
msgstr "진행중인 새로고침 작업이 있습니다."
-#: .././mainapp.py:3616
+#: .././mainapp.py:3666
msgid "There is an info operation in progress."
msgstr "진행중인 설정 작업이 있습니다."
-#: .././mainapp.py:3618
+#: .././mainapp.py:3668
msgid "There is a tidy operation in progress."
msgstr "진행중인 깔끔한 작업이 있습니다."
-#: .././mainapp.py:3620
+#: .././mainapp.py:3670
msgid "There is a process operation in progress."
msgstr "진행중인 처리 작업이 있습니다."
-#: .././mainapp.py:3625
+#: .././mainapp.py:3675
msgid "Are you sure you want to quit Tartube?"
msgstr "정말로 Tartube를 종료하시겠습니까?"
-#: .././mainapp.py:3834
+#: .././mainapp.py:3884
msgid "Failed to load the Tartube config file (failed sanity check)"
msgstr "Tartube 구성 파일을 로드하지 못했습니다 (완전성 검사 실패)"
-#: .././mainapp.py:3857
+#: .././mainapp.py:3907
msgid "Failed to load the Tartube config file (file is locked)"
msgstr "Tartube 구성 파일을 로드하지 못했습니다 (파일이 잠겨있음)"
-#: .././mainapp.py:3887
+#: .././mainapp.py:3937
msgid "Failed to load the Tartube config file (JSON load failure)"
msgstr "Tartube 구성 파일을 로드하지 못했습니다 (JSON 로드 실패)"
-#: .././mainapp.py:3905
+#: .././mainapp.py:3955
msgid "Failed to load the Tartube config file (file is invalid)"
msgstr "Tartube 구성 파일을 로드하지 못했습니다 (파일이 잘못됨)"
-#: .././mainapp.py:3923
+#: .././mainapp.py:3973
msgid ""
"Failed to load the Tartube config file (file cannot be read by this version)"
msgstr ""
"Tartube 구성 파일을 로드하지 못했습니다 (파일이 이 버전에선 읽을수 없음)"
-#: .././mainapp.py:3938
+#: .././mainapp.py:3988
msgid "Failed to load the Tartube config file (missing file type)"
msgstr "Tartube 구성 파일을 로드하지 못했습니다 (파일 유형 누락)"
-#: .././mainapp.py:5036
+#: .././mainapp.py:5134
msgid "Failed to save the Tartube config file (failed sanity check)"
msgstr "Tartube 구성 파일을 로드하지 못했습니다 (완전성 검사 실패)"
-#: .././mainapp.py:5428
+#: .././mainapp.py:5543
msgid "Failed to save the Tartube config file (file is locked)"
msgstr "Tartube 구성 파일을 로드하지 못했습니다 (파일이 잠겨있음)"
-#: .././mainapp.py:5430 .././mainapp.py:7247 .././mainapp.py:7303
-#: .././mainapp.py:7309
+#: .././mainapp.py:5545 .././mainapp.py:7440 .././mainapp.py:7503
+#: .././mainapp.py:7509
msgid "File load/save has been disabled"
msgstr "파일 저장/불러오기 기능이 비활성화 되었습니다"
-#: .././mainapp.py:5449
+#: .././mainapp.py:5564
msgid "Failed to save the Tartube config file (file already in use)"
msgstr "Tartube 구성 파일을 로드하지 못했습니다 (파일이 사용중임)"
-#: .././mainapp.py:5468
+#: .././mainapp.py:5583
msgid "Failed to save the Tartube config file"
msgstr "Tartube 구성 파일을 로드하지 못했습니다"
-#: .././mainapp.py:5570 .././mainapp.py:5585 .././mainapp.py:5617
+#: .././mainapp.py:5685 .././mainapp.py:5700 .././mainapp.py:5732
msgid "Failed to load the Tartube database file"
msgstr "Tartube 데이터베이스 파일을 로드하지 못했습니다"
-#: .././mainapp.py:5633
+#: .././mainapp.py:5748
msgid "The Tartube database file is invalid"
msgstr "Tartube 데이터베이스 파일이 잘못되었습니다"
-#: .././mainapp.py:5649
+#: .././mainapp.py:5764
msgid "Database file can't be read by this version of Tartube"
msgstr "데이터베이스 파일을 이 Tartube 버전에서 읽을 수 없습니다"
-#: .././mainapp.py:6018
+#: .././mainapp.py:6138
msgid "Tartube is applying an essential database update"
msgstr "Tartube가 중요한 데이터베이스 업데이트를 적용중입니다"
-#: .././mainapp.py:6020
+#: .././mainapp.py:6140
msgid "This might take a few minutes, so please be patient"
msgstr "이 작업은 몇 분 정도 시간이 걸릴 수 있으므로, 잠시 기다려 주십시오"
-#: .././mainapp.py:7069
+#: .././mainapp.py:7189
msgid "General (default) download options"
msgstr ""
-#: .././mainapp.py:7075
+#: .././mainapp.py:7195
msgid "Download options for the Classic Mode tab"
msgstr ""
-#: .././mainapp.py:7241 .././mainapp.py:7299 .././mainapp.py:7308
+#: .././mainapp.py:7434 .././mainapp.py:7499 .././mainapp.py:7508
msgid "Failed to save the Tartube database file"
msgstr "Tartube 데이터베이스 파일을 저장하지 못했습니다"
-#: .././mainapp.py:7244
+#: .././mainapp.py:7437
msgid "(Could not make a backup copy of the existing file)"
msgstr "(존재하는 파일의 백업 복사본을 만들지 못했습니다)"
-#: .././mainapp.py:7280
+#: .././mainapp.py:7479
msgid "Failed to save the Tartube database file (file already in use)"
msgstr ""
"Tartube 데이터베이스 파일을 저장하는 데 실패했습니다 (파일이 이미 사용중)"
-#: .././mainapp.py:7301
+#: .././mainapp.py:7501
msgid "A backup of the previous file can be found at:"
msgstr "이전 파일의 백업본을 발견했습니다:"
-#: .././mainapp.py:7476 .././mainapp.py:7486
+#: .././mainapp.py:7679 .././mainapp.py:7689
msgid "Database file created"
msgstr "데이터베이스 파일이 생성됨"
-#: .././mainapp.py:7856
+#: .././mainapp.py:8056
msgid "Tartube's database can't be checked while an operation is in progress"
msgstr "Tartube의 데이터베이스는 작업이 진행중일 때 확인할 수 없습니다"
-#: .././mainapp.py:8101
+#: .././mainapp.py:8310
msgid "Database check complete, no inconsistencies found"
msgstr "데이터베이스 확인이 완료되었습니다. 불일치 사항이 없습니다"
-#: .././mainapp.py:8134
+#: .././mainapp.py:8345
msgid "Database check complete, problems found:"
msgstr "데이터베이스 확인이 완료되었습니다. 문제가 있습니다:"
-#: .././mainapp.py:8137
+#: .././mainapp.py:8348
msgid ""
"Do you want to repair these problems? (The database will be fixed, but no "
"files will be deleted)"
@@ -217,31 +217,31 @@ msgstr ""
"이 문제사항들을 복구하겠습니까? (데이터베이스가 수정되지만, 파일이 삭제되진 "
"않습니다)"
-#: .././mainapp.py:8317
+#: .././mainapp.py:8564
msgid "Database inconsistencies repaired"
msgstr "데이터베이스 불일치 사항 복구됨"
-#: .././mainapp.py:9577 .././config.py:26880
+#: .././mainapp.py:9900 .././config.py:27477
msgid "Please select Tartube's data folder"
msgstr "Tartube의 데이터 폴더를 선택해 주세요"
-#: .././mainapp.py:9993
+#: .././mainapp.py:10316
msgid ""
"A download operation cannot start if one or more configuration windows are "
"still open"
msgstr "하나 이상의 설정 창이 열려 있으면 다운로드 작업이 시작되지 않습니다"
-#: .././mainapp.py:10017 .././mainapp.py:10042
+#: .././mainapp.py:10340 .././mainapp.py:10365
#, python-brace-format
-msgid "You only have {0} / {1} Mb remaining on your device"
-msgstr "디바이스 장치에 남은 용량이 {0} / {1} Mb 밖에 없습니다"
+msgid "You only have {0} / {1} Gb remaining on your device"
+msgstr ""
-#: .././mainapp.py:10045 .././mainapp.py:16146 .././mainapp.py:16267
-#: .././mainapp.py:16454 .././mainwin.py:19992
+#: .././mainapp.py:10368 .././mainapp.py:16502 .././mainapp.py:16623
+#: .././mainapp.py:16810 .././mainwin.py:20371
msgid "Are you sure you want to continue?"
msgstr "계속 진행하시겠습니까?"
-#: .././mainapp.py:10137
+#: .././mainapp.py:10460
msgid ""
"1. Copy URLs into the box at the top\n"
"2. Select a destination and a format\n"
@@ -249,84 +249,84 @@ msgid ""
"4. Click 'Download all'"
msgstr ""
-#: .././mainapp.py:10145
+#: .././mainapp.py:10468
msgid "There is nothing to check!"
msgstr "확인할 항목이 없습니다!"
-#: .././mainapp.py:10149
+#: .././mainapp.py:10472
msgid "There is nothing to download!"
msgstr "다운로드 할 항 목이 없습니다!"
-#: .././mainapp.py:10430
+#: .././mainapp.py:10761
msgid "Download operation complete"
msgstr "다운로드 작업 완료"
-#: .././mainapp.py:10432
+#: .././mainapp.py:10763
msgid "Download operation halted"
msgstr "다운로드 작업 중지됨"
-#: .././mainapp.py:10436
+#: .././mainapp.py:10767
msgid "Videos downloaded:"
msgstr "다운로드한 비디오:"
-#: .././mainapp.py:10437 .././config.py:27957 .././config.py:28014
+#: .././mainapp.py:10768 .././config.py:28587 .././config.py:28644
msgid "Videos checked:"
msgstr "확인한 비디오:"
-#: .././mainapp.py:10444
+#: .././mainapp.py:10775
msgid "Clips downloaded:"
msgstr ""
-#: .././mainapp.py:10447
+#: .././mainapp.py:10778
msgid "Video slices removed:"
msgstr ""
-#: .././mainapp.py:10451 .././mainapp.py:11104 .././mainapp.py:11584
-#: .././mainapp.py:11961
+#: .././mainapp.py:10782 .././mainapp.py:11446 .././mainapp.py:11926
+#: .././mainapp.py:12303
msgid "Time taken:"
msgstr "소요된 시간:"
-#: .././mainapp.py:10630
+#: .././mainapp.py:10962
msgid ""
"An update operation cannot start if one or more configuration windows are "
"still open"
msgstr "하나 이상의 설정 창이 열려 있으면 업데이트 작업이 시작되지 않습니다"
-#: .././mainapp.py:10823
+#: .././mainapp.py:11165
msgid "Installation failed"
msgstr "설치 실패"
-#: .././mainapp.py:10825
+#: .././mainapp.py:11167
msgid "Installation complete"
msgstr "설치 완료"
-#: .././mainapp.py:10829
+#: .././mainapp.py:11171
msgid "Update operation failed"
msgstr "업데이트 작업 실패"
-#: .././mainapp.py:10831
+#: .././mainapp.py:11173
msgid "Update operation halted"
msgstr "업데이트 작업 중지"
-#: .././mainapp.py:10833
+#: .././mainapp.py:11175
msgid "Update operation complete"
msgstr "업데이트 작업 성공"
-#: .././mainapp.py:10835
+#: .././mainapp.py:11177
msgid "version:"
msgstr "버전:"
-#: .././mainapp.py:10839
+#: .././mainapp.py:11181
msgid "(unknown)"
msgstr "(알수없음)"
-#: .././mainapp.py:10925
+#: .././mainapp.py:11267
msgid ""
"A refresh operation cannot start if one or more configuration windows are "
"still open"
msgstr "하나 이상의 설정 창이 열려 있으면 새로고침 작업이 시작되지 않습니다"
-#: .././mainapp.py:10938
+#: .././mainapp.py:11280
msgid ""
"During a refresh operation, Tartube analyses its data folder, looking for "
"videos that haven't yet been added to its database"
@@ -334,7 +334,7 @@ msgstr ""
"새로고침 작업을 하는 동안, Tartube는 데이터 폴더를 분석하고, 데이터베이스에 "
"추가되지 않은 비디오를 탐색합니다"
-#: .././mainapp.py:10942
+#: .././mainapp.py:11284
msgid ""
"You only need to perform a refresh operation if you have manually copied "
"videos into Tartube's data folder"
@@ -342,21 +342,21 @@ msgstr ""
"Tartube의 데이터 폴더에 수동으로 비디오를 복사했다면 새로고침 작업을 해야 합"
"니다"
-#: .././mainapp.py:10949
+#: .././mainapp.py:11291
msgid ""
"Before starting a refresh operation, you should click the 'Check all' button "
"in the main window"
msgstr ""
"새로고침 작업을 시작하기 전에, 메인 화면의 '모두 선택' 버튼을 클릭해야 합니다"
-#: .././mainapp.py:10956
+#: .././mainapp.py:11298
msgid ""
"Before starting a refresh operation, you should right-click the channel and "
"select 'Check channel'"
msgstr ""
"새로고침 작업을 시작하기 전에, 채널을 우클릭하고 '채널 검사'를 선택해주세요"
-#: .././mainapp.py:10963
+#: .././mainapp.py:11305
msgid ""
"Before starting a refresh operation, you should right-click the playlist and "
"select 'Check playlist'"
@@ -364,110 +364,110 @@ msgstr ""
"새로고침 작업을 시작하기 전에, 플레이르스트를 우클릭하고 '플레이리스트 검"
"사'를 선택해주세요"
-#: .././mainapp.py:10970
+#: .././mainapp.py:11312
msgid ""
"Before starting a refresh operation, you should right-click the folder and "
"select 'Check folder'"
msgstr ""
"새로고침 작업을 시작하기 전에, 폴더를 우클릭하고 '폴더 검사'를 선택해주세요"
-#: .././mainapp.py:10975
+#: .././mainapp.py:11317
msgid "Are you sure you want to proceed with the refresh operation?"
msgstr "새로고침 작업을 계속하시겠습니까?"
-#: .././mainapp.py:11099
+#: .././mainapp.py:11441
msgid "Refresh operation complete"
msgstr "새로고침 작업 완료됨"
-#: .././mainapp.py:11101
+#: .././mainapp.py:11443
msgid "Refresh operation halted"
msgstr "새로고침 작업 중지됨"
-#: .././mainapp.py:11203
+#: .././mainapp.py:11545
msgid ""
"An info operation cannot start if one or more configuration windows are "
"still open"
msgstr "하나 이상의 설정 창이 열려있으면 설정 작업이 시작되지 않습니다"
-#: .././mainapp.py:11328
+#: .././mainapp.py:11670
msgid "Operation failed"
msgstr "작업 실패"
-#: .././mainapp.py:11330 .././mainwin.py:29348 .././downloads.py:508
+#: .././mainapp.py:11672 .././mainwin.py:29749 .././downloads.py:508
msgid "Operation complete"
msgstr "작업 성공"
-#: .././mainapp.py:11332
+#: .././mainapp.py:11674
msgid "Click the Output tab to see the results"
msgstr "결과를 보려면 출력 탭을 클릭하세요"
-#: .././mainapp.py:11345
+#: .././mainapp.py:11687
msgid "A new release is available!"
msgstr "새 버전이 업데이트 되었습니다!"
-#: .././mainapp.py:11347
+#: .././mainapp.py:11689
msgid "Your installation is up to date!"
msgstr "설치된 버전이 최신 버전입니다!"
-#: .././mainapp.py:11349
+#: .././mainapp.py:11691
msgid "Installed version:"
msgstr "설치된 버전:"
-#: .././mainapp.py:11354
+#: .././mainapp.py:11696
msgid "Stable release:"
msgstr "안정 버전:"
-#: .././mainapp.py:11359
+#: .././mainapp.py:11701
msgid "Stable release: not found"
msgstr "안정 버전: 존재하지 않음"
-#: .././mainapp.py:11362
+#: .././mainapp.py:11704
msgid "Development release:"
msgstr "개발 버전:"
-#: .././mainapp.py:11364
+#: .././mainapp.py:11706
msgid "Development release: not found"
msgstr "개발 버전 존재하지 않음"
-#: .././mainapp.py:11477
+#: .././mainapp.py:11819
msgid ""
"A tidy operation cannot start if one or more configuration windows are still "
"open"
msgstr "하나 이상의 설정 창이 열려있으면 마무리 작업이 시작되지 않습니다"
-#: .././mainapp.py:11579
+#: .././mainapp.py:11921
msgid "Tidy operation complete"
msgstr "마무리 작업 완료"
-#: .././mainapp.py:11581
+#: .././mainapp.py:11923
msgid "Tidy operation halted"
msgstr "마무리 작업 중지됨"
-#: .././mainapp.py:11722 .././mainwin.py:20733 .././config.py:14148
+#: .././mainapp.py:12064 .././mainwin.py:21112 .././config.py:14187
msgid "Livestream has started"
msgstr "생방송이 시작됨"
-#: .././mainapp.py:11950
+#: .././mainapp.py:12292
msgid "Process operation complete"
msgstr "처리 작업 완료됨"
-#: .././mainapp.py:11952
+#: .././mainapp.py:12294
msgid "Process operation halted"
msgstr "처리 작업이 중지됨"
-#: .././mainapp.py:11956
+#: .././mainapp.py:12298
msgid "Files processed:"
msgstr "처리된 파일:"
-#: .././mainapp.py:11957
+#: .././mainapp.py:12299
msgid "Errors:"
msgstr "오류:"
-#: .././mainapp.py:13287 .././mainapp.py:13480
+#: .././mainapp.py:13642 .././mainapp.py:13835
msgid "Cannot move anything to:"
msgstr "옮길 수 없습니다:"
-#: .././mainapp.py:13289 .././mainapp.py:13482
+#: .././mainapp.py:13644 .././mainapp.py:13837
msgid ""
"because a file or folder with the same name already exists (although "
"Tartube's database doesn't know anything about it)"
@@ -475,7 +475,7 @@ msgstr ""
"(Tartube의 데이터베이스에선 확인할 수 없지만) 같은 이름의 파일이나 폴더가 존"
"재하기 때문입니다"
-#: .././mainapp.py:13293
+#: .././mainapp.py:13648
msgid ""
"You probably created that file/folder accidentally, in which case you should "
"delete it manually before trying again"
@@ -483,19 +483,19 @@ msgstr ""
"해당 파일이나 폴더를 실수로 만들었을 수 있으므로, 이 경우 재시도 전에 수동으"
"로 삭제해야 합니다"
-#: .././mainapp.py:13307 .././mainapp.py:13500
+#: .././mainapp.py:13662 .././mainapp.py:13855
msgid "Are you sure you want to move this channel:"
msgstr "이 채널을 이동하시겠습니까?:"
-#: .././mainapp.py:13309 .././mainapp.py:13502
+#: .././mainapp.py:13664 .././mainapp.py:13857
msgid "Are you sure you want to move this playlist:"
msgstr "이 플레이리스트를 이동하시겠습니까?:"
-#: .././mainapp.py:13311 .././mainapp.py:13504
+#: .././mainapp.py:13666 .././mainapp.py:13859
msgid "Are you sure you want to move this folder:"
msgstr "이 폴더를 이동하시겠습니까?:"
-#: .././mainapp.py:13316
+#: .././mainapp.py:13671
msgid ""
"This procedure will move all downloaded files to the top level of Tartube's "
"data folder"
@@ -503,31 +503,31 @@ msgstr ""
"이 작업은 모든 다운로드 받은 파일을 Tartube 데이터 폴더의 최상위 위치로 이동"
"합니다"
-#: .././mainapp.py:13354 .././mainapp.py:13559
+#: .././mainapp.py:13709 .././mainapp.py:13914
#, python-brace-format
msgid "Could not move '{0}' (filesystem error)"
msgstr ""
-#: .././mainapp.py:13422
+#: .././mainapp.py:13777
msgid "Channels, playlists and folders can only be dragged into a folder"
msgstr "채널, 플레이리스트, 폴더만 폴더 안으로 드래그 할 수 있습ㄴ디ㅏ"
-#: .././mainapp.py:13435
+#: .././mainapp.py:13790
#, python-brace-format
msgid "The fixed folder '{0}' cannot be moved (but it can still be hidden)"
msgstr "고정된 폴더 '{0}'(은)는 이동할 수 없습니다 (하지만 숨길 순 있습니다)"
-#: .././mainapp.py:13448
+#: .././mainapp.py:13803
#, python-brace-format
msgid "The folder '{0}' can only contain videos"
msgstr "폴더 '{0}'은(는) 비디오만 넣을 수 있습니다"
-#: .././mainapp.py:13460
+#: .././mainapp.py:13815
#, python-brace-format
msgid "The folder '{0}' can only contain other folders and videos"
msgstr ""
-#: .././mainapp.py:13487
+#: .././mainapp.py:13842
msgid ""
"You probably created that file/folder accidentally, in which case, you "
"should delete it manually before trying again"
@@ -535,15 +535,15 @@ msgstr ""
"해당 파일이나 폴더를 실수로 만들었을 수 있으므로, 이 경우 재시도 전에 수동으"
"로 삭제해야 합니다"
-#: .././mainapp.py:13506
+#: .././mainapp.py:13861
msgid "into this folder:"
msgstr "이 폴더로:"
-#: .././mainapp.py:13510
+#: .././mainapp.py:13865
msgid "This procedure will move all downloaded files to the new location"
msgstr "이 작업은 모든 다운로드 받은 파일을 새 위치로 이동합니다"
-#: .././mainapp.py:13516 .././mainapp.py:13648
+#: .././mainapp.py:13871 .././mainapp.py:14004
msgid ""
"WARNING: The destination folder is marked as temporary, so everything inside "
"it will be DELETED when Tartube restarts!"
@@ -551,146 +551,146 @@ msgstr ""
"경고: 이 목적지 폴더는 임시 폴더이므로, Tartube가 재시작되면 해당 폴더 안의 "
"모든게 삭제됩니다!!!"
-#: .././mainapp.py:13626
+#: .././mainapp.py:13982
msgid "Videos cannot be dragged into this folder"
msgstr ""
-#: .././mainapp.py:13636
+#: .././mainapp.py:13992
#, python-brace-format
msgid "Are you sure you want to move the video to '{0}'?"
msgstr ""
-#: .././mainapp.py:13642
+#: .././mainapp.py:13998
#, python-brace-format
msgid "Are you sure you want to move '{0}' videos to '{1}'?"
msgstr ""
#. Show confirmation dialogue
-#: .././mainapp.py:13783
+#: .././mainapp.py:14139
msgid "Videos moved"
msgstr ""
-#: .././mainapp.py:13784
+#: .././mainapp.py:14140
msgid "Videos not moved:"
msgstr ""
-#: .././mainapp.py:14182
+#: .././mainapp.py:14538
msgid ""
"Are you SURE you want to delete files? This procedure cannot be reversed!"
msgstr "정말로 파일을 삭제하겠습니까? 이 작업은 되돌릴 수 없습니다!"
-#: .././mainapp.py:14199
+#: .././mainapp.py:14555
msgid ""
"Are you SURE you want to remove these items from your database? This "
"procedure cannot be reversed!"
msgstr ""
-#: .././mainapp.py:16130 .././mainapp.py:16251 .././mainapp.py:16438
+#: .././mainapp.py:16486 .././mainapp.py:16607 .././mainapp.py:16794
#, python-brace-format
msgid "The channel contains {0} item(s), so this action may take a while"
msgstr "이 채널은 {0}개의 항목이 있으므로, 시간이 걸릴 수 있습니다"
-#: .././mainapp.py:16136 .././mainapp.py:16257 .././mainapp.py:16444
+#: .././mainapp.py:16492 .././mainapp.py:16613 .././mainapp.py:16800
#, python-brace-format
msgid "The playlist contains {0} item(s), so this action may take a while"
msgstr "이 플레이리스트는 {0}개의 항목이 있으므로, 시간이 걸릴 수 있습니다"
-#: .././mainapp.py:16142 .././mainapp.py:16263 .././mainapp.py:16450
+#: .././mainapp.py:16498 .././mainapp.py:16619 .././mainapp.py:16806
#, python-brace-format
msgid "The folder contains {0} item(s), so this action may take a while"
msgstr "이 폴더는 {0}개의 항목이 있으므로, 시간이 걸릴 수 있습니다"
-#: .././mainapp.py:16515 .././mainapp.py:22150 .././mainapp.py:22292
-#: .././mainapp.py:22429 .././config.py:26219
+#: .././mainapp.py:16871 .././mainapp.py:22526 .././mainapp.py:22668
+#: .././mainapp.py:22805 .././config.py:26816
#, python-brace-format
msgid "The name '{0}' is not allowed"
msgstr "파일 이름 '{0}'은(는) 허용되지 않았습니다"
-#: .././mainapp.py:16524 .././config.py:16624 .././config.py:26210
+#: .././mainapp.py:16880 .././config.py:16689 .././config.py:26807
#, python-brace-format
msgid "The name '{0}' is already in use"
msgstr "파일 이름 '{0}'은(는) 이미 사용중입니다"
-#: .././mainapp.py:16534
+#: .././mainapp.py:16890
#, python-brace-format
msgid "Failed to rename '{0}'"
msgstr "'{0}'로 이름변경에 실패했습니다."
#. Confirm the result
-#: .././mainapp.py:16734
+#: .././mainapp.py:17090
msgid "Search/replace complete"
msgstr ""
-#: .././mainapp.py:16735
+#: .././mainapp.py:17091
#, python-brace-format
msgid "Updated URLs: {0}"
msgstr ""
-#: .././mainapp.py:16736
+#: .././mainapp.py:17092
#, python-brace-format
msgid "Errors: {0}"
msgstr ""
-#: .././mainapp.py:16999
+#: .././mainapp.py:17355
msgid "Select where to save the database export"
msgstr "내보낸 데이터베이스를 저장할 위치를 선택하세요"
-#: .././mainapp.py:17129
+#: .././mainapp.py:17485
msgid "There is nothing to export!"
msgstr "내보낼 항목이 없습니다!"
-#: .././mainapp.py:17169 .././mainapp.py:17214 .././mainapp.py:17267
-#: .././config.py:27800
+#: .././mainapp.py:17525 .././mainapp.py:17570 .././mainapp.py:17623
+#: .././config.py:28430
msgid "Failed to save the database export file:"
msgstr "내보낸 데이터베이스 파일을 저장하는데 실패했습니다:"
-#: .././mainapp.py:17275 .././config.py:27790
+#: .././mainapp.py:17631 .././config.py:28420
msgid "Database export file saved to:"
msgstr "내보낸 데이터베이스 파일이 저장되었습니다:"
-#: .././mainapp.py:17540
+#: .././mainapp.py:17896
msgid "Select the database export"
msgstr "내보낼 데이터베이스 파일을 선택하세요"
-#: .././mainapp.py:17558 .././mainapp.py:17569 .././mainapp.py:17603
+#: .././mainapp.py:17914 .././mainapp.py:17925 .././mainapp.py:17959
msgid "Failed to load the database export file"
msgstr "내보낸 데이터에피스 파일을 로드하는데 실패했습니다"
-#: .././mainapp.py:17586
+#: .././mainapp.py:17942
msgid "The database export file is invalid"
msgstr "내보낸 데이터베이스 파일이 잘못되었습니다"
-#: .././mainapp.py:17617
+#: .././mainapp.py:17973
msgid "The database export file is invalid (or empty)"
msgstr "내보낸 데이터베이스 파일이 잘못되었습니다 (혹은 비어있습니다)"
-#: .././mainapp.py:17662
+#: .././mainapp.py:18018
msgid "Nothing was imported from the database export file"
msgstr "내보낸 데이터베이스 파일에서 가져올 것이 없습니다"
#. Show a confirmation
-#: .././mainapp.py:17676
+#: .././mainapp.py:18032
msgid "Imported into database"
msgstr ""
-#: .././mainapp.py:17677 .././mainwin.py:1691 .././config.py:962
-#: .././config.py:17091 .././config.py:20294
+#: .././mainapp.py:18033 .././mainwin.py:1703 .././config.py:962
+#: .././config.py:17283 .././config.py:20604
msgid "Videos"
msgstr "비디오"
-#: .././mainapp.py:17678 .././config.py:17124 .././config.py:20327
+#: .././mainapp.py:18034 .././config.py:17316 .././config.py:20637
msgid "Channels"
msgstr "채널"
-#: .././mainapp.py:17679 .././config.py:17135 .././config.py:20338
+#: .././mainapp.py:18035 .././config.py:17327 .././config.py:20648
msgid "Playlists"
msgstr "플레이리스트"
-#: .././mainapp.py:17680
+#: .././mainapp.py:18036
msgid "Folders"
msgstr "폴더"
-#: .././mainapp.py:18446
+#: .././mainapp.py:18802
msgid ""
"The video file is missing from Tartube's data folder (try downloading the "
"video again!)"
@@ -698,145 +698,145 @@ msgstr ""
"비디오 파일이 Tartube의 데이터 폴더에 존재하지 않습니다 (다시 다운로드 시도"
"해 보세요!)"
-#: .././mainapp.py:18789
+#: .././mainapp.py:19145
msgid "Select where to save the custom download export"
msgstr ""
-#: .././mainapp.py:18846
+#: .././mainapp.py:19202
msgid "Failed to save the custom download export file:"
msgstr ""
-#: .././mainapp.py:18854
+#: .././mainapp.py:19210
msgid "Custom download exported to:"
msgstr ""
-#: .././mainapp.py:18882
+#: .././mainapp.py:19238
msgid "Select the custom download export file"
msgstr ""
-#: .././mainapp.py:18901
+#: .././mainapp.py:19257
msgid "Failed to load the custom download export file"
msgstr ""
-#: .././mainapp.py:18918
+#: .././mainapp.py:19274
msgid "The custom download export file is invalid"
msgstr ""
-#: .././mainapp.py:18929
+#: .././mainapp.py:19285
msgid "The custom download export file is invalid (or empty)"
msgstr ""
-#: .././mainapp.py:19452 .././mainapp.py:19813
+#: .././mainapp.py:19816 .././mainapp.py:20177
msgid "Select where to save the options export"
msgstr "내보낸 설정을 저장할 위치를 선택하세요"
-#: .././mainapp.py:19500 .././mainapp.py:19861
+#: .././mainapp.py:19864 .././mainapp.py:20225
msgid "Failed to save the options export file:"
msgstr "내보낸 설정을 저장하는데 실패했습니다:"
-#: .././mainapp.py:19508
+#: .././mainapp.py:19872
msgid "Download options exported to to:"
msgstr "다운로드 옵션이 내보내졌습니다:"
-#: .././mainapp.py:19536 .././mainapp.py:19897
+#: .././mainapp.py:19900 .././mainapp.py:20261
msgid "Select the options export file"
msgstr "내보낼 설정 파일을 선택하세요"
-#: .././mainapp.py:19555 .././mainapp.py:19916
+#: .././mainapp.py:19919 .././mainapp.py:20280
msgid "Failed to load the options export file"
msgstr "내보낸 설정 파일을 불러오지 못했습니다"
-#: .././mainapp.py:19572 .././mainapp.py:19933
+#: .././mainapp.py:19936 .././mainapp.py:20297
msgid "The options export file is invalid"
msgstr "내보낸 설정 파일이 잘못되었습니다"
-#: .././mainapp.py:19583 .././mainapp.py:19944
+#: .././mainapp.py:19947 .././mainapp.py:20308
msgid "The options export file is invalid (or empty)"
msgstr "내보낸 설정 파일이 잘못되었습니다 (혹은 비어있습니다)"
-#: .././mainapp.py:19869
+#: .././mainapp.py:20233
msgid "FFmpeg options exported to to:"
msgstr "FFmpeg 설정이 내보내졌습니다:"
-#: .././mainapp.py:20881
+#: .././mainapp.py:21257
msgid "Please select a destination folder"
msgstr "목적지 폴더를 선택해주세요"
#. Prompt for confirmation
-#: .././mainapp.py:20947
+#: .././mainapp.py:21323
msgid "Are you sure you want to clear this list?"
msgstr "정말로 이 리스트를 비우시겠습니까?"
#. Prompt for confirmation
-#: .././mainapp.py:20991
+#: .././mainapp.py:21367
msgid "Are you sure you want to clear downloaded videos?"
msgstr "정말로 다운로드 받은 비디오들을 지우시겠습니까?"
-#: .././mainapp.py:21088 .././mainwin.py:16836
+#: .././mainapp.py:21464 .././mainwin.py:17152
msgid "Only checked/downloaded videos can be processed by FFmpeg"
msgstr "체크하거나 다운로드 받은 비디오들만 FFmpeg에 의해 처리됩니다"
-#: .././mainapp.py:21195
+#: .././mainapp.py:21571
msgid "No destination(s) to show"
msgstr ""
-#: .././mainapp.py:21242
+#: .././mainapp.py:21618
msgid "No video(s) have been downloaded"
msgstr "아무 비디오도 다운로드 되지 않았습니다"
#. Prompt for confirmation
-#: .././mainapp.py:21369
+#: .././mainapp.py:21745
msgid "Are you sure you want to remove the selected item(s)?"
msgstr "정말로 선택한 항목들을 삭제하시겠습니까?"
-#: .././mainapp.py:22141
+#: .././mainapp.py:22517
msgid "You must give the channel a name"
msgstr "채널에 이름을 입력해야 합니다"
-#: .././mainapp.py:22159 .././mainapp.py:22438
+#: .././mainapp.py:22535 .././mainapp.py:22814
msgid "You must enter a valid URL"
msgstr "올바른 URL을 입력해야 합니다"
-#: .././mainapp.py:22186 .././mainapp.py:22314 .././mainapp.py:22464
+#: .././mainapp.py:22562 .././mainapp.py:22690 .././mainapp.py:22840
msgid "That name is not permitted on your system"
msgstr ""
-#: .././mainapp.py:22284
+#: .././mainapp.py:22660
msgid "You must give the folder a name"
msgstr "폴더에 이름을 입력해야 합니다"
-#: .././mainapp.py:22420
+#: .././mainapp.py:22796
msgid "You must give the playlist a name"
msgstr "플레이리스트에 이름을 입력해야 합니다"
-#: .././mainapp.py:22645
+#: .././mainapp.py:23021
msgid "There were no livestream alerts to cancel"
msgstr "취소할 생방송 알림이 없습니다"
-#: .././mainapp.py:22647
+#: .././mainapp.py:23023
msgid "Livestream alerts for 1 video were cancelled"
msgstr "비디오 1개에 대한 생방송 알림이 취소되었습니다"
-#: .././mainapp.py:22650
+#: .././mainapp.py:23026
#, python-brace-format
msgid "Livestream alerts for {0} videos were cancelled"
msgstr "비디오 {0}개에 대한 생방송 알림이 취소되었습니다"
-#: .././mainapp.py:23063
+#: .././mainapp.py:23456
msgid ""
"Before trying to reset channel/playlist names, you must check or download at "
"one least one video from each!"
msgstr ""
-#: .././mainapp.py:23140
+#: .././mainapp.py:23533
msgid "All Tartube data has been saved"
msgstr "모든 Tartube 데이터가 저장되었습니다"
-#: .././mainapp.py:23167
+#: .././mainapp.py:23560
msgid "Database saved"
msgstr "데이터베이스 저장됨"
-#: .././mainapp.py:23464 .././mainwin.py:15720
+#: .././mainapp.py:23857 .././mainwin.py:15964
msgid ""
"Files cannot be recovered, after being deleted. Are you sure you want to "
"continue?"
@@ -845,303 +845,307 @@ msgstr "파일은 삭제된 뒤 복구가 불가능합니다. 계속하시겠습
#. Because livestream operations run silently in the background, when
#. the user goes to the trouble of clicking a menu item in the
#. main window's menu, tell them why nothing is happening
-#: .././mainapp.py:23501
+#: .././mainapp.py:23894
msgid "Cannot update existing livestreams because"
msgstr "존재하는 생방송을 업데이트 하지 못했습니다"
-#: .././mainapp.py:23503
+#: .././mainapp.py:23896
msgid "there is another operation running"
msgstr "다른 작업이 진행중입니다"
-#: .././mainapp.py:23505
+#: .././mainapp.py:23898
msgid "they are currently being updated"
msgstr "이미 업데이트를 진행중입니다"
-#: .././mainapp.py:23507
+#: .././mainapp.py:23900
msgid "one or more configuration windows are open"
msgstr "하나 이상의 설정 창이 열려있습니다"
-#: .././mainapp.py:23509
+#: .././mainapp.py:23902
msgid "there are no livestreams to update"
msgstr "업데이트 할 생방송이 없습니다"
-#: .././mainapp.py:23574
+#: .././mainapp.py:23967
msgid "There is already a channel with that name"
msgstr "동일한 이름을 가진 채널이 이미 존재합니다"
-#: .././mainapp.py:23576
+#: .././mainapp.py:23969
msgid "There is already a playlist with that name"
msgstr "동일한 이름을 가진 플레이리스트가 이미 존재합니다"
-#: .././mainapp.py:23578
+#: .././mainapp.py:23971
msgid "There is already a folder with that name"
msgstr "동일한 이름을 가진 폴더가 이미 존재합니다"
-#: .././mainapp.py:23581
+#: .././mainapp.py:23974
msgid "(so please choose a different name)"
msgstr "(다른 이름을 설정해 주세요)"
-#: .././mainwin.py:984
+#: .././mainwin.py:988
msgid "Tartube cannot start because it cannot find its icons folder"
msgstr "아이콘 폴더를 찾지 못해 Tartube를 켜지 못했습니다"
#. File column
-#: .././mainwin.py:1262 .././config.py:10351
+#: .././mainwin.py:1266 .././config.py:10390
msgid "_File"
msgstr "_파일"
-#: .././mainwin.py:1269
+#: .././mainwin.py:1273
msgid "_Database preferences..."
msgstr "_데이터베이스 환경 설정..."
-#: .././mainwin.py:1275
+#: .././mainwin.py:1279
msgid "_Check database integrity"
msgstr "_데이터베이스 무결성 확인"
-#: .././mainwin.py:1284
+#: .././mainwin.py:1288
msgid "_Save database"
msgstr "_데이터베이스 저장"
-#: .././mainwin.py:1290
+#: .././mainwin.py:1294
msgid "Save _all"
msgstr "_모두 저장"
-#: .././mainwin.py:1299
-msgid "_Close to tray"
-msgstr "_트레이 아이콘으로 숨기기"
+#: .././mainwin.py:1303
+msgid "Close to _tray"
+msgstr ""
#. Quit
-#: .././mainwin.py:1304 .././mainwin.py:25743
+#: .././mainwin.py:1308 .././mainwin.py:26142
msgid "_Quit"
msgstr "_나가기"
#. Edit column
-#: .././mainwin.py:1309
+#: .././mainwin.py:1313
msgid "_Edit"
msgstr "_수정"
-#: .././mainwin.py:1316
+#: .././mainwin.py:1320
msgid "_System preferences..."
msgstr "_시스템 환경 설정..."
-#: .././mainwin.py:1322
+#: .././mainwin.py:1326
msgid "_General download options..."
msgstr "_일반 다운로드 설정..."
#. Separator
-#: .././mainwin.py:1331
+#: .././mainwin.py:1335
msgid "_System"
msgstr ""
-#: .././mainwin.py:1338
-msgid "_Open MSYS2 terminal..."
+#: .././mainwin.py:1342
+msgid "Open _MSYS2 terminal..."
msgstr ""
-#: .././mainwin.py:1347
+#: .././mainwin.py:1351
msgid "Show Tartube _install folder"
msgstr ""
-#: .././mainwin.py:1355
+#: .././mainwin.py:1359
msgid "Show Tartube _script folder"
msgstr ""
#. Media column
-#: .././mainwin.py:1361 .././config.py:18033
+#: .././mainwin.py:1365 .././config.py:18225
msgid "_Media"
msgstr "_미디어"
-#: .././mainwin.py:1368
+#: .././mainwin.py:1372
msgid "Add _videos..."
msgstr "_비디오 추가하기..."
-#: .././mainwin.py:1374
+#: .././mainwin.py:1378
msgid "Add _channel..."
msgstr "_채널 추가하기..."
-#: .././mainwin.py:1380
+#: .././mainwin.py:1384
msgid "Add _playlist..."
msgstr "_플레이리스트 추가하기..."
-#: .././mainwin.py:1386
+#: .././mainwin.py:1390
msgid "Add _folder..."
msgstr "_폴더 추가하기..."
-#: .././mainwin.py:1395
+#: .././mainwin.py:1399
msgid "_Add many channels/playlists..."
msgstr ""
-#: .././mainwin.py:1401
+#: .././mainwin.py:1405
msgid "_Reset channel/playlist names..."
msgstr ""
-#: .././mainwin.py:1414
+#: .././mainwin.py:1418
msgid "_Export from database..."
msgstr "_데이터베이스에서 내보내기..."
-#: .././mainwin.py:1420
+#: .././mainwin.py:1424
msgid "_Import into database..."
msgstr ""
-#: .././mainwin.py:1426
+#: .././mainwin.py:1430
msgid "Import _YouTube subscriptions..."
msgstr ""
-#: .././mainwin.py:1434
+#: .././mainwin.py:1438
msgid "_Export/import"
msgstr ""
-#: .././mainwin.py:1442
+#: .././mainwin.py:1446
msgid "_Switch between views"
msgstr "_보기 간 전환하기"
-#: .././mainwin.py:1452
+#: .././mainwin.py:1456
msgid "_Hide (most) system folders"
msgstr "_(대부분의) 시스템 폴더 숨기기"
-#: .././mainwin.py:1460
-msgid "Sh_ow hidden folders"
-msgstr "_숨긴 폴더 보이기"
+#: .././mainwin.py:1464
+msgid "_Show hidden folders"
+msgstr ""
-#: .././mainwin.py:1465
-msgid "_Show/hide"
+#: .././mainwin.py:1469
+msgid "S_how/hide"
msgstr ""
-#: .././mainwin.py:1471
+#: .././mainwin.py:1475
msgid "_Unmark channels/playlists/folders"
msgstr ""
-#: .././mainwin.py:1487
-msgid "_Add test media"
-msgstr "_테스트 미디어 추가하기"
+#: .././mainwin.py:1491
+msgid "Ad_d test media"
+msgstr ""
-#: .././mainwin.py:1495
-msgid "_Run test code"
-msgstr "_테스트 코드 실행하기"
+#: .././mainwin.py:1499
+msgid "Run _test code"
+msgstr ""
#. Operations column
#. Add this tab...
-#: .././mainwin.py:1501 .././config.py:21816
+#: .././mainwin.py:1505 .././config.py:22134
msgid "_Operations"
msgstr "_작업"
#. Check all
-#: .././mainwin.py:1508 .././mainwin.py:25714
+#: .././mainwin.py:1512 .././mainwin.py:26113
msgid "_Check all"
msgstr "_모두 선택"
#. Download all
-#: .././mainwin.py:1514 .././mainwin.py:25721
+#: .././mainwin.py:1518 .././mainwin.py:26120
msgid "_Download all"
msgstr "_모두 다운로드"
-#: .././mainwin.py:1521
+#: .././mainwin.py:1525
msgid "C_ustom download all"
msgstr "_모두 커스텀 다운로드"
-#: .././mainwin.py:1529
+#: .././mainwin.py:1533
msgid "_Refresh database..."
msgstr "_데이터베이스 새로고침..."
-#: .././mainwin.py:1539
+#: .././mainwin.py:1543
msgid "U_pdate"
msgstr "_업데이트"
-#: .././mainwin.py:1545 .././mainwin.py:4045
+#: .././mainwin.py:1549 .././mainwin.py:4099
msgid "_Test"
msgstr "_테스트"
-#: .././mainwin.py:1556
-msgid "_Install FFmpeg..."
-msgstr "_FFmpeg 설치..."
+#: .././mainwin.py:1560
+msgid "Install _FFmpeg..."
+msgstr ""
+
+#: .././mainwin.py:1568
+msgid "Install _matplotlib..."
+msgstr ""
-#: .././mainwin.py:1564
-msgid "_Install matplotlib..."
+#: .././mainwin.py:1576
+msgid "Install _streamlink..."
msgstr ""
-#: .././mainwin.py:1575
+#: .././mainwin.py:1587
msgid "Tidy up _files..."
msgstr "_파일 정리하기..."
-#: .././mainwin.py:1586 .././mainwin.py:25732
+#: .././mainwin.py:1598 .././mainwin.py:26131
msgid "_Stop current operation"
msgstr "_현재 작업 멈추기"
-#: .././mainwin.py:1594
-msgid "_Stop after current videos"
+#: .././mainwin.py:1606
+msgid "Stop _after current videos"
msgstr ""
#. Livestreams column
-#: .././mainwin.py:1602
+#: .././mainwin.py:1614
msgid "_Livestreams"
msgstr "_생방송"
-#: .././mainwin.py:1609
+#: .././mainwin.py:1621
msgid "_Livestream preferences..."
msgstr "_생방송 환경 설정..."
-#: .././mainwin.py:1618
+#: .././mainwin.py:1630
msgid "_Update existing livestreams"
msgstr "_존재하는 생방송 업데이트"
-#: .././mainwin.py:1623
+#: .././mainwin.py:1635
msgid "_Cancel all livestream alerts"
msgstr "_생방송 알람 모두 취소하기"
#. Help column
-#: .././mainwin.py:1628
+#: .././mainwin.py:1640
msgid "_Help"
msgstr "_도움말"
-#: .././mainwin.py:1634
+#: .././mainwin.py:1646
msgid "_About..."
msgstr "_About..."
-#: .././mainwin.py:1642
+#: .././mainwin.py:1654
msgid "Check for _updates"
msgstr "_업데이트 확인하기"
-#: .././mainwin.py:1648
+#: .././mainwin.py:1660
msgid "Go to _website"
msgstr "_웹사이트 방문하기"
-#: .././mainwin.py:1657
+#: .././mainwin.py:1669
msgid "Send _feedback"
msgstr "_피드백 보내기"
-#: .././mainwin.py:1701
+#: .././mainwin.py:1713
msgid "Add new video(s)"
msgstr "새 비디오(들) 만들기"
-#: .././mainwin.py:1710 .././mainwin.py:24071 .././media.py:82
+#: .././mainwin.py:1722 .././mainwin.py:24470 .././media.py:82
msgid "Channel"
msgstr "채널"
-#: .././mainwin.py:1720
+#: .././mainwin.py:1732
msgid "Add a new channel"
msgstr "새 채널 만들기"
-#: .././mainwin.py:1731 .././mainwin.py:24073 .././media.py:84
+#: .././mainwin.py:1743 .././mainwin.py:24472 .././media.py:84
msgid "Playlist"
msgstr "플레이리스트"
-#: .././mainwin.py:1741
+#: .././mainwin.py:1753
msgid "Add a new playlist"
msgstr "새 플레이리스트 만들기"
-#: .././mainwin.py:1752 .././mainwin.py:24075 .././media.py:86
+#: .././mainwin.py:1764 .././mainwin.py:24474 .././media.py:86
msgid "Folder"
msgstr "폴더"
-#: .././mainwin.py:1762
+#: .././mainwin.py:1774
msgid "Add a new folder"
msgstr "새 폴더 만들기"
-#: .././mainwin.py:1776 .././config.py:21626
+#: .././mainwin.py:1788 .././config.py:21944
msgid "Check"
msgstr "선택"
-#: .././mainwin.py:1787 .././mainwin.py:2034 .././mainwin.py:4584
-#: .././mainwin.py:4882
+#: .././mainwin.py:1799 .././mainwin.py:2046 .././mainwin.py:4652
+#: .././mainwin.py:4843 .././mainwin.py:5002
msgid "Check all videos, channels, playlists and folders"
msgstr "모든 비디오, 채널, 플레이리스트, 폴더 선택"
@@ -1151,318 +1155,327 @@ msgstr "모든 비디오, 채널, 플레이리스트, 폴더 선택"
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
#. Link not clickable
-#: .././mainwin.py:1797 .././mainwin.py:21961 .././mainwin.py:21973
-#: .././mainwin.py:21978 .././mainwin.py:21986 .././mainwin.py:22255
-#: .././mainwin.py:22267 .././mainwin.py:22951 .././mainwin.py:24254
-#: .././mainwin.py:24266 .././mainwin.py:24292 .././config.py:21502
-#: .././config.py:21628
+#: .././mainwin.py:1809 .././mainwin.py:22340 .././mainwin.py:22352
+#: .././mainwin.py:22357 .././mainwin.py:22365 .././mainwin.py:22651
+#: .././mainwin.py:22663 .././mainwin.py:23347 .././mainwin.py:24653
+#: .././mainwin.py:24665 .././mainwin.py:24691 .././config.py:21820
+#: .././config.py:21946
msgid "Download"
msgstr "다운로드"
-#: .././mainwin.py:1808 .././mainwin.py:2042 .././mainwin.py:4598
-#: .././mainwin.py:4898
+#: .././mainwin.py:1820 .././mainwin.py:2054 .././mainwin.py:4666
+#: .././mainwin.py:5018
msgid "Download all videos, channels, playlists and folders"
msgstr "모든 비디오, 채널, 플레이리스트, 폴더 다운로드"
-#: .././mainwin.py:1823 .././config.py:11036 .././config.py:11221
-#: .././config.py:11676 .././config.py:11883 .././config.py:14343
-#: .././config.py:14524
+#: .././mainwin.py:1835 .././config.py:11075 .././config.py:11260
+#: .././config.py:11715 .././config.py:11922 .././config.py:14382
+#: .././config.py:14563
msgid "Stop"
msgstr "정지"
-#: .././mainwin.py:1835
+#: .././mainwin.py:1847
msgid "Stop the current operation"
msgstr "현재 작업 정지"
-#: .././mainwin.py:1847
+#: .././mainwin.py:1859
msgid "Switch"
msgstr "변경"
-#: .././mainwin.py:1858
+#: .././mainwin.py:1870
msgid "Switch between simple and complex views"
msgstr "단순 뷰와 복잡한 뷰 변경"
-#: .././mainwin.py:1871 .././mainwin.py:4086
+#: .././mainwin.py:1883 .././mainwin.py:4140
msgid "Hide"
msgstr "숨기기"
-#: .././mainwin.py:1873 .././mainwin.py:4093
+#: .././mainwin.py:1885 .././mainwin.py:4147
msgid "Show"
msgstr "보이기"
-#: .././mainwin.py:1885 .././mainwin.py:4088
+#: .././mainwin.py:1897 .././mainwin.py:4142
msgid "Hide (most) system folders"
msgstr "(대부분의) 시스템 폴더 숨기기"
-#: .././mainwin.py:1889 .././mainwin.py:4095
+#: .././mainwin.py:1901 .././mainwin.py:4149
msgid "Show all system folders"
msgstr "모든 폴더 시스템 보이기"
-#: .././mainwin.py:1904
+#: .././mainwin.py:1916
msgid "Quit"
msgstr "종료"
-#: .././mainwin.py:1914
+#: .././mainwin.py:1926
msgid "Close Tartube"
msgstr "Tartube 닫기"
-#: .././mainwin.py:1933 .././config.py:4869 .././config.py:12097
-#: .././config.py:19721 .././config.py:20716
+#: .././mainwin.py:1945 .././config.py:4869 .././config.py:12136
+#: .././config.py:19947 .././config.py:21026
msgid "_Videos"
msgstr "_비디오들"
-#: .././mainwin.py:1941
+#: .././mainwin.py:1953
msgid "_Progress"
msgstr "_작업들"
-#: .././mainwin.py:1949
+#: .././mainwin.py:1961
msgid "_Classic Mode"
msgstr "_클래식 모드"
-#: .././mainwin.py:1958
+#: .././mainwin.py:1970
msgid "_Drag and Drop"
msgstr ""
-#: .././mainwin.py:1967
+#: .././mainwin.py:1979
msgid "_Output"
msgstr "_출력"
-#: .././mainwin.py:1976 .././config.py:15291 .././config.py:16513
+#: .././mainwin.py:1988 .././config.py:15330 .././config.py:16578
msgid "_Errors / Warnings"
msgstr "_오류 / 경고"
-#: .././mainwin.py:2032 .././mainwin.py:4582 .././mainwin.py:4880
+#: .././mainwin.py:2044 .././mainwin.py:4650 .././mainwin.py:4841
+#: .././mainwin.py:5000
msgid "Check all"
msgstr "모두 선택"
-#: .././mainwin.py:2040 .././mainwin.py:3488 .././mainwin.py:4596
-#: .././mainwin.py:18673
+#: .././mainwin.py:2052 .././mainwin.py:3542 .././mainwin.py:4664
+#: .././mainwin.py:19002
msgid "Download all"
msgstr "모두 다운로드"
-#: .././mainwin.py:2058 .././mainwin.py:3492 .././mainwin.py:4620
-#: .././mainwin.py:18664
+#: .././mainwin.py:2070 .././mainwin.py:3546 .././mainwin.py:4688
+#: .././mainwin.py:18993
msgid "Custom download all"
msgstr ""
-#: .././mainwin.py:2061 .././mainwin.py:4623 .././mainwin.py:4923
+#: .././mainwin.py:2073 .././mainwin.py:4691 .././mainwin.py:5043
msgid ""
"Perform a custom download of all videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:2078 .././mainwin.py:4650 .././mainwin.py:4940
+#: .././mainwin.py:2090 .././mainwin.py:4718 .././mainwin.py:5060
msgid "Select the custom download to use"
msgstr ""
-#: .././mainwin.py:2135
+#: .././mainwin.py:2147
msgid "Page"
msgstr "페이지"
-#: .././mainwin.py:2146
+#: .././mainwin.py:2158
msgid "Set visible page"
msgstr "보이는 페이지 설정"
-#: .././mainwin.py:2176 .././mainwin.py:2649 .././mainwin.py:2735
-#: .././mainwin.py:3273
+#: .././mainwin.py:2188 .././mainwin.py:2691 .././mainwin.py:2777
+#: .././mainwin.py:3327
msgid "Size"
msgstr "크기"
-#: .././mainwin.py:2186
+#: .././mainwin.py:2198
msgid "Set page size"
msgstr "페이지 크기 설정"
-#: .././mainwin.py:2209
+#: .././mainwin.py:2221
msgid "Go to first page"
msgstr "첫번째 페이지로 가기"
-#: .././mainwin.py:2224
+#: .././mainwin.py:2236
msgid "Go to previous page"
msgstr "이전 페이지로 가기"
-#: .././mainwin.py:2241
+#: .././mainwin.py:2253
msgid "Go to next page"
msgstr "다음 페이지로 가기"
-#: .././mainwin.py:2256
+#: .././mainwin.py:2268
msgid "Go to last page"
msgstr "마지막 페이지로 가기"
-#: .././mainwin.py:2271
+#: .././mainwin.py:2283
msgid "Scroll up"
msgstr "스크롤 업"
-#: .././mainwin.py:2286
+#: .././mainwin.py:2298
msgid "Scroll down"
msgstr "스크롤 다운"
-#: .././mainwin.py:2305 .././mainwin.py:5104
+#: .././mainwin.py:2317 .././mainwin.py:5224
msgid "Show more settings"
msgstr "더 많은 설정"
-#: .././mainwin.py:2318
+#: .././mainwin.py:2330
msgid "Sort"
msgstr "정렬"
-#: .././mainwin.py:2324 .././config.py:14064
+#: .././mainwin.py:2336 .././config.py:14103
msgid "Upload time"
msgstr "업로드 시간"
-#: .././mainwin.py:2325 .././mainwin.py:26123 .././mainwin.py:29622
-#: .././config.py:3009 .././config.py:12121 .././config.py:20023
-#: .././config.py:21502 .././config.py:22477 .././config.py:24433
-#: .././config.py:24713
+#: .././mainwin.py:2337 .././mainwin.py:26522 .././mainwin.py:30023
+#: .././config.py:3009 .././config.py:12160 .././config.py:20333
+#: .././config.py:21820 .././config.py:22851 .././config.py:24928
+#: .././config.py:25208
msgid "Name"
msgstr "이름"
-#: .././mainwin.py:2326
+#: .././mainwin.py:2338
msgid "Download time"
msgstr "다운로드 시간"
-#: .././mainwin.py:2327
+#: .././mainwin.py:2339
msgid "Database ID"
msgstr "데이터베이스 ID"
-#: .././mainwin.py:2354
+#: .././mainwin.py:2366
msgid "Resort videos"
msgstr "비디오 재정렬하기"
-#: .././mainwin.py:2367
+#: .././mainwin.py:2379
msgid "Find date"
msgstr "날짜 찾기"
-#: .././mainwin.py:2380
+#: .././mainwin.py:2392
msgid "Find videos by date"
msgstr "날짜로 비디오 찾기"
-#: .././mainwin.py:2397
+#: .././mainwin.py:2409
msgid "Cancel find videos by date"
msgstr "날짜로 비디오 찾기 취소"
-#: .././mainwin.py:2410 .././mainwin.py:3862 .././config.py:14769
+#: .././mainwin.py:2422
+msgid "Thumbnail size"
+msgstr "섬네일 크기"
+
+#: .././mainwin.py:2451 .././mainwin.py:3916 .././config.py:14808
msgid "Filter"
msgstr "필터"
-#: .././mainwin.py:2418 .././mainwin.py:3868 .././config.py:14779
+#: .././mainwin.py:2459 .././mainwin.py:3922 .././config.py:14818
msgid "Enter search text"
msgstr "검색 텍스트 입력"
-#: .././mainwin.py:2423 .././mainwin.py:3870 .././config.py:14782
+#: .././mainwin.py:2464 .././mainwin.py:3924 .././config.py:14821
msgid "Regex"
msgstr "정규식"
-#: .././mainwin.py:2431 .././mainwin.py:3873
+#: .././mainwin.py:2472 .././mainwin.py:3927
msgid "Select if search text is a regex"
msgstr "검색할 텍스트가 정규식이면 체크"
-#: .././mainwin.py:2447
+#: .././mainwin.py:2488
msgid "Names"
msgstr ""
-#: .././mainwin.py:2461
+#: .././mainwin.py:2502
msgid "Descriptions"
msgstr ""
-#: .././mainwin.py:2475 .././config.py:14682
+#: .././mainwin.py:2516 .././config.py:14721
msgid "Comments"
msgstr ""
-#: .././mainwin.py:2495
+#: .././mainwin.py:2536
msgid "Filter videos"
msgstr "비디오 필터"
-#: .././mainwin.py:2512 .././mainwin.py:3927
+#: .././mainwin.py:2553 .././mainwin.py:3981
msgid "Cancel filter"
msgstr "필터 취소하기"
-#: .././mainwin.py:2525
-msgid "Thumbnail size"
-msgstr "섬네일 크기"
+#: .././mainwin.py:2569
+msgid "Draw frames"
+msgstr ""
-#: .././mainwin.py:2557
-msgid "Show frames"
+#: .././mainwin.py:2583
+msgid "Draw icons"
msgstr ""
-#: .././mainwin.py:2571
-msgid "Show icons"
+#: .././mainwin.py:2597
+msgid "Show downloaded"
msgstr ""
-#: .././mainwin.py:2585
-msgid "Show blocked videos"
+#: .././mainwin.py:2612
+msgid "Show undownloaded"
msgstr ""
-#: .././mainwin.py:2642
+#: .././mainwin.py:2627
+msgid "Show blocked"
+msgstr ""
+
+#: .././mainwin.py:2684
msgid "TRANSLATOR'S NOTE: Ext is short for a file extension, e.g. .EXE"
msgstr "번역가 노트: Ext는 파일 확장자의 줄임말임, 예) EXE"
-#: .././mainwin.py:2647 .././mainwin.py:3271 .././config.py:10493
+#: .././mainwin.py:2689 .././mainwin.py:3325 .././config.py:10532
msgid "Source"
msgstr "소스"
-#: .././mainwin.py:2647 .././mainwin.py:3271
+#: .././mainwin.py:2689 .././mainwin.py:3325
msgid "Status"
msgstr "상태"
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Incoming file"
msgstr "받는 파일"
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Ext"
msgstr "확장자"
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Speed"
msgstr "속도"
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "ETA"
msgstr "예상 시간"
-#: .././mainwin.py:2735 .././config.py:16239
+#: .././mainwin.py:2777 .././config.py:16279
msgid "New videos"
msgstr "새 비디오"
-#: .././mainwin.py:2735 .././config.py:440 .././config.py:14034
+#: .././mainwin.py:2777 .././config.py:440 .././config.py:14073
msgid "Duration"
msgstr "기간"
-#: .././mainwin.py:2736
+#: .././mainwin.py:2778
msgid "Date"
msgstr "날짜"
-#: .././mainwin.py:2736 .././config.py:13905
+#: .././mainwin.py:2778 .././config.py:13944
msgid "File"
msgstr "파일"
-#: .././mainwin.py:2736
+#: .././mainwin.py:2778
msgid "Downloaded to"
msgstr "다운로드 대상"
-#: .././mainwin.py:2797
+#: .././mainwin.py:2839
msgid "Max downloads"
msgstr "최대 다운로드"
-#: .././mainwin.py:2820
+#: .././mainwin.py:2862
msgid "D/L speed (KiB/s)"
msgstr "다운로드 속도(KiB/s)"
-#: .././mainwin.py:2844 .././mainwin.py:5309
+#: .././mainwin.py:2886 .././mainwin.py:5429
msgid "Alternative limits do not currently apply"
msgstr ""
-#: .././mainwin.py:2855 .././config.py:5272
+#: .././mainwin.py:2897 .././config.py:5274
msgid "Video resolution"
msgstr "비디오 해상도"
-#: .././mainwin.py:2890
+#: .././mainwin.py:2932
msgid "Hide rows when they are finished"
msgstr "완료된 행 숨기기"
-#: .././mainwin.py:2903
+#: .././mainwin.py:2945
msgid "Add newest videos to the top of the list"
msgstr "리스트 최상단에 새 비디오 추가하기"
-#: .././mainwin.py:2988
+#: .././mainwin.py:3030
msgid "Open the Classic Mode menu"
msgstr "클래식 모드 메뉴 열기"
@@ -1470,7 +1483,7 @@ msgstr "클래식 모드 메뉴 열기"
#. enabled, URLs are automatically copied into this textview
#. --------------------------------------------------------------------
#. Initial widgets
-#: .././mainwin.py:2995 .././mainwin.py:26011
+#: .././mainwin.py:3037 .././mainwin.py:26410
msgid "Enter URLs below"
msgstr "하단에 URL을 입력해주세요"
@@ -1480,966 +1493,995 @@ msgstr "하단에 URL을 입력해주세요"
#. the specified destination and format
#. --------------------------------------------------------------------
#. Destination directory
-#: .././mainwin.py:3039
+#: .././mainwin.py:3081
msgid "Destination:"
msgstr "대상:"
-#: .././mainwin.py:3076
+#: .././mainwin.py:3118
msgid "Add a new destination folder"
msgstr "새 목적지 폴더 만들기"
-#: .././mainwin.py:3095
+#: .././mainwin.py:3137
msgid "Open the destination folder"
msgstr "목적지 폴더 열기"
#. Video/audio format
-#: .././mainwin.py:3100
+#: .././mainwin.py:3142
msgid "Format:"
msgstr "포맷:"
#. (Dummy items in the combo)
-#: .././mainwin.py:3104 .././mainwin.py:18439 .././config.py:22477
+#: .././mainwin.py:3146 .././mainwin.py:18755 .././config.py:22851
msgid "Default"
msgstr "기본"
-#: .././mainwin.py:3104 .././mainwin.py:18440
+#: .././mainwin.py:3146 .././mainwin.py:18756
msgid "Video:"
msgstr "비디오:"
-#: .././mainwin.py:3108 .././mainwin.py:18441
+#: .././mainwin.py:3150 .././mainwin.py:18757
msgid "Audio:"
msgstr "오디오:"
#. Video resolution
#. (Dummy items in the combo)
-#: .././mainwin.py:3137 .././mainwin.py:18941
+#: .././mainwin.py:3179 .././mainwin.py:19270
msgid "Highest"
msgstr ""
-#: .././mainwin.py:3168
-msgid "Convert to this format (requires FFmpeg)"
+#: .././mainwin.py:3210
+msgid "Convert to this format"
msgstr ""
-#: .././mainwin.py:3177
+#: .././mainwin.py:3219
msgid "Download in this format"
msgstr ""
-#: .././mainwin.py:3207
+#: .././mainwin.py:3232 .././config.py:5244
+msgid "Is a livestream"
+msgstr "생방송 여부"
+
+#: .././mainwin.py:3261
msgid "Add URLs"
msgstr "URL들 추가"
-#: .././mainwin.py:3213
+#: .././mainwin.py:3267
msgid "Add these URLs"
msgstr "이 URL들 추가"
-#: .././mainwin.py:3326
+#: .././mainwin.py:3380
msgid "Play video"
msgstr "비디오 재생"
-#: .././mainwin.py:3349
+#: .././mainwin.py:3403
msgid "Open destination(s)"
msgstr ""
-#: .././mainwin.py:3367
+#: .././mainwin.py:3421
msgid "Stop download"
msgstr "다운로드 중지하기"
-#: .././mainwin.py:3388
+#: .././mainwin.py:3442
msgid "Re-download"
msgstr "다시 다운받기"
-#: .././mainwin.py:3401
+#: .././mainwin.py:3455
msgid ""
"Allow downloader to create an archive file (enable this only when "
"downloading channels and playlists)"
msgstr ""
-#: .././mainwin.py:3431
+#: .././mainwin.py:3485
msgid "Process with FFmpeg"
msgstr "FFmpeg로 처리"
#. (Signal connect appears below)
-#: .././mainwin.py:3447 .././config.py:6506 .././config.py:19493
-#: .././config.py:21567
+#: .././mainwin.py:3501 .././config.py:6531 .././config.py:19719
+#: .././config.py:21885
msgid "Move up"
msgstr "위로 올리기"
#. (Signal connect appears below)
-#: .././mainwin.py:3468 .././config.py:6510 .././config.py:19502
-#: .././config.py:21576
+#: .././mainwin.py:3522 .././config.py:6535 .././config.py:19728
+#: .././config.py:21894
msgid "Move down"
msgstr "아래로 내리기"
-#: .././mainwin.py:3484
+#: .././mainwin.py:3538
msgid "Remove from list"
msgstr "리스트에서 삭제하기"
-#: .././mainwin.py:3500 .././mainwin.py:18676
+#: .././mainwin.py:3554 .././mainwin.py:19005
msgid "Download the URLs above"
msgstr "위의 URL들 다운받기"
-#: .././mainwin.py:3504 .././mainwin.py:18667
+#: .././mainwin.py:3558 .././mainwin.py:18996
msgid "Perform a custom download on the URLs above"
msgstr ""
-#: .././mainwin.py:3508
+#: .././mainwin.py:3562
msgid "Clear all"
msgstr "비우기"
-#: .././mainwin.py:3520 .././mainwin.py:3531
+#: .././mainwin.py:3574 .././mainwin.py:3585
msgid "Clear the URLs above"
msgstr "위의 URL들 비우기"
-#: .././mainwin.py:3524
+#: .././mainwin.py:3578
msgid "Clear downloaded"
msgstr "다운로드된 항목 비우기"
-#: .././mainwin.py:3577
+#: .././mainwin.py:3631
msgid "When you drag a video here, it is added to the Classic Mode tab"
msgstr ""
-#: .././mainwin.py:3586
+#: .././mainwin.py:3640
msgid "Each zone represents a set of download options"
msgstr ""
-#: .././mainwin.py:3596
+#: .././mainwin.py:3650
msgid "Warning: Drag and drop does not work well on MS Windows"
msgstr ""
-#: .././mainwin.py:3617
+#: .././mainwin.py:3671
msgid "Add a new dropzone"
msgstr ""
-#: .././mainwin.py:3670
+#: .././mainwin.py:3724
msgid "Maximum page size"
msgstr "최대 페이지 크기"
-#: .././mainwin.py:3726 .././config.py:21259
+#: .././mainwin.py:3780 .././config.py:21577
msgid "Show Tartube errors"
msgstr "Tartube 오류 표시하기"
-#: .././mainwin.py:3739 .././config.py:21267
+#: .././mainwin.py:3793 .././config.py:21585
msgid "Show Tartube warnings"
msgstr "Tartube 경고 표시하기"
-#: .././mainwin.py:3752 .././config.py:21275
+#: .././mainwin.py:3806 .././config.py:21593
msgid "Show operation errors"
msgstr ""
-#: .././mainwin.py:3770 .././config.py:21286
+#: .././mainwin.py:3824 .././config.py:21604
msgid "Show operation warnings"
msgstr ""
-#: .././mainwin.py:3793 .././config.py:21297
+#: .././mainwin.py:3847 .././config.py:21615
msgid "Show dates"
msgstr ""
-#: .././mainwin.py:3811 .././config.py:21308
+#: .././mainwin.py:3865 .././config.py:21626
msgid "Show channel/playlist/folder names"
msgstr ""
-#: .././mainwin.py:3829 .././config.py:21319
+#: .././mainwin.py:3883 .././config.py:21637
msgid "Show video names"
msgstr ""
-#: .././mainwin.py:3847 .././config.py:21330
+#: .././mainwin.py:3901 .././config.py:21648
msgid "Show full messages"
msgstr ""
-#: .././mainwin.py:3910
+#: .././mainwin.py:3964
msgid "Filter messages"
msgstr ""
-#: .././mainwin.py:3932 .././config.py:11133 .././config.py:11337
-#: .././config.py:11773 .././config.py:12000 .././config.py:14431
-#: .././config.py:14623 .././config.py:16367 .././config.py:18135
+#: .././mainwin.py:3986 .././config.py:11172 .././config.py:11376
+#: .././config.py:11812 .././config.py:12039 .././config.py:14470
+#: .././config.py:14662 .././config.py:16407 .././config.py:18327
msgid "Clear list"
msgstr "리스트 초기화"
-#: .././mainwin.py:4465
+#: .././mainwin.py:4525
msgid "Checking..."
msgstr "확인중..."
-#: .././mainwin.py:4467
+#: .././mainwin.py:4527 .././mainwin.py:4864 .././formats.py:1183
+msgid "Checking"
+msgstr "확인중"
+
+#: .././mainwin.py:4530
msgid "Downloading..."
msgstr "다운로드중..."
-#: .././mainwin.py:4469
+#: .././mainwin.py:4532 .././mainwin.py:4866 .././formats.py:1180
+msgid "Downloading"
+msgstr "다운로드 중"
+
+#: .././mainwin.py:4535
msgid "Refreshing..."
msgstr "재시작중..."
-#: .././mainwin.py:4471
+#: .././mainwin.py:4538
msgid "Tidying..."
msgstr "정리중..."
-#: .././mainwin.py:4473
+#: .././mainwin.py:4541
msgid "FFmpeg processing..."
msgstr "FFmpeg 작업중..."
-#: .././mainwin.py:4587 .././mainwin.py:4885
+#: .././mainwin.py:4655 .././mainwin.py:4846 .././mainwin.py:5005
msgid "Check marked items"
msgstr ""
-#: .././mainwin.py:4589 .././mainwin.py:4888
+#: .././mainwin.py:4657 .././mainwin.py:4848 .././mainwin.py:5008
msgid "Check marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4601
+#: .././mainwin.py:4669
msgid "Download marked items"
msgstr ""
-#: .././mainwin.py:4603 .././mainwin.py:4904
+#: .././mainwin.py:4671 .././mainwin.py:5024
msgid "Download marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4629
+#: .././mainwin.py:4697
msgid "Custom download marked items"
msgstr ""
-#: .././mainwin.py:4633
+#: .././mainwin.py:4701
msgid ""
"Perform a custom download of marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4852
+#: .././mainwin.py:4970
msgid "Installing FFmpeg"
msgstr "FFmpeg 설치중"
-#: .././mainwin.py:4854
+#: .././mainwin.py:4972
msgid "Installing matplotlib"
msgstr ""
-#: .././mainwin.py:4856
+#: .././mainwin.py:4974
+msgid "Installing streamlink"
+msgstr ""
+
+#: .././mainwin.py:4976
msgid "Updating downloader"
msgstr "다운로더 업데이트중"
-#: .././mainwin.py:4858
+#: .././mainwin.py:4978
msgid "Fetching formats"
msgstr "포맷 동기화하기"
-#: .././mainwin.py:4860
+#: .././mainwin.py:4980
msgid "Fetching subtitles"
msgstr "자막 동기화하기"
-#: .././mainwin.py:4862
+#: .././mainwin.py:4982
msgid "Testing downloader"
msgstr "다운로더 테스팅"
-#: .././mainwin.py:4864
+#: .././mainwin.py:4984
msgid "Contacting website"
msgstr "웹사이트 방문"
-#: .././mainwin.py:4933
+#: .././mainwin.py:5053
msgid ""
"Perform a custom download of marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:5134
+#: .././mainwin.py:5254
msgid "Show fewer settings"
msgstr "적은 설정 보여주기"
-#: .././mainwin.py:5299
+#: .././mainwin.py:5419
msgid "Alternative limits currently apply"
msgstr ""
-#: .././mainwin.py:5330
+#: .././mainwin.py:5450
msgid "This tab emulates the classic youtube-dl-gui interface"
msgstr "이 탭은 클래식 youtube-dl-gui 인터페이스를 에뮬레이트합니다"
-#: .././mainwin.py:5335
+#: .././mainwin.py:5455
msgid "Videos downloaded here are not added to Tartube's database"
msgstr ""
"여기에 다운로드 받은 비디오들은 Tartube의 데이터베이스에 추가되지 않습니다"
-#: .././mainwin.py:5347 .././config.py:6440
+#: .././mainwin.py:5467 .././config.py:6465
msgid "If your preferred formats are not available, the download will fail!"
msgstr ""
-#: .././mainwin.py:5353
+#: .././mainwin.py:5473
msgid ""
"If you want a specific format, install FFMpeg and select 'Convert to this "
"format'!"
msgstr ""
-#: .././mainwin.py:5549
+#: .././mainwin.py:5669
msgid "_Check channel"
msgstr "_채널 체크"
-#: .././mainwin.py:5551
+#: .././mainwin.py:5671
msgid "_Check playlist"
msgstr "_플레이리스트 체크"
-#: .././mainwin.py:5553
+#: .././mainwin.py:5673
msgid "_Check folder"
msgstr "_폴더 체크"
-#: .././mainwin.py:5574
+#: .././mainwin.py:5694
msgid "_Download channel"
msgstr "_채널 다운로드"
-#: .././mainwin.py:5576
+#: .././mainwin.py:5696
msgid "_Download playlist"
msgstr "_플레이리슽 다운로드"
-#: .././mainwin.py:5578
+#: .././mainwin.py:5698
msgid "_Download folder"
msgstr "_폴더 다운로드"
-#: .././mainwin.py:5599
+#: .././mainwin.py:5719
msgid "C_ustom download channel"
msgstr "_커스텀 다운로드 채널"
-#: .././mainwin.py:5601
+#: .././mainwin.py:5721
msgid "C_ustom download playlist"
msgstr "_커스텀 다운로드 플레이스트"
-#: .././mainwin.py:5603
+#: .././mainwin.py:5723
msgid "C_ustom download folder"
msgstr "_커스텀 다운로드 폴더"
-#: .././mainwin.py:5650
+#: .././mainwin.py:5770
msgid "_Empty folder"
msgstr "_빈 폴더"
-#: .././mainwin.py:5662
+#: .././mainwin.py:5782
msgid "_All contents"
msgstr "_모든 컨텐츠"
-#: .././mainwin.py:5680
+#: .././mainwin.py:5800
msgid "_Remove videos"
msgstr "_비디오들 지우기"
-#: .././mainwin.py:5692
+#: .././mainwin.py:5812
msgid "_Just folder videos"
msgstr "_폴더 비디오들만"
-#: .././mainwin.py:5698
-msgid "Channel co_ntents"
-msgstr "채널 컨텐츠"
+#: .././mainwin.py:5818
+msgid "Channel c_ontents"
+msgstr ""
-#: .././mainwin.py:5700
-msgid "Playlist co_ntents"
-msgstr "플레이리스트 컨텐츠"
+#: .././mainwin.py:5820
+msgid "Playlist c_ontents"
+msgstr ""
-#: .././mainwin.py:5702
-msgid "Folder co_ntents"
-msgstr "폴더 컨텐츠"
+#: .././mainwin.py:5822
+msgid "Folder c_ontents"
+msgstr ""
-#: .././mainwin.py:5714
+#: .././mainwin.py:5834
msgid "_Move to top level"
msgstr "_최상단으로 옮기기"
-#: .././mainwin.py:5732
+#: .././mainwin.py:5852
msgid "_Convert to playlist"
msgstr "_플레이리스트로 변환하기"
-#: .././mainwin.py:5734
+#: .././mainwin.py:5854
msgid "_Convert to channel"
msgstr "_채널로 변환하기"
-#: .././mainwin.py:5757
+#: .././mainwin.py:5877
msgid "_Hide folder"
msgstr "_폴더 숨기기"
-#: .././mainwin.py:5767
+#: .././mainwin.py:5887
msgid "_Rename channel..."
msgstr "_채널 이름 변경..."
-#: .././mainwin.py:5769
+#: .././mainwin.py:5889
msgid "_Rename playlist..."
msgstr "_플레이리스트 이름 변경..."
-#: .././mainwin.py:5771
+#: .././mainwin.py:5891
msgid "_Rename folder..."
msgstr "_폴더 이름 변경..."
-#: .././mainwin.py:5788
+#: .././mainwin.py:5908
msgid "Set _nickname..."
msgstr "_닉네임 설정..."
-#: .././mainwin.py:5803
+#: .././mainwin.py:5923
msgid "Set _URL..."
msgstr "_URL 설정..."
-#: .././mainwin.py:5815
+#: .././mainwin.py:5935
msgid "Set _download destination..."
msgstr "_다운로드 목적지 설정..."
-#: .././mainwin.py:5833
+#: .././mainwin.py:5953
msgid "_Export channel..."
msgstr "_채널 내보내기..."
-#: .././mainwin.py:5835
+#: .././mainwin.py:5955
msgid "_Export playlist..."
msgstr "_플레이리스트 내보내기..."
-#: .././mainwin.py:5837
+#: .././mainwin.py:5957
msgid "_Export folder..."
msgstr "_폴더 내보내기..."
-#: .././mainwin.py:5850
+#: .././mainwin.py:5970
msgid "Re_fresh channel"
msgstr "_채널 새로고침"
-#: .././mainwin.py:5852
+#: .././mainwin.py:5972
msgid "Re_fresh playlist"
msgstr "_플레이리스트 새로고침"
-#: .././mainwin.py:5854
+#: .././mainwin.py:5974
msgid "Re_fresh folder"
msgstr "_폴더 새로고침"
-#: .././mainwin.py:5871
+#: .././mainwin.py:5991
msgid "_Tidy up channel"
msgstr "_채널 정리"
-#: .././mainwin.py:5873
+#: .././mainwin.py:5993
msgid "_Tidy up playlist"
msgstr "_플레이리스트 정리"
-#: .././mainwin.py:5875
+#: .././mainwin.py:5995
msgid "_Tidy up folder"
msgstr "_폴더 정리"
-#: .././mainwin.py:5892
-msgid "Add to _Classic Mode tab"
-msgstr "_클래식 모드 탭에 추가하기"
+#: .././mainwin.py:6012 .././mainwin.py:6654 .././mainwin.py:8551
+msgid "Add to C_lassic Mode tab"
+msgstr ""
-#: .././mainwin.py:5906
+#: .././mainwin.py:6026
msgid "Channel _actions"
msgstr "_채널 액션"
-#: .././mainwin.py:5908
+#: .././mainwin.py:6028
msgid "Playlist _actions"
msgstr "_플레이리스트 액션"
-#: .././mainwin.py:5910
+#: .././mainwin.py:6030
msgid "Folder _actions"
msgstr "_폴더 액션"
-#: .././mainwin.py:5930 .././mainwin.py:6687
+#: .././mainwin.py:6050 .././mainwin.py:6853
msgid "_Apply download options..."
msgstr "_다운로드 설정 적용하기..."
-#: .././mainwin.py:5948 .././mainwin.py:6701
+#: .././mainwin.py:6068 .././mainwin.py:6867
msgid "_Remove download options"
msgstr "_다운로드 설정 제거하기"
-#: .././mainwin.py:5964 .././mainwin.py:6713
+#: .././mainwin.py:6084 .././mainwin.py:6879
msgid "_Edit download options..."
msgstr "_다운로드 설정 수정하기..."
-#: .././mainwin.py:5980
-msgid "Add to s_cheduled download..."
-msgstr "_예약 다운로드에 추가하기..."
+#: .././mainwin.py:6100
+msgid "Add to _scheduled download..."
+msgstr ""
-#: .././mainwin.py:5990
-msgid "_Show system command..."
-msgstr "_시스템 명령 표시하기..."
+#: .././mainwin.py:6110
+msgid "Show system _command..."
+msgstr ""
-#: .././mainwin.py:6009
+#: .././mainwin.py:6129
msgid "Set _removal time..."
msgstr ""
-#: .././mainwin.py:6022
+#: .././mainwin.py:6142
msgid "_Mark for checking/downloading"
msgstr ""
-#: .././mainwin.py:6043
+#: .././mainwin.py:6163
msgid "_Don't add videos to Tartube's database"
msgstr ""
-#: .././mainwin.py:6055
+#: .././mainwin.py:6175
msgid "D_isable checking/downloading"
msgstr ""
-#: .././mainwin.py:6067
+#: .././mainwin.py:6187
msgid "_Just disable downloading"
msgstr "_다운로드만 비활성화"
-#: .././mainwin.py:6088 .././mainwin.py:6772
-msgid "D_ownloads"
-msgstr "_다운로드"
+#: .././mainwin.py:6208
+msgid "Down_loads"
+msgstr ""
-#: .././mainwin.py:6099
+#: .././mainwin.py:6219
msgid "Channel _properties..."
msgstr "_채널 속성..."
-#: .././mainwin.py:6101
+#: .././mainwin.py:6221
msgid "Playlist _properties..."
msgstr "_플레이리스트 속성..."
-#: .././mainwin.py:6103
+#: .././mainwin.py:6223
msgid "Folder _properties..."
msgstr "_폴더 속성..."
-#: .././mainwin.py:6119
+#: .././mainwin.py:6239
msgid "_Default location"
msgstr "_기본 경로"
-#: .././mainwin.py:6132
+#: .././mainwin.py:6252
msgid "_Actual location"
msgstr "_실제 경로"
-#: .././mainwin.py:6146
+#: .././mainwin.py:6266
msgid "_Show"
msgstr "_보이기"
-#: .././mainwin.py:6155
+#: .././mainwin.py:6275
msgid "D_elete channel"
msgstr "_채널 삭제하기"
-#: .././mainwin.py:6157
+#: .././mainwin.py:6277
msgid "D_elete playlist"
msgstr "_플레이리스트 삭제하기"
-#: .././mainwin.py:6159
+#: .././mainwin.py:6279
msgid "D_elete folder"
msgstr "_폴더 삭제하기"
-#: .././mainwin.py:6254
+#: .././mainwin.py:6375
msgid "_Check video"
msgstr "_비디오 체크"
-#: .././mainwin.py:6278
+#: .././mainwin.py:6399
msgid "_Download video"
msgstr "_비디오 다운로드"
-#: .././mainwin.py:6301
+#: .././mainwin.py:6422
msgid "Re-_download this video"
msgstr "_이 비디오 다시 다운받기"
-#: .././mainwin.py:6319
+#: .././mainwin.py:6440
msgid "C_ustom download video"
msgstr "_커스텀 비디오 다운로드"
-#: .././mainwin.py:6337 .././mainwin.py:6649
+#: .././mainwin.py:6458 .././mainwin.py:6815 .././mainwin.py:8613
msgid "Download and _watch"
msgstr "_다운로드 받고 보기"
-#: .././mainwin.py:6357 .././mainwin.py:8250
+#: .././mainwin.py:6478 .././mainwin.py:8434
msgid "Watch in _player"
msgstr "_플레이어에서 보기"
-#: .././mainwin.py:6372 .././mainwin.py:6383 .././mainwin.py:8262
-#: .././mainwin.py:8280
-msgid "Watch on _website"
-msgstr "_웹사이트에서 보기"
+#: .././mainwin.py:6496 .././mainwin.py:6517 .././mainwin.py:8465
+msgid "_Watch on website"
+msgstr ""
+
+#: .././mainwin.py:6506 .././mainwin.py:6530 .././mainwin.py:7634
+#: .././mainwin.py:8478
+#, python-brace-format
+msgid "_Watch on {0}"
+msgstr ""
-#: .././mainwin.py:6397 .././mainwin.py:8294
+#: .././mainwin.py:6544 .././mainwin.py:8492
msgid "_YouTube"
msgstr "_유튜브"
-#: .././mainwin.py:6407 .././mainwin.py:8304
+#: .././mainwin.py:6554 .././mainwin.py:8502
msgid "_HookTube"
msgstr "_HookTube"
-#: .././mainwin.py:6417 .././mainwin.py:8314
+#: .././mainwin.py:6564 .././mainwin.py:8512
msgid "_Invidious"
msgstr "_Invidious"
-#: .././mainwin.py:6427 .././mainwin.py:8324
+#: .././mainwin.py:6574 .././mainwin.py:8522
msgid "TRANSLATOR'S NOTE: Watch on YouTube, Watch on HookTube, etc"
msgstr "TRANSLATOR'S NOTE: Watch on YouTube, Watch on HookTube, etc"
-#: .././mainwin.py:6432 .././mainwin.py:8329
+#: .././mainwin.py:6579 .././mainwin.py:8527
msgid "W_atch on"
msgstr "_보기"
-#: .././mainwin.py:6446
-msgid "Create video cl_ip..."
+#: .././mainwin.py:6593
+msgid "_Create video clip..."
msgstr ""
-#: .././mainwin.py:6452
-msgid "Download video cl_ip..."
+#: .././mainwin.py:6599
+msgid "Download video clip..."
msgstr ""
-#: .././mainwin.py:6468
+#: .././mainwin.py:6615
msgid "_Remove video slices..."
msgstr ""
-#: .././mainwin.py:6483 .././mainwin.py:8350
+#: .././mainwin.py:6630 .././mainwin.py:8537
msgid "_Process with FFmpeg..."
msgstr "_FFmpeg로 처리하기..."
-#: .././mainwin.py:6497
+#: .././mainwin.py:6644
msgid "_Special"
msgstr ""
-#: .././mainwin.py:6507 .././mainwin.py:8364
-msgid "Add to C_lassic Mode tab"
-msgstr ""
-
-#: .././mainwin.py:6528
+#: .././mainwin.py:6675
msgid "Auto _notify"
msgstr "_자동 알림"
-#: .././mainwin.py:6544
+#: .././mainwin.py:6691
msgid "Auto _sound alarm"
msgstr "_자동 사운드 알람"
-#: .././mainwin.py:6559
+#: .././mainwin.py:6706
msgid "Auto _open"
msgstr "_자동 열기"
-#: .././mainwin.py:6572
+#: .././mainwin.py:6719
msgid "_Download on start"
msgstr "_시작 시 다운로드"
-#: .././mainwin.py:6587
+#: .././mainwin.py:6734
msgid "Download on _stop"
msgstr "_중지 시 다운로드"
-#: .././mainwin.py:6605
+#: .././mainwin.py:6752
msgid "Not a _livestream"
msgstr "_생방송이 아님"
-#: .././mainwin.py:6615
+#: .././mainwin.py:6762
+msgid "_Finalise livestream"
+msgstr ""
+
+#: .././mainwin.py:6781
msgid "_Livestream"
msgstr "_생방송"
-#: .././mainwin.py:6628 .././mainwin.py:8383
+#: .././mainwin.py:6794 .././mainwin.py:8591
msgid "_Mark for download"
msgstr "_다운로드 마크하기"
-#: .././mainwin.py:6639 .././mainwin.py:8395
+#: .././mainwin.py:6805 .././mainwin.py:8603
msgid "_Download"
msgstr "_다운로드"
-#: .././mainwin.py:6659 .././mainwin.py:8416 .././config.py:20218
+#: .././mainwin.py:6825 .././mainwin.py:8624 .././config.py:20528
msgid "_Temporary"
msgstr "_임시"
-#: .././mainwin.py:6729
-msgid "Show system _command"
-msgstr "_시스템 커맨드 보이기"
+#: .././mainwin.py:6895
+msgid "_Show system command"
+msgstr ""
-#: .././mainwin.py:6739
+#: .././mainwin.py:6905
msgid "_Test system command"
msgstr "+시스템 커맨드 테스트"
-#: .././mainwin.py:6754
+#: .././mainwin.py:6920
msgid "_Disable downloads"
msgstr "_다운로드 비활성화"
-#: .././mainwin.py:6787
+#: .././mainwin.py:6938
+msgid "D_ownloads"
+msgstr "_다운로드"
+
+#: .././mainwin.py:6953
msgid "Video is _archived"
msgstr "_비디오가 아카이브됨"
-#: .././mainwin.py:6800
+#: .././mainwin.py:6966
msgid "Video is _bookmarked"
msgstr "_비디오가 북마크됨"
-#: .././mainwin.py:6811
+#: .././mainwin.py:6977
msgid "Video is _favourite"
msgstr "_비디오가 즐겨찾기됨"
-#: .././mainwin.py:6822
+#: .././mainwin.py:6988
msgid "Video is _missing"
msgstr "_비디오가 사라짐"
-#: .././mainwin.py:6838
+#: .././mainwin.py:7004
msgid "Video is _new"
msgstr "_새 비디오"
-#: .././mainwin.py:6851
+#: .././mainwin.py:7017
msgid "Video is in _waiting list"
msgstr "_비디오가 대기 리스트에 있음"
-#: .././mainwin.py:6862
+#: .././mainwin.py:7028
msgid "_Mark video"
msgstr "_비디오 마크"
-#: .././mainwin.py:6873
+#: .././mainwin.py:7039
msgid "_Location"
msgstr "_위치"
-#: .././mainwin.py:6885
+#: .././mainwin.py:7051
msgid "_Properties..."
msgstr "_속성..."
-#: .././mainwin.py:6897
-msgid "_Show video"
-msgstr "_비디오 보이기"
+#: .././mainwin.py:7063
+msgid "S_how video"
+msgstr ""
-#: .././mainwin.py:6906
+#: .././mainwin.py:7072
msgid "Available _formats"
msgstr "_가능한 포맷들"
-#: .././mainwin.py:6916
+#: .././mainwin.py:7082
msgid "Available _subtitles"
msgstr "_가능한 자막들"
-#: .././mainwin.py:6926
+#: .././mainwin.py:7092
msgid "_Fetch"
msgstr "_동기화"
#. Delete video
-#: .././mainwin.py:6937
+#: .././mainwin.py:7103
msgid "D_elete video"
msgstr "_비디오 삭제하기"
#. Check/download videos
-#: .././mainwin.py:7041
+#: .././mainwin.py:7209
msgid "_Check videos"
msgstr "_비디오 체크"
-#: .././mainwin.py:7061
+#: .././mainwin.py:7229
msgid "_Download videos"
msgstr "_비디오 다운로드"
-#: .././mainwin.py:7084
+#: .././mainwin.py:7252
msgid "C_ustom download videos"
msgstr "_커스텀 비디오 다운로드"
-#: .././mainwin.py:7116
+#: .././mainwin.py:7284
msgid "_Archived"
msgstr "_아카이브됨"
-#: .././mainwin.py:7127
+#: .././mainwin.py:7295
msgid "Not a_rchived"
msgstr "_아카이브 되지 않음"
-#: .././mainwin.py:7141
+#: .././mainwin.py:7309
msgid "_Bookmarked"
msgstr "_북마크됨"
-#: .././mainwin.py:7152
+#: .././mainwin.py:7320
msgid "Not b_ookmarked"
msgstr "_북마크 되지 않음"
-#: .././mainwin.py:7166
+#: .././mainwin.py:7334
msgid "_Favourite"
msgstr "_즐겨찾기됨"
-#: .././mainwin.py:7177
+#: .././mainwin.py:7345
msgid "Not fa_vourite"
msgstr "_즐겨찾기 되지 않음"
-#: .././mainwin.py:7191
+#: .././mainwin.py:7359
msgid "_Missing"
msgstr "_사라짐"
-#: .././mainwin.py:7204
+#: .././mainwin.py:7372
msgid "Not m_issing"
msgstr "_사라지지 않음"
-#: .././mainwin.py:7220
+#: .././mainwin.py:7388
msgid "_New"
msgstr "_새 비디오"
-#: .././mainwin.py:7231
+#: .././mainwin.py:7399
msgid "Not n_ew"
msgstr "_새 비디오가 아님"
-#: .././mainwin.py:7245
+#: .././mainwin.py:7413
msgid "In _waiting list"
msgstr "_대기 리스트에 있음"
-#: .././mainwin.py:7256
+#: .././mainwin.py:7424
msgid "Not in w_aiting list"
msgstr "_대기 리스트에 없음"
-#: .././mainwin.py:7267
+#: .././mainwin.py:7435
msgid "_Mark videos"
msgstr "_마크한 비디오"
-#: .././mainwin.py:7276
+#: .././mainwin.py:7444
msgid "Show p_roperties..."
msgstr "_속성 보이기..."
#. Delete videos
-#: .././mainwin.py:7291
+#: .././mainwin.py:7459
msgid "D_elete videos"
msgstr "_비디오 삭제하기"
#. Stop check/download
-#: .././mainwin.py:7362
+#: .././mainwin.py:7532
msgid "_Stop now"
msgstr "_지금 멈추기"
-#: .././mainwin.py:7379
-msgid "Stop checking videos"
+#: .././mainwin.py:7549
+msgid "Stop checking _videos"
msgstr ""
-#: .././mainwin.py:7381
+#: .././mainwin.py:7551
msgid "Stop after this _video"
msgstr "_이 비디오 이후에 멈추기"
-#: .././mainwin.py:7400
+#: .././mainwin.py:7570
msgid "Stop after these v_ideos"
msgstr "_이 비디오들 이후에 멈추기"
-#: .././mainwin.py:7415
+#: .././mainwin.py:7585
msgid "Download _next"
msgstr "_다음 다운받기"
-#: .././mainwin.py:7427
+#: .././mainwin.py:7597
msgid "Download _last"
msgstr "_마지막 다운받기"
-#: .././mainwin.py:7450
-msgid "Watch on _YouTube"
-msgstr "_유튜브에서 보기"
+#: .././mainwin.py:7621
+msgid "_Watch on Website"
+msgstr ""
+
+#: .././mainwin.py:7646
+msgid "_Watch on YouTube"
+msgstr ""
-#: .././mainwin.py:7460
+#: .././mainwin.py:7656
msgid "Watch on _HookTube"
msgstr "_HookTube에서 보기"
-#: .././mainwin.py:7470
+#: .././mainwin.py:7666
msgid "Watch on _Invidious"
msgstr "_Invidious에서 보기"
-#: .././mainwin.py:7482
-msgid "Watch on _Website"
-msgstr "_웹사이트에서 보기"
-
-#: .././mainwin.py:7578
+#: .././mainwin.py:7762
msgid "_Delete video(s)"
msgstr "_비디오(들) 삭제하기"
-#: .././mainwin.py:7642
+#: .././mainwin.py:7826
msgid "Choose a custom download:"
msgstr ""
-#: .././mainwin.py:7715
+#: .././mainwin.py:7899
msgid "_Enable automatic copy/paste"
msgstr "_자동 복사/붙여넣기 활성화"
-#: .././mainwin.py:7727
+#: .././mainwin.py:7911
msgid "_Remember URLs"
msgstr "_URL 기억하기"
-#: .././mainwin.py:7742
+#: .././mainwin.py:7926
msgid "_Set download options"
msgstr "_다운로드 설정 설정하기"
-#: .././mainwin.py:7753
+#: .././mainwin.py:7937
msgid "Use _default download options"
msgstr "_기본 다운로드 설정 사용"
-#: .././mainwin.py:7765
-msgid "_Edit download options"
-msgstr "_다운로드 설정 편집"
+#: .././mainwin.py:7949
+msgid "Edit download _options"
+msgstr ""
-#: .././mainwin.py:7779
+#: .././mainwin.py:7963
msgid "Enable _custom downloads"
msgstr "_커스텀 다운로드 활성화"
-#: .././mainwin.py:7792
+#: .././mainwin.py:7976
msgid "Custom downloads _preferences..."
msgstr "_커스텀 다운로드 환경 설정..."
-#: .././mainwin.py:7807 .././config.py:19854
+#: .././mainwin.py:7991 .././config.py:20164
msgid "_Update"
msgstr "_업데이트"
-#: .././mainwin.py:7857
+#: .././mainwin.py:8041
msgid "_Play video"
msgstr ""
-#: .././mainwin.py:7869
+#: .././mainwin.py:8053
msgid "_Open destination(s)"
msgstr "_목적지 열기"
-#: .././mainwin.py:7884
+#: .././mainwin.py:8068
msgid "_Re-download"
msgstr ""
-#: .././mainwin.py:7896
+#: .././mainwin.py:8080
msgid "_Stop download"
msgstr ""
-#: .././mainwin.py:7910
+#: .././mainwin.py:8094
msgid "Process with _FFmpeg"
msgstr ""
-#: .././mainwin.py:7927
+#: .././mainwin.py:8111
msgid "_Copy file path"
msgstr ""
#. Copy URL
-#: .././mainwin.py:7939
+#: .././mainwin.py:8123
msgid "Copy UR_L"
msgstr ""
-#: .././mainwin.py:7951
+#: .././mainwin.py:8135
msgid "Copy s_ystem command"
msgstr ""
-#: .././mainwin.py:7967
+#: .././mainwin.py:8151
msgid "Move _up"
msgstr ""
-#: .././mainwin.py:7979
+#: .././mainwin.py:8163
msgid "Move _down"
msgstr ""
-#: .././mainwin.py:7994
+#: .././mainwin.py:8178
msgid "Re_move from list"
msgstr ""
-#: .././mainwin.py:8033
+#: .././mainwin.py:8217
msgid "Mark as _archived"
msgstr "_아카이브로 표시하기"
-#: .././mainwin.py:8044
+#: .././mainwin.py:8228
msgid "Mark as not a_rchived"
msgstr "_아카이브 표시 없애기"
-#: .././mainwin.py:8058
+#: .././mainwin.py:8242
msgid "Mark as _bookmarked"
msgstr "_북마크로 표시하기"
-#: .././mainwin.py:8070
+#: .././mainwin.py:8254
msgid "Mark as not b_ookmarked"
msgstr "_북마크 표시 없애기"
-#: .././mainwin.py:8083
+#: .././mainwin.py:8267
msgid "Mark as _favourite"
msgstr "_즐겨찾기로 표시하기"
-#: .././mainwin.py:8096
+#: .././mainwin.py:8280
msgid "Mark as not fa_vourite"
msgstr "_즐겨찾기 표시 없애기"
-#: .././mainwin.py:8110
+#: .././mainwin.py:8294
msgid "Mark as _missing"
msgstr "_사라진것으로 표시하기"
-#: .././mainwin.py:8123
+#: .././mainwin.py:8307
msgid "Mark as not m_issing"
msgstr "_사라진것으로 표시 없애기"
-#: .././mainwin.py:8140
+#: .././mainwin.py:8324
msgid "Mark as _new"
msgstr "_새 비디오로 표시하기"
-#: .././mainwin.py:8152
+#: .././mainwin.py:8336
msgid "Mark as not n_ew"
msgstr "_새 비디오 표시 없애기"
-#: .././mainwin.py:8166
+#: .././mainwin.py:8350
msgid "Mark as in _waiting list"
msgstr "_대기 리스트로 표시하기"
-#: .././mainwin.py:8178
-msgid "Mark as not in wai_ting list"
-msgstr "_대기 리스트로 표시 없애기"
+#: .././mainwin.py:8362
+msgid "Mark as not in waiting _list"
+msgstr ""
-#: .././mainwin.py:8230
+#: .././mainwin.py:8414
msgid "D_ownload and watch"
msgstr "_다운로드 하고 보기"
-#: .././mainwin.py:8339
+#: .././mainwin.py:8446
+msgid "Watch on _website"
+msgstr "_웹사이트에서 보기"
+
+#: .././mainwin.py:8564
msgid "Mark as _not livestreams"
msgstr "_생방송으로 표시하지 않기"
-#: .././mainwin.py:8405
-msgid "_Download and watch"
-msgstr "_다운로드 하고 보기"
+#: .././mainwin.py:8575
+msgid "_Finalise livestreams"
+msgstr ""
-#: .././mainwin.py:9244
+#: .././mainwin.py:9452
msgid ""
"TRANSLATOR'S NOTE: V = number of videos B = (number of videos) bookmarked D "
"= downloaded F = favourite L = live/livestream M = missing N = new W = in "
@@ -2449,39 +2491,39 @@ msgstr ""
"= downloaded F = favourite L = live/livestream M = missing N = new W = in "
"waiting list E = (number of) errors W = warnings"
-#: .././mainwin.py:9251
+#: .././mainwin.py:9459
msgid "V:"
msgstr "비디오:"
-#: .././mainwin.py:9252
+#: .././mainwin.py:9460
msgid "B:"
msgstr "북마크:"
-#: .././mainwin.py:9253
+#: .././mainwin.py:9461
msgid "D:"
msgstr "다운로드:"
-#: .././mainwin.py:9254
+#: .././mainwin.py:9462
msgid "F:"
msgstr "즐겨찾기:"
-#: .././mainwin.py:9255
+#: .././mainwin.py:9463
msgid "L:"
msgstr "생방송:"
-#: .././mainwin.py:9256
+#: .././mainwin.py:9464
msgid "M:"
msgstr "사라짐:"
-#: .././mainwin.py:9257
+#: .././mainwin.py:9465
msgid "N:"
msgstr "새비디오:"
-#: .././mainwin.py:9258 .././mainwin.py:9269
+#: .././mainwin.py:9466 .././mainwin.py:9477
msgid "W:"
msgstr "경고:"
-#: .././mainwin.py:9268
+#: .././mainwin.py:9476
msgid "E:"
msgstr "오류:"
@@ -2489,13 +2531,13 @@ msgstr "오류:"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:11298 .././mainwin.py:12103 .././mainwin.py:22358
-#: .././mainwin.py:22362 .././mainwin.py:22897 .././mainwin.py:24417
-#: .././mainwin.py:24421 .././mainwin.py:24642
+#: .././mainwin.py:11536 .././mainwin.py:12341 .././mainwin.py:22754
+#: .././mainwin.py:22758 .././mainwin.py:23293 .././mainwin.py:24816
+#: .././mainwin.py:24820 .././mainwin.py:25041
msgid "Waiting"
msgstr "대기"
-#: .././mainwin.py:12979
+#: .././mainwin.py:13220
msgid ""
"TRANSLATOR'S NOTE: Thread means a computer processor thread. If you're not "
"sure how to translate it, just use 'Page #', as in Page #1, Page #2, etc"
@@ -2503,188 +2545,188 @@ msgstr ""
"TRANSLATOR'S NOTE: Thread means a computer processor thread. If you're not "
"sure how to translate it, just use 'Page #', as in Page #1, Page #2, etc"
-#: .././mainwin.py:12986
+#: .././mainwin.py:13227
msgid "Thread"
msgstr "스레드"
-#: .././mainwin.py:12989
+#: .././mainwin.py:13230
msgid "_Summary"
msgstr "_요약"
-#: .././mainwin.py:13428 .././config.py:14894 .././config.py:21502
+#: .././mainwin.py:13669 .././config.py:14933 .././config.py:21820
msgid "Time"
msgstr "시간"
-#: .././mainwin.py:13428
+#: .././mainwin.py:13669
msgid "Container"
msgstr ""
-#: .././mainwin.py:13428 .././config.py:12121 .././downloads.py:6900
+#: .././mainwin.py:13669 .././config.py:12160 .././downloads.py:7030
#: .././media.py:88
msgid "Video"
msgstr "비디오"
-#: .././mainwin.py:13428 .././mainwin.py:13429
+#: .././mainwin.py:13669 .././mainwin.py:13670
msgid "Message"
msgstr "메시지"
-#: .././mainwin.py:13676
+#: .././mainwin.py:13920
msgid "Tartube error"
msgstr "Tartube 오류"
-#: .././mainwin.py:13680
+#: .././mainwin.py:13924
msgid "Tartube warning"
msgstr "Tartube 경고"
-#: .././mainwin.py:13904
+#: .././mainwin.py:14148
msgid "_Errors"
msgstr "_오류"
-#: .././mainwin.py:13908
+#: .././mainwin.py:14152
msgid "Warnings"
msgstr "_경고"
-#: .././mainwin.py:14025
+#: .././mainwin.py:14269
msgid ""
"There are not scheduled downloads that don't already contain the channel/"
"playlist/folder"
msgstr "채널/플레이리스트/폴더가 포함하지 않은 예약된 다운로드가 없습니다"
-#: .././mainwin.py:15432
+#: .././mainwin.py:15676
msgid "The external folder is not available"
msgstr ""
-#: .././mainwin.py:15434
+#: .././mainwin.py:15678
msgid "The external directory is not available"
msgstr ""
-#: .././mainwin.py:15534
+#: .././mainwin.py:15778
msgid "The URL is not valid"
msgstr "URL이 올바르지 않습니다"
-#: .././mainwin.py:16731 .././config.py:12521 .././config.py:15495
+#: .././mainwin.py:17047 .././config.py:12560 .././config.py:15534
msgid "Invalid timestamp(s)"
msgstr ""
-#: .././mainwin.py:16904 .././mainwin.py:16913 .././config.py:12372
-#: .././config.py:12380 .././config.py:15391 .././config.py:15399
+#: .././mainwin.py:17220 .././mainwin.py:17229 .././config.py:12411
+#: .././config.py:12419 .././config.py:15430 .././config.py:15438
msgid "Invalid start/stop times"
msgstr ""
-#: .././mainwin.py:19824
+#: .././mainwin.py:20203
msgid "The following items are duplicates:"
msgstr "다음 항목이 중복되었습니다:"
-#: .././mainwin.py:19974
+#: .././mainwin.py:20353
#, python-brace-format
msgid "The channel contains {0} items, so this action may take a while"
msgstr "이 채널은 {0}개의 항목이 있으므로, 시간이 걸릴 수 있습니다"
-#: .././mainwin.py:19981
+#: .././mainwin.py:20360
#, python-brace-format
msgid "The playlist contains {0} items, so this action may take a while"
msgstr "이 플레이리스트는 {0}개의 항목이 있으므로, 시간이 걸릴 수 있습니다"
-#: .././mainwin.py:19988
+#: .././mainwin.py:20367
#, python-brace-format
msgid "The folder contains {0} items, so this action may take a while"
msgstr "이 폴더는 {0}개의 항목이 있으므로, 시간이 걸릴 수 있습니다"
-#: .././mainwin.py:20690 .././mainwin.py:21728
+#: .././mainwin.py:21069 .././mainwin.py:22107
msgid "Originally from:"
msgstr "원본:"
-#: .././mainwin.py:20703 .././mainwin.py:21742
+#: .././mainwin.py:21082 .././mainwin.py:22121
msgid "From channel"
msgstr "채널"
-#: .././mainwin.py:20705 .././mainwin.py:21744
+#: .././mainwin.py:21084 .././mainwin.py:22123
msgid "From playlist"
msgstr "플레이리스트"
-#: .././mainwin.py:20707 .././mainwin.py:21746
+#: .././mainwin.py:21086 .././mainwin.py:22125
msgid "From folder"
msgstr "폴더"
-#: .././mainwin.py:20735
+#: .././mainwin.py:21114
msgid "Livestream has not started yet"
msgstr "생방송이 아직 시작되지 않았습니다"
-#: .././mainwin.py:20742
+#: .././mainwin.py:21121
msgid "Debut has started"
msgstr "데뷔가 시작되었습니다"
-#: .././mainwin.py:20744
+#: .././mainwin.py:21123
msgid "Debut has not started yet"
msgstr "데뷔가 아직 시작되지 않았습니다"
-#: .././mainwin.py:20751 .././mainwin.py:20757 .././mainwin.py:21793
-#: .././mainwin.py:21800
+#: .././mainwin.py:21130 .././mainwin.py:21136 .././mainwin.py:22172
+#: .././mainwin.py:22179
msgid "Duration:"
msgstr "기간:"
-#: .././mainwin.py:20757 .././mainwin.py:20763 .././mainwin.py:20774
-#: .././mainwin.py:21800 .././mainwin.py:21807 .././mainwin.py:21823
-#: .././mainwin.py:24124 .././mainwin.py:24130 .././mainwin.py:24141
-#: .././media.py:555 .././media.py:565 .././media.py:2128 .././media.py:2134
-#: .././media.py:2144
+#: .././mainwin.py:21136 .././mainwin.py:21142 .././mainwin.py:21153
+#: .././mainwin.py:22179 .././mainwin.py:22186 .././mainwin.py:22202
+#: .././mainwin.py:24523 .././mainwin.py:24529 .././mainwin.py:24540
+#: .././media.py:555 .././media.py:565 .././media.py:2120 .././media.py:2126
+#: .././media.py:2136
msgid "unknown"
msgstr "알수 없음"
-#: .././mainwin.py:20761 .././mainwin.py:20763 .././mainwin.py:21804
-#: .././mainwin.py:21806
+#: .././mainwin.py:21140 .././mainwin.py:21142 .././mainwin.py:22183
+#: .././mainwin.py:22185
msgid "Size:"
msgstr "크기:"
-#: .././mainwin.py:20772 .././mainwin.py:20774 .././mainwin.py:21818
+#: .././mainwin.py:21151 .././mainwin.py:21153 .././mainwin.py:22197
msgid "Date:"
msgstr "날짜:"
-#: .././mainwin.py:21113
+#: .././mainwin.py:21492
msgid "Watch:"
msgstr "시청:"
-#: .././mainwin.py:21182
+#: .././mainwin.py:21561
msgid "Temporary:"
msgstr "임시:"
-#: .././mainwin.py:21225
+#: .././mainwin.py:21604
msgid "Marked:"
msgstr "마크:"
-#: .././mainwin.py:21700 .././mainwin.py:21763
+#: .././mainwin.py:22079 .././mainwin.py:22142
msgid "Show the full description"
msgstr "전체 설명 보이기"
-#: .././mainwin.py:21701 .././mainwin.py:21764
+#: .././mainwin.py:22080 .././mainwin.py:22143
msgid "More"
msgstr "더 보기"
-#: .././mainwin.py:21713 .././mainwin.py:21772
+#: .././mainwin.py:22092 .././mainwin.py:22151
msgid "Show the short description"
msgstr "간단한 설명 보이기"
-#: .././mainwin.py:21714 .././mainwin.py:21773
+#: .././mainwin.py:22093 .././mainwin.py:22152
msgid "Less"
msgstr "적은"
-#: .././mainwin.py:21813
+#: .././mainwin.py:22192
msgid "Received:"
msgstr "받아옴:"
-#: .././mainwin.py:21842
+#: .././mainwin.py:22221
msgid "Live now:"
msgstr "생방송 중:"
-#: .././mainwin.py:21844 .././mainwin.py:24274
+#: .././mainwin.py:22223 .././mainwin.py:24673
msgid "Live soon:"
msgstr "곧 생방송:"
-#: .././mainwin.py:21853
+#: .././mainwin.py:22232
msgid "Debut now:"
msgstr "데뷔 중:"
-#: .././mainwin.py:21855 .././mainwin.py:24276
+#: .././mainwin.py:22234 .././mainwin.py:24675
msgid "Debut soon:"
msgstr "곧 데뷔:"
@@ -2692,14 +2734,14 @@ msgstr "곧 데뷔:"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21862 .././mainwin.py:21864 .././mainwin.py:21868
-#: .././mainwin.py:22144 .././mainwin.py:22146 .././mainwin.py:22150
-#: .././mainwin.py:22622 .././mainwin.py:24155 .././mainwin.py:24157
-#: .././mainwin.py:24161
+#: .././mainwin.py:22241 .././mainwin.py:22243 .././mainwin.py:22247
+#: .././mainwin.py:22540 .././mainwin.py:22542 .././mainwin.py:22546
+#: .././mainwin.py:23018 .././mainwin.py:24554 .././mainwin.py:24556
+#: .././mainwin.py:24560
msgid "Notify"
msgstr "알림"
-#: .././mainwin.py:21872 .././mainwin.py:22154 .././mainwin.py:24165
+#: .././mainwin.py:22251 .././mainwin.py:22550 .././mainwin.py:24564
msgid "When the livestream starts, notify the user"
msgstr "생방송이 시작되면, 유저에게 알림"
@@ -2707,13 +2749,13 @@ msgstr "생방송이 시작되면, 유저에게 알림"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21883 .././mainwin.py:21885 .././mainwin.py:22160
-#: .././mainwin.py:22162 .././mainwin.py:22165 .././mainwin.py:22513
-#: .././mainwin.py:24176 .././mainwin.py:24178
+#: .././mainwin.py:22262 .././mainwin.py:22264 .././mainwin.py:22556
+#: .././mainwin.py:22558 .././mainwin.py:22561 .././mainwin.py:22909
+#: .././mainwin.py:24575 .././mainwin.py:24577
msgid "Alarm"
msgstr "알람"
-#: .././mainwin.py:21889 .././mainwin.py:22169 .././mainwin.py:24182
+#: .././mainwin.py:22268 .././mainwin.py:22565 .././mainwin.py:24581
msgid "When the livestream starts, sound an alarm"
msgstr "생방송이 시작되면, 알람을 소리로 울림"
@@ -2721,13 +2763,13 @@ msgstr "생방송이 시작되면, 알람을 소리로 울림"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21894 .././mainwin.py:21896 .././mainwin.py:22175
-#: .././mainwin.py:22177 .././mainwin.py:22180 .././mainwin.py:22659
-#: .././mainwin.py:24187 .././mainwin.py:24189
+#: .././mainwin.py:22273 .././mainwin.py:22275 .././mainwin.py:22571
+#: .././mainwin.py:22573 .././mainwin.py:22576 .././mainwin.py:23055
+#: .././mainwin.py:24586 .././mainwin.py:24588
msgid "Open"
msgstr "열기"
-#: .././mainwin.py:21900 .././mainwin.py:22184 .././mainwin.py:24193
+#: .././mainwin.py:22279 .././mainwin.py:22580 .././mainwin.py:24592
msgid "When the livestream starts, open it"
msgstr "생방송이 시작되면, 열기"
@@ -2737,14 +2779,14 @@ msgstr "생방송이 시작되면, 열기"
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
#. (Livestream already broadcasting)
-#: .././mainwin.py:21908 .././mainwin.py:21913 .././mainwin.py:21915
-#: .././mainwin.py:22190 .././mainwin.py:22192 .././mainwin.py:22195
-#: .././mainwin.py:22549 .././mainwin.py:24201 .././mainwin.py:24206
-#: .././mainwin.py:24208
+#: .././mainwin.py:22287 .././mainwin.py:22292 .././mainwin.py:22294
+#: .././mainwin.py:22586 .././mainwin.py:22588 .././mainwin.py:22591
+#: .././mainwin.py:22945 .././mainwin.py:24600 .././mainwin.py:24605
+#: .././mainwin.py:24607
msgid "D/L on start"
msgstr "시작 시 다운로드"
-#: .././mainwin.py:21919 .././mainwin.py:22199 .././mainwin.py:24212
+#: .././mainwin.py:22298 .././mainwin.py:22595 .././mainwin.py:24611
msgid "When the livestream starts, download it"
msgstr "생방송이 시작되면, 다운로드 하기"
@@ -2752,18 +2794,18 @@ msgstr "생방송이 시작되면, 다운로드 하기"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21925 .././mainwin.py:21930 .././mainwin.py:21932
-#: .././mainwin.py:22205 .././mainwin.py:22207 .././mainwin.py:22210
-#: .././mainwin.py:22586 .././mainwin.py:24218 .././mainwin.py:24223
-#: .././mainwin.py:24225
+#: .././mainwin.py:22304 .././mainwin.py:22309 .././mainwin.py:22311
+#: .././mainwin.py:22601 .././mainwin.py:22603 .././mainwin.py:22606
+#: .././mainwin.py:22982 .././mainwin.py:24617 .././mainwin.py:24622
+#: .././mainwin.py:24624
msgid "D/L on stop"
msgstr "정지 시 다운로드"
-#: .././mainwin.py:21936 .././mainwin.py:22214 .././mainwin.py:24229
+#: .././mainwin.py:22315 .././mainwin.py:22610 .././mainwin.py:24628
msgid "When the livestream stops, download it"
msgstr "생방송이 끝나면, 다운로드 하기"
-#: .././mainwin.py:21952 .././mainwin.py:24245
+#: .././mainwin.py:22331 .././mainwin.py:24644
msgid "Watch in your media player"
msgstr "미디어 플레이어에서 보기"
@@ -2771,15 +2813,15 @@ msgstr "미디어 플레이어에서 보기"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21953 .././mainwin.py:23269 .././mainwin.py:24246
+#: .././mainwin.py:22332 .././mainwin.py:23665 .././mainwin.py:24645
msgid "Player"
msgstr "플레이어"
-#: .././mainwin.py:21985 .././mainwin.py:24291
+#: .././mainwin.py:22364 .././mainwin.py:24690
msgid "Download this video"
msgstr "이 비디오 다운로드받기"
-#: .././mainwin.py:22000 .././mainwin.py:24306
+#: .././mainwin.py:22379 .././mainwin.py:24705
msgid ""
"TRANSLATOR'S NOTE: If you want to use &, use & - if you want to use a "
"different word (e.g. French et), then just use that word"
@@ -2787,27 +2829,40 @@ msgstr ""
"TRANSLATOR'S NOTE: If you want to use &, use & - if you want to use a "
"different word (e.g. French et), then just use that word"
-#: .././mainwin.py:22008 .././mainwin.py:24314
+#: .././mainwin.py:22387 .././mainwin.py:24713
msgid "Download and watch in your media player"
msgstr "다운로드 하고 미디어 플레이어에서 보기"
-#: .././mainwin.py:22009
+#: .././mainwin.py:22388
msgid "Download & watch"
msgstr "다운로드 하고 보기"
-#: .././mainwin.py:22016
+#: .././mainwin.py:22395
msgid "Not downloaded"
msgstr "다운로드되지 않음"
-#: .././mainwin.py:22039
+#: .././mainwin.py:22419
+msgid "Watch on website"
+msgstr "웹사이트에서 보기"
+
+#: .././mainwin.py:22420 .././mainwin.py:23708
+msgid "Website"
+msgstr "웹사이트"
+
+#: .././mainwin.py:22435
+#, python-brace-format
+msgid "Watch on {0}"
+msgstr ""
+
+#: .././mainwin.py:22449
msgid "Watch on YouTube"
msgstr "유튜브에서 보기"
-#: .././mainwin.py:22040 .././mainwin.py:23311
+#: .././mainwin.py:22450
msgid "YouTube"
msgstr "유튜브"
-#: .././mainwin.py:22052
+#: .././mainwin.py:22462
msgid "Watch on HookTube"
msgstr "HookTube에서 보기"
@@ -2815,11 +2870,11 @@ msgstr "HookTube에서 보기"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22053 .././mainwin.py:23085
+#: .././mainwin.py:22463 .././mainwin.py:23481
msgid "HookTube"
msgstr "HookTube"
-#: .././mainwin.py:22065
+#: .././mainwin.py:22475
msgid "Watch on Invidious"
msgstr "Invidious에서 보기"
@@ -2827,7 +2882,7 @@ msgstr "Invidious에서 보기"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22066 .././mainwin.py:23126
+#: .././mainwin.py:22476 .././mainwin.py:23522
msgid "Invidious"
msgstr "Invidious"
@@ -2835,25 +2890,17 @@ msgstr "Invidious"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22085 .././mainwin.py:23168 .././config.py:17113
-#: .././config.py:20316
+#: .././mainwin.py:22495 .././mainwin.py:23564 .././config.py:17305
+#: .././config.py:20626
msgid "Other"
msgstr "기타"
-#: .././mainwin.py:22105
-msgid "Watch on website"
-msgstr "웹사이트에서 보기"
-
-#: .././mainwin.py:22106 .././mainwin.py:23313
-msgid "Website"
-msgstr "웹사이트"
-
#. Links not clickable
-#: .././mainwin.py:22117
+#: .././mainwin.py:22513
msgid "No link"
msgstr "링크 없음"
-#: .././mainwin.py:22248
+#: .././mainwin.py:22644
msgid "Download to a temporary folder later"
msgstr "나중에 임시 폴더에 다운로드 받기"
@@ -2861,19 +2908,19 @@ msgstr "나중에 임시 폴더에 다운로드 받기"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22249 .././mainwin.py:22266 .././mainwin.py:23044
+#: .././mainwin.py:22645 .././mainwin.py:22662 .././mainwin.py:23440
msgid "Mark for download"
msgstr "다운로드를 위해 마크하기"
-#: .././mainwin.py:22254
+#: .././mainwin.py:22650
msgid "Download to a temporary folder"
msgstr "임시 폴더에 다운로드 받기"
-#: .././mainwin.py:22260
+#: .././mainwin.py:22656
msgid "Download to a temporary folder, then watch"
msgstr "임시 폴더에 다운로드 받고 보기"
-#: .././mainwin.py:22261 .././mainwin.py:24315
+#: .././mainwin.py:22657 .././mainwin.py:24714
msgid "D/L & watch"
msgstr "다운로드 하고 보기"
@@ -2881,12 +2928,12 @@ msgstr "다운로드 하고 보기"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22268 .././mainwin.py:23003
+#: .././mainwin.py:22664 .././mainwin.py:23399
msgid "D/L and watch"
msgstr "다운로드 하고 보기"
#. Archived/not archived
-#: .././mainwin.py:22289 .././mainwin.py:24350
+#: .././mainwin.py:22685 .././mainwin.py:24749
msgid "Prevent automatic deletion of the video"
msgstr "비디오 자동 삭제 방지"
@@ -2894,13 +2941,13 @@ msgstr "비디오 자동 삭제 방지"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22293 .././mainwin.py:22297 .././mainwin.py:22694
-#: .././mainwin.py:24354 .././mainwin.py:24358 .././mainwin.py:24558
+#: .././mainwin.py:22689 .././mainwin.py:22693 .././mainwin.py:23090
+#: .././mainwin.py:24753 .././mainwin.py:24757 .././mainwin.py:24957
msgid "Archived"
msgstr "아카이브 됨"
#. Bookmarked/not bookmarked
-#: .././mainwin.py:22302 .././mainwin.py:24363
+#: .././mainwin.py:22698 .././mainwin.py:24762
msgid "Show video in Bookmarks folder"
msgstr "북마크 폴더 안의 비디오 보이기"
@@ -2910,13 +2957,13 @@ msgstr "북마크 폴더 안의 비디오 보이기"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22307 .././mainwin.py:22312 .././mainwin.py:24367
-#: .././mainwin.py:24371 .././mainwin.py:24600
+#: .././mainwin.py:22703 .././mainwin.py:22708 .././mainwin.py:24766
+#: .././mainwin.py:24770 .././mainwin.py:24999
msgid "B/mark"
msgstr "북마크"
#. Favourite/not favourite
-#: .././mainwin.py:22317 .././mainwin.py:24376
+#: .././mainwin.py:22713 .././mainwin.py:24775
msgid "Show in Favourite Videos folder"
msgstr "즐겨찾기 폴더 안의 비디오 보이기"
@@ -2924,13 +2971,13 @@ msgstr "즐겨찾기 폴더 안의 비디오 보이기"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22321 .././mainwin.py:22325 .././mainwin.py:22778
-#: .././mainwin.py:24380 .././mainwin.py:24384 .././config.py:14895
+#: .././mainwin.py:22717 .././mainwin.py:22721 .././mainwin.py:23174
+#: .././mainwin.py:24779 .././mainwin.py:24783 .././config.py:14934
msgid "Favourite"
msgstr "즐겨찾기"
#. Missing/not missing
-#: .././mainwin.py:22329 .././mainwin.py:24388
+#: .././mainwin.py:22725 .././mainwin.py:24787
msgid "Mark video as removed by creator"
msgstr "제작자가 비디오를 삭제한 것(사라진 것)으로 표기하기"
@@ -2938,13 +2985,13 @@ msgstr "제작자가 비디오를 삭제한 것(사라진 것)으로 표기하
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22333 .././mainwin.py:22337 .././mainwin.py:22820
-#: .././mainwin.py:24392 .././mainwin.py:24396
+#: .././mainwin.py:22729 .././mainwin.py:22733 .././mainwin.py:23216
+#: .././mainwin.py:24791 .././mainwin.py:24795
msgid "Missing"
msgstr "사라짐"
#. New/not new
-#: .././mainwin.py:22342 .././mainwin.py:24401
+#: .././mainwin.py:22738 .././mainwin.py:24800
msgid "Mark video as never watched"
msgstr "새 비디오로 표기하기"
@@ -2952,13 +2999,13 @@ msgstr "새 비디오로 표기하기"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22346 .././mainwin.py:22350 .././mainwin.py:22855
-#: .././mainwin.py:24405 .././mainwin.py:24409
+#: .././mainwin.py:22742 .././mainwin.py:22746 .././mainwin.py:23251
+#: .././mainwin.py:24804 .././mainwin.py:24808
msgid "New"
msgstr "새 비디오"
#. In waiting list/not in waiting list
-#: .././mainwin.py:22355 .././mainwin.py:24414
+#: .././mainwin.py:22751 .././mainwin.py:24813
msgid "Show in Waiting Videos folder"
msgstr "대기 리스트로 표기하기"
@@ -2966,23 +3013,23 @@ msgstr "대기 리스트로 표기하기"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22736
+#: .././mainwin.py:23132
msgid "Bookmarked"
msgstr "북마크됨"
-#: .././mainwin.py:24098
+#: .././mainwin.py:24497
msgid "Click to open"
msgstr ""
-#: .././mainwin.py:24286
+#: .././mainwin.py:24685
msgid "TRANSLATOR'S NOTE: D/L means download"
msgstr "TRANSLATOR'S NOTE: D/L means download"
-#: .././mainwin.py:24322
+#: .././mainwin.py:24721
msgid "Can't D/L"
msgstr "다운로드 할 수 없음"
-#: .././mainwin.py:24343
+#: .././mainwin.py:24742
msgid ""
"TRANSLATOR'S NOTE: This section contains shortened labels: Archive = "
"Archived, B/Mark = Bookmarked, Waiting: In waiting list"
@@ -2990,392 +3037,392 @@ msgstr ""
"TRANSLATOR'S NOTE: This section contains shortened labels: Archive = "
"Archived, B/Mark = Bookmarked, Waiting: In waiting list"
-#: .././mainwin.py:25502
+#: .././mainwin.py:25901
msgid "Invalid URL"
msgstr ""
-#: .././mainwin.py:25513
+#: .././mainwin.py:25912
msgid "Duplicate URL"
msgstr ""
-#: .././mainwin.py:25519
+#: .././mainwin.py:25918
msgid "Failed to add URL"
msgstr ""
-#: .././mainwin.py:25988
+#: .././mainwin.py:26387
msgid "Add many channels/playlists"
msgstr ""
-#: .././mainwin.py:26017 .././mainwin.py:26682 .././mainwin.py:27518
-#: .././mainwin.py:28007
+#: .././mainwin.py:26416 .././mainwin.py:27081 .././mainwin.py:27919
+#: .././mainwin.py:28408
msgid "Enable automatic copy/paste"
msgstr "자동 복사/붙여넣기 활성화"
#. Buttons to add URLs as channels/playlists
-#: .././mainwin.py:26070
+#: .././mainwin.py:26469
msgid "Add channels"
msgstr ""
-#: .././mainwin.py:26074
+#: .././mainwin.py:26473
msgid "Add playlists"
msgstr ""
-#: .././mainwin.py:26087
+#: .././mainwin.py:26486
msgid "Double-click the names/URLs to customise them"
msgstr ""
-#: .././mainwin.py:26095
+#: .././mainwin.py:26494
msgid ""
"HINT: You can also click Media > Reset channel/playlist names..."
"b>"
msgstr ""
-#: .././mainwin.py:26123 .././mainwin.py:29614 .././mainwin.py:31512
-#: .././config.py:3341 .././config.py:5387 .././config.py:5518
+#: .././mainwin.py:26522 .././mainwin.py:30015 .././mainwin.py:31913
+#: .././config.py:3341 .././config.py:5389 .././config.py:5520
msgid "Type"
msgstr "타입"
-#: .././mainwin.py:26123 .././config.py:20023
+#: .././mainwin.py:26522 .././config.py:20333
msgid "URL"
msgstr ""
#. Add more buttons
-#: .././mainwin.py:26154
+#: .././mainwin.py:26553
msgid "Toggle channel/playlist"
msgstr ""
-#: .././mainwin.py:26158
+#: .././mainwin.py:26557
msgid "Delete selected lines"
msgstr ""
-#: .././mainwin.py:26197
+#: .././mainwin.py:26596
msgid "Add to this folder:"
msgstr ""
-#: .././mainwin.py:26530
+#: .././mainwin.py:26929
msgid "Add channel"
msgstr "채널 추가"
-#: .././mainwin.py:26549
+#: .././mainwin.py:26948
msgid "Enter the channel name"
msgstr "채널 이름을 입력해 주세요"
-#: .././mainwin.py:26554
+#: .././mainwin.py:26953
msgid "(Use the channel's real name or a customised name)"
msgstr "(채널의 실제 이름이나 커스텀 이름을 사용하세요)"
-#: .././mainwin.py:26562
+#: .././mainwin.py:26961
msgid "Copy and paste a link to the channel"
msgstr "링크를 복사해 채널에 붙여넣기"
-#: .././mainwin.py:26586
+#: .././mainwin.py:26985
msgid ""
"Before adding the URL for a YouTube channel, first click the Videos tab in "
"your browser!"
msgstr ""
-#: .././mainwin.py:26635
+#: .././mainwin.py:27034
msgid "(Optional) Add this channel inside a folder"
msgstr "(선택사항) 이 채널을 폴더 안에 추가하기"
-#: .././mainwin.py:26665
+#: .././mainwin.py:27064
msgid "Enable video downloads for this channel"
msgstr ""
-#: .././mainwin.py:26672 .././mainwin.py:27305 .././mainwin.py:27508
-#: .././mainwin.py:27998
+#: .././mainwin.py:27071 .././mainwin.py:27706 .././mainwin.py:27909
+#: .././mainwin.py:28399
msgid "Don't download the videos, just check them"
msgstr ""
-#: .././mainwin.py:26877
+#: .././mainwin.py:27278
msgid "Add dropzone"
msgstr ""
-#: .././mainwin.py:26899
+#: .././mainwin.py:27300
msgid "Create new download options called"
msgstr ""
-#: .././mainwin.py:26911 .././mainwin.py:28184
+#: .././mainwin.py:27312 .././mainwin.py:28585
msgid "Use these download options"
msgstr "이 다운로드 설정 사용하기"
-#: .././mainwin.py:26948 .././mainwin.py:28221
+#: .././mainwin.py:27349 .././mainwin.py:28622
msgid "Clone these download options"
msgstr "이 다운로드 설정 복제하기"
-#: .././mainwin.py:27206
+#: .././mainwin.py:27607
msgid "Add folder"
msgstr "폴더 추가"
-#: .././mainwin.py:27225
+#: .././mainwin.py:27626
msgid "Enter the folder name"
msgstr "폴더 이름을 입력해 주세요"
-#: .././mainwin.py:27268
+#: .././mainwin.py:27669
msgid "(Optional) Add this folder inside another folder"
msgstr "(선택사항) 이 폴더를 다른 폴더 안에 추가하기"
-#: .././mainwin.py:27299
+#: .././mainwin.py:27700
msgid "Enable video downloads for this folder"
msgstr ""
-#: .././mainwin.py:27392
+#: .././mainwin.py:27793
msgid "Add playlist"
msgstr "플레이리스트 추가"
-#: .././mainwin.py:27411
+#: .././mainwin.py:27812
msgid "Enter the playlist name"
msgstr "플레이리스트 이름을 입력해 주세요"
-#: .././mainwin.py:27416
+#: .././mainwin.py:27817
msgid "(Use the playlist's real name or a customised name)"
msgstr "(플레이리스트의 실제 이름이나 커스텀 이름을 사용하세요)"
-#: .././mainwin.py:27424
+#: .././mainwin.py:27825
msgid "Copy and paste a link to the playlist"
msgstr "링크를 복사해 플레이리스트에 붙여넣기"
-#: .././mainwin.py:27471
+#: .././mainwin.py:27872
msgid "(Optional) Add this playlist inside a folder"
msgstr "(선택사항) 이 플레이리스트를 폴더 안에 추가하기"
-#: .././mainwin.py:27501
+#: .././mainwin.py:27902
msgid "Enable video downloads for this playlist"
msgstr ""
-#: .././mainwin.py:27680
+#: .././mainwin.py:28081
msgid "Reset timestamps"
msgstr ""
-#: .././mainwin.py:27702
+#: .././mainwin.py:28103
msgid "Copy timestamps below, e.g."
msgstr ""
-#: .././mainwin.py:27703
+#: .././mainwin.py:28104
msgid "Introduction"
msgstr ""
-#: .././mainwin.py:27828
+#: .././mainwin.py:28229
msgid "Add videos"
msgstr "비디오 추가하기"
-#: .././mainwin.py:27847
+#: .././mainwin.py:28248
msgid "Copy and paste the links to one or more videos"
msgstr "링크를 복사해 하나 이상의 비디오에 붙여넣기"
-#: .././mainwin.py:27853
+#: .././mainwin.py:28254
msgid "Links containing multiple videos will be converted to a channel"
msgstr "여러 동영상이 포함된 링크는 채널로 변환됨"
-#: .././mainwin.py:27860
+#: .././mainwin.py:28261
msgid "Links containing multiple videos will be converted to a playlist"
msgstr "여러 동영상이 포함된 링크는 플레이리스트로 변환됨"
-#: .././mainwin.py:27867
+#: .././mainwin.py:28268
msgid "Links containing multiple videos will be downloaded separately"
msgstr "여러 동영상이 포함된 링크는 개별로 다운로드됨"
-#: .././mainwin.py:27874
+#: .././mainwin.py:28275
msgid "Links containing multiple videos will not be downloaded at all"
msgstr "여러 동영상이 포함된 링크는 한번에 다운로드 하지 않음"
-#: .././mainwin.py:27962
+#: .././mainwin.py:28363
msgid "Add the videos to this folder"
msgstr "비디오들을 이 폴더에 추가"
-#: .././mainwin.py:27992
+#: .././mainwin.py:28393
msgid "I want to download these videos"
msgstr ""
-#: .././mainwin.py:28152 .././config.py:2156
+#: .././mainwin.py:28553 .././config.py:2156
msgid "Apply download options"
msgstr "다운로드 설정 적용하기"
-#: .././mainwin.py:28174
+#: .././mainwin.py:28575
msgid "Create new download options"
msgstr "새 다운로드 설정 만들기"
-#: .././mainwin.py:28436
+#: .././mainwin.py:28837
msgid "Select a date"
msgstr "날짜 선택"
-#: .././mainwin.py:28541
+#: .././mainwin.py:28942
msgid "Delete channel"
msgstr "채널 지우기"
-#: .././mainwin.py:28543
+#: .././mainwin.py:28944
msgid "Delete playlist"
msgstr "플레이리스트 지우기"
-#: .././mainwin.py:28545
+#: .././mainwin.py:28946
msgid "Delete folder"
msgstr "폴더 지우기"
-#: .././mainwin.py:28548
+#: .././mainwin.py:28949
msgid "Empty channel"
msgstr "빈 채널"
-#: .././mainwin.py:28550
+#: .././mainwin.py:28951
msgid "Empty playlist"
msgstr "빈 플레이리스트"
-#: .././mainwin.py:28552
+#: .././mainwin.py:28953
msgid "Empty folder"
msgstr "빈 폴더"
-#: .././mainwin.py:28586
+#: .././mainwin.py:28987
msgid "This channel does not contain any videos"
msgstr "이 채널엔 아무 비디오도 없습니다"
-#: .././mainwin.py:28588
+#: .././mainwin.py:28989
msgid "This playlist does not contain any videos"
msgstr "이 플레이리스트에 아무 비디오도 없습니다"
-#: .././mainwin.py:28590
+#: .././mainwin.py:28991
msgid "This folder doesn't contain anything"
msgstr "이 폴더에 아무것도 없습니다"
-#: .././mainwin.py:28596
+#: .././mainwin.py:28997
msgid "(but there might be some files in Tartube's data folder)"
msgstr "(하지만 Tartube의 데이터 폴더에 파일이 좀 있을수도 있습니다)"
-#: .././mainwin.py:28609
+#: .././mainwin.py:29010
msgid "This channel contains:"
msgstr "채널에 포함된 항목:"
-#: .././mainwin.py:28611
+#: .././mainwin.py:29012
msgid "This playlist contains:"
msgstr "플레이리스트에 포함된 항목:"
-#: .././mainwin.py:28613 .././config.py:17086
+#: .././mainwin.py:29014 .././config.py:17278
msgid "This folder contains:"
msgstr "폴더에 포함된 항목:"
-#: .././mainwin.py:28620
+#: .././mainwin.py:29021
msgid "1 folder"
msgstr "1 폴더"
-#: .././mainwin.py:28622
+#: .././mainwin.py:29023
#, python-brace-format
msgid "{0} folders"
msgstr "{0} 폴더"
-#: .././mainwin.py:28629
+#: .././mainwin.py:29030
msgid "1 channel"
msgstr "1 채널"
-#: .././mainwin.py:28631
+#: .././mainwin.py:29032
#, python-brace-format
msgid "{0} channels"
msgstr "{0} 채널"
-#: .././mainwin.py:28638
+#: .././mainwin.py:29039
msgid "1 playlist"
msgstr "1 플레이리스트"
-#: .././mainwin.py:28640
+#: .././mainwin.py:29041
#, python-brace-format
msgid "{0} playlists"
msgstr "{0} 플레이리스트"
-#: .././mainwin.py:28647 .././mainwin.py:29687
+#: .././mainwin.py:29048 .././mainwin.py:30088
msgid "1 video"
msgstr "1 비디오"
-#: .././mainwin.py:28649 .././mainwin.py:29690
+#: .././mainwin.py:29050 .././mainwin.py:30091
#, python-brace-format
msgid "{0} videos"
msgstr "{0} 비디오"
-#: .././mainwin.py:28662
+#: .././mainwin.py:29063
msgid ""
"Do you want to remove the channel from your filesystem, or do you just want "
"to remove the channel from this list?"
msgstr ""
-#: .././mainwin.py:28666
+#: .././mainwin.py:29067
msgid "Just remove the channel from this list"
msgstr "채널을 리스트에서 지우기만 하기"
-#: .././mainwin.py:28670
+#: .././mainwin.py:29071
msgid ""
"Do you want to remove the playlist from your filesystem, or do you just "
"want to remove the playlist from this list?"
msgstr ""
-#: .././mainwin.py:28674
+#: .././mainwin.py:29075
msgid "Just remove the playlist from this list"
msgstr "플레이리스트를 리스트에서 지우기만 하기"
-#: .././mainwin.py:28678
+#: .././mainwin.py:29079
msgid ""
"Do you want to remove the folder from your filesystem, or do you just want "
"to remove the folder from this list?"
msgstr ""
-#: .././mainwin.py:28682
+#: .././mainwin.py:29083
msgid "Just remove the folder from this list"
msgstr "폴더를 리스트에서 지우기만 하기"
-#: .././mainwin.py:28688
+#: .././mainwin.py:29089
msgid ""
"Do you want to empty the channel on your filesystem, or do you just want to "
"empty the channel in this list?"
msgstr ""
-#: .././mainwin.py:28692
+#: .././mainwin.py:29093
msgid "Just empty the channel in this list"
msgstr "채널을 리스트에서 비우기만 하기"
-#: .././mainwin.py:28696
+#: .././mainwin.py:29097
msgid ""
"Do you want to empty the playlist on your filesystem, or do you just want to "
"empty the playlist in this list?"
msgstr ""
-#: .././mainwin.py:28700
+#: .././mainwin.py:29101
msgid "Just empty the playlist in this list"
msgstr "플레이리스트를 리스트에서 비우기만 하기"
-#: .././mainwin.py:28704
+#: .././mainwin.py:29105
msgid ""
"Do you want to empty the folder on your filesystem, or do you just want to "
"empty the folder in this list?"
msgstr ""
-#: .././mainwin.py:28708
+#: .././mainwin.py:29109
msgid "Just empty the folder in this list"
msgstr "폴더를 리스트에서 비우기만 하기"
-#: .././mainwin.py:28723
+#: .././mainwin.py:29124
msgid "Delete files on your computer"
msgstr ""
-#: .././mainwin.py:28775
+#: .././mainwin.py:29176
msgid "Delete dropzone"
msgstr ""
-#: .././mainwin.py:28793
+#: .././mainwin.py:29194
msgid "Just delete the dropzone"
msgstr ""
-#: .././mainwin.py:28798
+#: .././mainwin.py:29199
msgid "Also delete download options"
msgstr ""
-#: .././mainwin.py:28889
+#: .././mainwin.py:29290
msgid "Duplicate URLs"
msgstr ""
-#: .././mainwin.py:28912
+#: .././mainwin.py:29313
msgid "The following URLs are duplicates:"
msgstr ""
-#: .././mainwin.py:28987
+#: .././mainwin.py:29388
msgid "Export from database"
msgstr "데이터베이스에서 내보내기"
-#: .././mainwin.py:29013
+#: .././mainwin.py:29414
msgid ""
"Tartube is ready to export a partial summary of its database, containing a "
"list of videos, channels, playlists and/or folders (but not including the "
@@ -3384,7 +3431,7 @@ msgstr ""
"Tartube는 비디오, 채널, 재생목록, 폴더를 포함하는 데이터베이스의 부분 요약을 "
"내보낼 준비가 되었습니다 (하지만 비디오 자체는 포함하지 않습니다)"
-#: .././mainwin.py:29020
+#: .././mainwin.py:29421
msgid ""
"Tartube is ready to export a summary of its database, containing a list of "
"videos, channels, playlists and/or folders (but not including the videos "
@@ -3393,329 +3440,329 @@ msgstr ""
"Tartube는 비디오, 채널, 재생목록, 폴더를 포함하는 데이터베이스의 요약을 내보"
"낼 준비가 되었습니다 (하지만 비디오 자체는 포함하지 않습니다)"
-#: .././mainwin.py:29036
+#: .././mainwin.py:29437
msgid "Choose what should be included:"
msgstr "무엇이 포함될지 선택:"
-#: .././mainwin.py:29044
+#: .././mainwin.py:29445
msgid "Include lists of videos"
msgstr "비디오 리스트 포함"
-#: .././mainwin.py:29049
+#: .././mainwin.py:29450
msgid "Include channels"
msgstr "채널 포함"
-#: .././mainwin.py:29054
+#: .././mainwin.py:29455
msgid "Include playlists"
msgstr "플레이리스트 포함"
-#: .././mainwin.py:29059
+#: .././mainwin.py:29460
msgid "Preserve folder structure"
msgstr "폴더 구조 유지"
-#: .././mainwin.py:29067
+#: .././mainwin.py:29468
msgid "Export as JSON"
msgstr ""
-#: .././mainwin.py:29073
+#: .././mainwin.py:29474
msgid "Export as CSV using separator"
msgstr ""
-#: .././mainwin.py:29100
+#: .././mainwin.py:29501
msgid "Export as plain text"
msgstr "일반 텍스트로 내보내기"
-#: .././mainwin.py:29196
+#: .././mainwin.py:29597
msgid "Type extractor code"
msgstr ""
-#: .././mainwin.py:29233
+#: .././mainwin.py:29634
#, python-brace-format
msgid "Type an extractor code in the range {0}-{1}"
msgstr ""
-#: .././mainwin.py:29236
+#: .././mainwin.py:29637
msgid "(mp3, mp4 etc are also acceptable)"
msgstr ""
-#: .././mainwin.py:29242
+#: .././mainwin.py:29643
msgid "e.g. 136 for mp4 720p"
msgstr ""
-#: .././mainwin.py:29367
+#: .././mainwin.py:29768
msgid "Click the Output tab to see available formats"
msgstr ""
-#: .././mainwin.py:29369
+#: .././mainwin.py:29770
msgid "Click the Output tab to see available subtitles"
msgstr ""
-#: .././mainwin.py:29378
+#: .././mainwin.py:29779
msgid "Update general download options"
msgstr ""
-#: .././mainwin.py:29386
+#: .././mainwin.py:29787
msgid "Apply download options to this video only"
msgstr ""
-#: .././mainwin.py:29394
+#: .././mainwin.py:29795
msgid "Update this video's download options"
msgstr ""
-#: .././mainwin.py:29561
+#: .././mainwin.py:29962
msgid "Import into database"
msgstr "데이터베이스로 가져오기"
-#: .././mainwin.py:29585
+#: .././mainwin.py:29986
msgid "Choose which items to import"
msgstr "가져올 항목 선택하기"
-#: .././mainwin.py:29606 .././config.py:22527 .././config.py:24485
-#: .././config.py:24763
+#: .././mainwin.py:30007 .././config.py:22901 .././config.py:24980
+#: .././config.py:25258
msgid "Import"
msgstr "가져오기"
-#: .././mainwin.py:29642
+#: .././mainwin.py:30043
msgid "Import videos"
msgstr "비디오 가져오기"
-#: .././mainwin.py:29647
+#: .././mainwin.py:30048
msgid "Merge channels/playlists/folders"
msgstr "채널/플레이리스트/폴더 병합하기"
#. Strip of widgets at the bottom
#. Bottom strip
-#: .././mainwin.py:29650 .././mainwin.py:31578 .././mainwin.py:33031
+#: .././mainwin.py:30051 .././mainwin.py:31979 .././mainwin.py:33432
msgid "Select all"
msgstr "모두 선택하기"
-#: .././mainwin.py:29655 .././mainwin.py:31583
+#: .././mainwin.py:30056 .././mainwin.py:31984
msgid "Unselect all"
msgstr "모두 선택 취소하기"
-#: .././mainwin.py:29904
+#: .././mainwin.py:30305
msgid "Mount drive"
msgstr "드라이브 마운트"
-#: .././mainwin.py:29929
+#: .././mainwin.py:30330
msgid "The Tartube data folder is set to:"
msgstr "Tartube 데이터 폴더가 설정됨:"
-#: .././mainwin.py:29942
+#: .././mainwin.py:30343
msgid "...but this folder doesn't exist"
msgstr "...하지만 이 폴더가 존재하지 않음"
-#: .././mainwin.py:29945
+#: .././mainwin.py:30346
msgid "...but Tartube cannot write to this folder"
msgstr "...하지만 Tartube가 폴더에 쓸 수 없음"
-#: .././mainwin.py:29955
+#: .././mainwin.py:30356
msgid "I have mounted the drive, please try again"
msgstr "드라이브를 마운트했습니다. 다시 시도하세요"
-#: .././mainwin.py:29961
+#: .././mainwin.py:30362
msgid "Use this data folder:"
msgstr "이 데이터 폴더 사용:"
-#: .././mainwin.py:29988
+#: .././mainwin.py:30389
msgid "Select a different data folder"
msgstr "다른 데이터 폴더 선택"
-#: .././mainwin.py:29994
+#: .././mainwin.py:30395
msgid "Use the default data folder"
msgstr "기본 데이터 폴더 사용"
-#: .././mainwin.py:30000
+#: .././mainwin.py:30401
msgid "Shut down Tartube"
msgstr "Tartube 종료"
#. 'Cancel' button
-#: .././mainwin.py:30007 .././config.py:1118
+#: .././mainwin.py:30408 .././config.py:1118
msgid "Cancel"
msgstr "취소"
#. 'OK' button
-#: .././mainwin.py:30011 .././config.py:1109 .././config.py:2338
-#: .././config.py:13145 .././config.py:13511
+#: .././mainwin.py:30412 .././config.py:1109 .././config.py:2338
+#: .././config.py:13184 .././config.py:13550
msgid "OK"
msgstr "확인"
-#: .././mainwin.py:30042
+#: .././mainwin.py:30443
msgid "The folder still doesn't exist. Please try a different option"
msgstr "폴더가 존재하지 않습니다. 다른 설정을 시도하세요"
-#: .././mainwin.py:30183
+#: .././mainwin.py:30584
msgid "MSYS2 terminal"
msgstr ""
-#: .././mainwin.py:30204
+#: .././mainwin.py:30605
msgid "On MS Windows, Tartube runs in the MSYS2 environment."
msgstr ""
-#: .././mainwin.py:30212
+#: .././mainwin.py:30613
msgid ""
"Advanced users can use the MSYS2 terminal to make changes to the\n"
"environment (for example, to tweak youtube-dl or FFmpeg)"
msgstr ""
-#: .././mainwin.py:30223 .././mainwin.py:30427
+#: .././mainwin.py:30624 .././mainwin.py:30828
msgid "Always show this window"
msgstr ""
-#: .././mainwin.py:30302 .././config.py:437
+#: .././mainwin.py:30703 .././config.py:437
msgid "Downloads"
msgstr "다운로드"
-#: .././mainwin.py:30332
+#: .././mainwin.py:30733
msgid "Nothing happened?"
msgstr ""
-#: .././mainwin.py:30348
+#: .././mainwin.py:30749
msgid "Check the requested format is actually available"
msgstr ""
-#: .././mainwin.py:30353
+#: .././mainwin.py:30754
msgid "(Try converting instead of a direct download)"
msgstr ""
-#: .././mainwin.py:30366
+#: .././mainwin.py:30767
msgid "Check the downloader is installed and updated"
msgstr ""
-#: .././mainwin.py:30371 .././mainwin.py:32621
+#: .././mainwin.py:30772 .././mainwin.py:33022
msgid "Update"
msgstr "업데이트"
-#: .././mainwin.py:30377
+#: .././mainwin.py:30778
msgid "Tell Tartube where to find the downloader"
msgstr ""
-#: .././mainwin.py:30382
+#: .././mainwin.py:30783
msgid "Set the downloader's file path"
msgstr ""
-#: .././mainwin.py:30388
+#: .././mainwin.py:30789
msgid "Try a different downloader"
msgstr ""
-#: .././mainwin.py:30394
+#: .././mainwin.py:30795
msgid "Find more help"
msgstr ""
-#: .././mainwin.py:30399
+#: .././mainwin.py:30800
msgid "Read the FAQ"
msgstr ""
-#: .././mainwin.py:30405
+#: .././mainwin.py:30806
msgid "Ask for help"
msgstr ""
-#: .././mainwin.py:30417
+#: .././mainwin.py:30818
msgid ""
"Don't forget to check the Output tab and the\n"
"Errors/Warnings tab for error messages!"
msgstr ""
-#: .././mainwin.py:30585
+#: .././mainwin.py:30986
msgid "Download video clip"
msgstr ""
-#: .././mainwin.py:30587
+#: .././mainwin.py:30988
msgid "Create video clip"
msgstr ""
-#: .././mainwin.py:30614 .././config.py:11059 .././config.py:11699
-#: .././config.py:14362
+#: .././mainwin.py:31015 .././config.py:11098 .././config.py:11738
+#: .././config.py:14401
msgid "Start timestamp (e.g. 15:29)"
msgstr ""
-#: .././mainwin.py:30624 .././config.py:11079 .././config.py:11719
-#: .././config.py:14375
+#: .././mainwin.py:31025 .././config.py:11118 .././config.py:11758
+#: .././config.py:14414
msgid "Stop timestamp (optional)"
msgstr ""
-#: .././mainwin.py:30633 .././config.py:11094 .././config.py:11734
-#: .././config.py:14388
+#: .././mainwin.py:31034 .././config.py:11133 .././config.py:11773
+#: .././config.py:14427
msgid "Clip title (optional)"
msgstr ""
-#: .././mainwin.py:30641
+#: .././mainwin.py:31042
msgid "Download this clip"
msgstr ""
-#: .././mainwin.py:30643
+#: .././mainwin.py:31044
msgid "Create this clip"
msgstr ""
-#: .././mainwin.py:30652
+#: .././mainwin.py:31053
msgid "Download all clips"
msgstr ""
-#: .././mainwin.py:30654
+#: .././mainwin.py:31055
msgid "Create all clips"
msgstr ""
-#: .././mainwin.py:30821
+#: .././mainwin.py:31222
msgid "Download sliced video"
msgstr ""
-#: .././mainwin.py:30823
+#: .././mainwin.py:31224
msgid "Create sliced video"
msgstr ""
-#: .././mainwin.py:30850 .././config.py:11279 .././config.py:11941
-#: .././config.py:14567
+#: .././mainwin.py:31251 .././config.py:11318 .././config.py:11980
+#: .././config.py:14606
msgid "Start (timestamp or seconds)"
msgstr ""
-#: .././mainwin.py:30860 .././config.py:11292 .././config.py:11954
-#: .././config.py:14579
+#: .././mainwin.py:31261 .././config.py:11331 .././config.py:11993
+#: .././config.py:14618
msgid "Stop (optional)"
msgstr ""
-#: .././mainwin.py:30868
+#: .././mainwin.py:31269
msgid "Download and remove this slice"
msgstr ""
-#: .././mainwin.py:30870
+#: .././mainwin.py:31271
msgid "Create this sliced video"
msgstr ""
-#: .././mainwin.py:30885
+#: .././mainwin.py:31286
msgid "Download and remove everything but this slice"
msgstr ""
-#: .././mainwin.py:30893
+#: .././mainwin.py:31294
msgid "Download video with all slices removed"
msgstr ""
-#: .././mainwin.py:30895
+#: .././mainwin.py:31296
msgid "Create video with all slices removed"
msgstr ""
-#: .././mainwin.py:31052
+#: .././mainwin.py:31453
msgid "Set removal time"
msgstr ""
-#: .././mainwin.py:31075
+#: .././mainwin.py:31476
msgid ""
"When videos are checked/downloaded, older videos\n"
"are removed from the Recent Videos folder."
msgstr ""
-#: .././mainwin.py:31086 .././config.py:17291
+#: .././mainwin.py:31487 .././config.py:17483
msgid "Empty the whole folder"
msgstr ""
-#: .././mainwin.py:31093 .././config.py:17300
+#: .././mainwin.py:31494 .././config.py:17492
msgid "Remove videos after days"
msgstr ""
-#: .././mainwin.py:31181
+#: .././mainwin.py:31582
msgid "Stale lockfile"
msgstr "오래된 잠금파일"
-#: .././mainwin.py:31218
+#: .././mainwin.py:31619
msgid ""
"Failed to load the Tartube database file, because another copy of Tartube "
"seems to be using it"
@@ -3723,11 +3770,11 @@ msgstr ""
"Tartube 데이터베이스 파일을 로드하지 못했습니다. Tartube의 다른 복사본이 이"
"를 사용하고 있는것 같습니다"
-#: .././mainwin.py:31225
+#: .././mainwin.py:31626
msgid "Do you want to load it anyway?"
msgstr "그래도 로드 하시겠습니까?"
-#: .././mainwin.py:31231
+#: .././mainwin.py:31632
msgid ""
"(Only click 'Yes' if you are sure that other copies of Tartube are not using "
"the database right now)"
@@ -3735,199 +3782,199 @@ msgstr ""
"(현재 다른 Tartube가 데이터베이스를 사용하지 않고 있다고 확신하는 경우에만 "
"'예'를 눌러주세요)"
-#: .././mainwin.py:31243
+#: .././mainwin.py:31644
msgid "Yes, load the file"
msgstr "네, 파일을 로드합니다"
-#: .././mainwin.py:31250
+#: .././mainwin.py:31651
msgid "No, just shut down Tartube"
msgstr "아니오, 그냥 Tartube를 종료합니다"
-#: .././mainwin.py:31252
+#: .././mainwin.py:31653
msgid "No, don't load the file"
msgstr "아니오, 파일을 로드하지 않습니다"
-#: .././mainwin.py:31338
+#: .././mainwin.py:31739
msgid "Rename channel"
msgstr "채널 이름 변경하기"
-#: .././mainwin.py:31340
+#: .././mainwin.py:31741
msgid "Rename playlist"
msgstr "플레이리스트 이름 변경하기"
-#: .././mainwin.py:31342
+#: .././mainwin.py:31743
msgid "Rename folder"
msgstr "폴더 이름 변경하기"
-#: .././mainwin.py:31366
+#: .././mainwin.py:31767
msgid "Set the new name for the channel:"
msgstr "이 채널의 새 이름 설정하기:"
-#: .././mainwin.py:31368
+#: .././mainwin.py:31769
msgid "Set the new name for the playlist:"
msgstr "이 플레이리스트의 새 이름 설정하기:"
-#: .././mainwin.py:31370
+#: .././mainwin.py:31771
msgid "Set the new name for the folder:"
msgstr "이 폴더의 새 이름 설정하기:"
-#: .././mainwin.py:31376
+#: .././mainwin.py:31777
msgid "N.B. This procedure will modify your filesystem!\n"
msgstr "주의. 이 작업은 파일시스템을 변경합니다!\n"
-#: .././mainwin.py:31446
+#: .././mainwin.py:31847
msgid "Reset channel/playlist names"
msgstr ""
-#: .././mainwin.py:31472
+#: .././mainwin.py:31873
msgid "This list is updated whenever channels/playlists are checked/downloaded"
msgstr ""
-#: .././mainwin.py:31480
+#: .././mainwin.py:31881
msgid "Select which names should be reset to the names on the original website"
msgstr ""
#. 'Reset' button
#. (Signal connect appears below)
-#: .././mainwin.py:31504 .././config.py:1091 .././config.py:5814
-#: .././config.py:5968 .././config.py:22753 .././config.py:23594
-#: .././config.py:23622 .././config.py:24236 .././config.py:24277
-#: .././config.py:24351
+#: .././mainwin.py:31905 .././config.py:1091 .././config.py:5839
+#: .././config.py:5993 .././config.py:23127 .././config.py:24087
+#: .././config.py:24115 .././config.py:24729 .././config.py:24770
+#: .././config.py:24837
msgid "Reset"
msgstr "초기화"
-#: .././mainwin.py:31520
+#: .././mainwin.py:31921
msgid "Database name"
msgstr ""
-#: .././mainwin.py:31528
+#: .././mainwin.py:31929
msgid "Original name"
msgstr ""
-#: .././mainwin.py:31738
+#: .././mainwin.py:32139
msgid "Add to scheduled download"
msgstr "예약된 다운로드에 추가"
-#: .././mainwin.py:31761
+#: .././mainwin.py:32162
msgid "Add the channel to this scheduled download:"
msgstr "이 채널을 예약된 다운로드에 추가:"
-#: .././mainwin.py:31763
+#: .././mainwin.py:32164
msgid "Add the playlist to this scheduled download:"
msgstr "이 플레이리스트를 예약된 다운로드에 추가:"
-#: .././mainwin.py:31765
+#: .././mainwin.py:32166
msgid "Add the folder to this scheduled download:"
msgstr "이 폴더를 예약된 다운로드에 추가:"
-#: .././mainwin.py:31861
+#: .././mainwin.py:32262
msgid "Set download destination"
msgstr "다운로드 목적지 설정"
-#: .././mainwin.py:31906
+#: .././mainwin.py:32307
msgid "This channel normally downloads videos into its own folder"
msgstr ""
-#: .././mainwin.py:31911
+#: .././mainwin.py:32312
msgid "This playlist normally downloads videos into its own folder"
msgstr ""
-#: .././mainwin.py:31916
+#: .././mainwin.py:32317
msgid "This folder normally downloads videos into itself"
msgstr ""
-#: .././mainwin.py:31921
+#: .././mainwin.py:32322
msgid "This channel normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31926
+#: .././mainwin.py:32327
msgid "This playlist normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31931
+#: .././mainwin.py:32332
msgid "This folder normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31941
+#: .././mainwin.py:32342
msgid "Use this location"
msgstr ""
-#: .././mainwin.py:31949
+#: .././mainwin.py:32350
msgid "Choose a different location if:"
msgstr ""
-#: .././mainwin.py:31952
+#: .././mainwin.py:32353
msgid ""
"You want to add a channel and its playlists, without downloading the same "
"video twice"
msgstr ""
-#: .././mainwin.py:31958
+#: .././mainwin.py:32359
msgid ""
"A video creator has channels on both YouTube and BitChute, and you want to "
"add both without downloading the same video twice"
msgstr ""
-#: .././mainwin.py:32058
+#: .././mainwin.py:32459
msgid ""
"Using an external folder is not recommended, in general. Choose an external "
"folder if:"
msgstr ""
-#: .././mainwin.py:32063
+#: .././mainwin.py:32464
msgid ""
"Using an external directory is not recommended, in general. Choose an "
"external directory if:"
msgstr ""
-#: .././mainwin.py:32069
+#: .././mainwin.py:32470
msgid ""
"You want a different application to process the downloaded videos (other "
"applications should not modify Tartube's main data folder)"
msgstr ""
-#: .././mainwin.py:32075
+#: .././mainwin.py:32476
msgid ""
"You want a different application to process the downloaded videos (other "
"applications should not modify Tartube's main data directory)"
msgstr ""
#. (Signal connect appears below)
-#: .././mainwin.py:32092 .././config.py:5564 .././config.py:5810
-#: .././config.py:5964 .././config.py:8044 .././config.py:8065
-#: .././config.py:8086 .././config.py:22749 .././config.py:24120
-#: .././config.py:24232 .././config.py:24273 .././config.py:24347
+#: .././mainwin.py:32493 .././config.py:5566 .././config.py:5835
+#: .././config.py:5989 .././config.py:8069 .././config.py:8090
+#: .././config.py:8111 .././config.py:23123 .././config.py:24613
+#: .././config.py:24725 .././config.py:24766 .././config.py:24833
msgid "Set"
msgstr "설정"
-#: .././mainwin.py:32173
+#: .././mainwin.py:32574
msgid "Select an external folder"
msgstr ""
-#: .././mainwin.py:32175
+#: .././mainwin.py:32576
msgid "Select an external directory"
msgstr ""
-#: .././mainwin.py:32195
+#: .././mainwin.py:32596
msgid "An external folder must not be inside Tartube's own data folder"
msgstr ""
-#: .././mainwin.py:32201
+#: .././mainwin.py:32602
msgid "An external directory must not be inside Tartube's own data directory"
msgstr ""
-#: .././mainwin.py:32391
+#: .././mainwin.py:32792
msgid "Set nickname"
msgstr "닉네임 설정"
-#: .././mainwin.py:32416
+#: .././mainwin.py:32817
#, python-brace-format
msgid ""
"Set a nickname for the channel '{0}' (or leave it blank to reset the "
"nickname)"
msgstr "채널 '{0}'의 닉네임 설정 (닉네임을 초기화 할려면 빈칸으로 설정)"
-#: .././mainwin.py:32421
+#: .././mainwin.py:32822
#, python-brace-format
msgid ""
"Set a nickname for the playlist '{0}' (or leave it blank to reset the "
@@ -3935,126 +3982,126 @@ msgid ""
msgstr ""
"플레이리스트 '{0}'의 닉네임 설정 (닉네임을 초기화 할려면 빈칸으로 설정)"
-#: .././mainwin.py:32426
+#: .././mainwin.py:32827
#, python-brace-format
msgid ""
"Set a nickname for the folder '{0}' (or leave it blank to reset the nickname)"
msgstr "폴더 '{0}'의 닉네임 설정 (닉네임을 초기화 할려면 빈칸으로 설정)"
-#: .././mainwin.py:32486
+#: .././mainwin.py:32887
msgid "Set URL"
msgstr "URL 설정"
-#: .././mainwin.py:32511
+#: .././mainwin.py:32912
#, python-brace-format
msgid "Update the URL for the channel '{0}'"
msgstr "채널의 URL을 '{0}'로 업데이트"
-#: .././mainwin.py:32515
+#: .././mainwin.py:32916
#, python-brace-format
msgid "Update the URL for the playlist '{0}'"
msgstr "플레이리스트의 URL을 '{0}'로 업데이트"
-#: .././mainwin.py:32576
+#: .././mainwin.py:32977
msgid "Show system command"
msgstr "시스템 커맨드 보이기"
-#: .././mainwin.py:32630
+#: .././mainwin.py:33031
msgid "Copy to clipboard"
msgstr "클립보드에 복사"
-#: .././mainwin.py:32792 .././config.py:23094
+#: .././mainwin.py:33193 .././config.py:23574
msgid "Test"
msgstr "테스트"
-#: .././mainwin.py:32812
+#: .././mainwin.py:33213
msgid "URL of the video to download (optional)"
msgstr "비디오의 URL 다운로드 (선택사항)"
-#: .././mainwin.py:32823
+#: .././mainwin.py:33224
msgid "Command line options (optional)"
msgstr "커맨드 라인 설정 (선택사항)"
-#: .././mainwin.py:32901
+#: .././mainwin.py:33302
msgid "Tidy up files"
msgstr "파일들 정리하기"
-#: .././mainwin.py:32903
+#: .././mainwin.py:33304
msgid "Tidy up channel"
msgstr "채널 정리하기"
-#: .././mainwin.py:32905
+#: .././mainwin.py:33306
msgid "Tidy up playlist"
msgstr "플레이리스트 정리하기"
-#: .././mainwin.py:32907
+#: .././mainwin.py:33308
msgid "Tidy up folder"
msgstr "폴더 정리하기"
-#: .././mainwin.py:32936
+#: .././mainwin.py:33337
msgid "Check that videos are not corrupted"
msgstr "손상되지 않은 비디오 확인"
-#: .././mainwin.py:32941
+#: .././mainwin.py:33342
msgid "Delete corrupted video files"
msgstr "잘못된 비디오 파일 삭제"
-#: .././mainwin.py:32951
+#: .././mainwin.py:33352
msgid "Check that videos do/don't exist"
msgstr "동영상이 존재하는지 확인"
-#: .././mainwin.py:32958
+#: .././mainwin.py:33359
msgid ""
"Delete downloaded video files (doesn't remove videos from Tartube's database)"
msgstr ""
"다운로드 받은 비디오 파일 삭제하기 (Tartube의 데이터베이스에선 삭제하지 않음)"
-#: .././mainwin.py:32970
+#: .././mainwin.py:33371
msgid "Also delete all video/audio files with the same name"
msgstr "같은 이름을 가진 모든 비디오/오디오 파일 삭제하기"
-#: .././mainwin.py:32978
+#: .././mainwin.py:33379
msgid "Remove no-URL videos from database"
msgstr ""
-#: .././mainwin.py:32982
+#: .././mainwin.py:33383
msgid "Remove duplicate videos from database"
msgstr ""
-#: .././mainwin.py:32987
+#: .././mainwin.py:33388
msgid "Delete all archive files"
msgstr "모든 아카이브 파일 삭제하기"
-#: .././mainwin.py:32991
+#: .././mainwin.py:33392
msgid "Move thumbnails into own folder"
msgstr "섬네일들을 지정 폴더로 옮기기"
-#: .././mainwin.py:32996
+#: .././mainwin.py:33397
msgid "Delete all thumbnail files"
msgstr "모든 섬네일 파일 삭제하기"
-#: .././mainwin.py:33002
+#: .././mainwin.py:33403
msgid "Convert .webp thumbnails to .jpg using FFmpeg"
msgstr ".FFmpeg를 이용해 webp 섬네일을 파일을 .jpg로 변환하기"
-#: .././mainwin.py:33011
+#: .././mainwin.py:33412
msgid "Move other metadata files into own folder"
msgstr "다른 메타데이터 파일들을 지정 폴더로 옮기기"
-#: .././mainwin.py:33019
+#: .././mainwin.py:33420
msgid "Delete all description files"
msgstr "모든 설명 파일 지우기"
-#: .././mainwin.py:33023
+#: .././mainwin.py:33424
msgid "Delete all metadata (JSON) files"
msgstr "모든 메타데이터 (JSON) 파일 지우기"
-#: .././mainwin.py:33027
+#: .././mainwin.py:33428
msgid "Delete all annotation files"
msgstr "모든 어노테이션 파일 지우기"
#. (Signal connect appears below)
-#: .././mainwin.py:33036
+#: .././mainwin.py:33437
msgid "Select none"
msgstr "없음 선택"
@@ -4062,7 +4109,7 @@ msgstr "없음 선택"
msgid "Uploads"
msgstr "업로드"
-#: .././config.py:439 .././config.py:14050
+#: .././config.py:439 .././config.py:14089
msgid "File size"
msgstr "파일 크기"
@@ -4114,7 +4161,7 @@ msgstr "주"
msgid "Days"
msgstr "일"
-#: .././config.py:540 .././config.py:17780
+#: .././config.py:540 .././config.py:17972
msgid "Hours"
msgstr "시간"
@@ -4155,7 +4202,7 @@ msgstr "적용"
msgid "Apply changes without closing the window"
msgstr "창을 닫지않고 변경사항 적용"
-#: .././config.py:1112 .././config.py:13148 .././config.py:13514
+#: .././config.py:1112 .././config.py:13187 .././config.py:13553
msgid "Apply changes"
msgstr "변경사항 적용"
@@ -4191,7 +4238,7 @@ msgstr "플레이리스트 URL"
msgid "Video URL"
msgstr "비디오 URL"
-#: .././config.py:2138 .././config.py:7148
+#: .././config.py:2138 .././config.py:7173
msgid "_Options"
msgstr "_설정"
@@ -4215,7 +4262,7 @@ msgstr "이 창 닫기"
msgid "Custom download settings"
msgstr ""
-#: .././config.py:3005 .././config.py:4570 .././config.py:10247
+#: .././config.py:3005 .././config.py:4570 .././config.py:10286
msgid "_Name"
msgstr "_이름"
@@ -4270,7 +4317,8 @@ msgstr ""
msgid "Completely reset all settings to their default values"
msgstr ""
-#: .././config.py:3163
+#. Add this tab...
+#: .././config.py:3163 .././config.py:7151
msgid "_Subtitles"
msgstr ""
@@ -4300,15 +4348,15 @@ msgid ""
"any subtitles):"
msgstr ""
-#: .././config.py:3226 .././config.py:7222
+#: .././config.py:3226 .././config.py:7247
msgid "Add language"
msgstr "언어 추가"
-#: .././config.py:3238 .././config.py:7240
+#: .././config.py:3238 .././config.py:7265
msgid "Remove language"
msgstr "언어 제거"
-#: .././config.py:3276 .././config.py:11607 .././config.py:23208
+#: .././config.py:3276 .././config.py:11646
msgid "_Clips"
msgstr ""
@@ -4332,7 +4380,7 @@ msgstr ""
msgid "Remove slices from the video using SponsorBlock data (requires FFmpeg)"
msgstr ""
-#: .././config.py:3341 .././config.py:17817 .././config.py:18125
+#: .././config.py:3341 .././config.py:18009 .././config.py:18317
msgid "Remove"
msgstr "제거"
@@ -4372,8 +4420,8 @@ msgstr "적용할 최대 딜레이 (분)"
msgid "Minimum delay to apply (in minutes; randomises the actual delay)"
msgstr "적용할 최소 딜레이 (분; 실제 딜레이는 랜덤화됨)"
-#: .././config.py:3501
-msgid "Mirrors"
+#: .././config.py:3501 .././config.py:24061
+msgid "_Mirrors"
msgstr ""
#: .././config.py:3506
@@ -4396,12 +4444,12 @@ msgstr ""
msgid "Obtain the video from this YouTube front-end:"
msgstr ""
-#: .././config.py:3556 .././config.py:23600
+#: .././config.py:3556 .././config.py:24093
msgid "Type the exact text that replaces youtube.com e.g."
msgstr "youtube.com을 대체하는 정확한 텍스트를 입력하세요."
-#: .././config.py:3579 .././config.py:22848
-msgid "Li_vestreams"
+#: .././config.py:3579
+msgid "L_ivestreams"
msgstr ""
#: .././config.py:3583
@@ -4424,8 +4472,8 @@ msgstr ""
msgid "Only download finished livestreams"
msgstr ""
-#: .././config.py:3678 .././config.py:4060 .././config.py:8476
-#: .././config.py:9286 .././config.py:12658 .././config.py:13054
+#: .././config.py:3678 .././config.py:4060 .././config.py:8501
+#: .././config.py:9325 .././config.py:12697 .././config.py:13093
msgid "This procedure cannot be reversed. Are you sure you want to continue?"
msgstr "이 작업은 되돌릴 수 없습니다. 계속하시겠습니까?"
@@ -4491,7 +4539,7 @@ msgid "Completely reset all download options to their default values"
msgstr "모든 다운로드 설정을 완전히 기본값으로 초기화하기"
#. Add this tab...
-#: .././config.py:4769 .././config.py:4780 .././config.py:22169
+#: .././config.py:4769 .././config.py:4780 .././config.py:22487
msgid "_Downloads"
msgstr "_다운로드"
@@ -4542,7 +4590,7 @@ msgstr ""
msgid "_Playlists"
msgstr "_플레이 리스트"
-#: .././config.py:4970 .././config.py:18176 .././config.py:21851
+#: .././config.py:4970 .././config.py:18368 .././config.py:22169
msgid "_Limits"
msgstr ""
@@ -4596,7 +4644,7 @@ msgid "E_xternal"
msgstr ""
#. Add this tab...
-#: .././config.py:5141 .././config.py:19183
+#: .././config.py:5141 .././config.py:19386
msgid "_Files"
msgstr "_파일"
@@ -4620,11 +4668,11 @@ msgstr "파일 출력 템플릿"
msgid "Add to template:"
msgstr "템플릿 추가:"
-#: .././config.py:5234 .././config.py:13735
+#: .././config.py:5234 .././config.py:13774
msgid "Video properties"
msgstr "비디오 속성"
-#: .././config.py:5236 .././config.py:14020
+#: .././config.py:5236 .././config.py:14059
msgid "Video ID"
msgstr "비디오 ID"
@@ -4652,191 +4700,191 @@ msgstr "비디오 라이센스"
msgid "Age restriction (years)"
msgstr "나이 제한 (연도)"
-#: .././config.py:5244
-msgid "Is a livestream"
-msgstr "생방송 여부"
-
#: .././config.py:5245
-msgid "Autonumber videos, starting at 0"
-msgstr "자동 번호 비디오 (0부터 시작함)"
+msgid "Autonumber videos"
+msgstr ""
#: .././config.py:5247
+msgid "Autonumber videos (playlists)"
+msgstr ""
+
+#: .././config.py:5249
msgid "Creator/uploader"
msgstr "제작자/업로더"
-#: .././config.py:5249
+#: .././config.py:5251
msgid "Full name of video uploader"
msgstr "비디오 업로더의 실제 이름"
-#: .././config.py:5250
+#: .././config.py:5252
msgid "Uploader ID"
msgstr ""
-#: .././config.py:5251
+#: .././config.py:5253
msgid "Nickname/ID of video uploader"
msgstr "비디오 업로더의 닉네임/ID"
-#: .././config.py:5252
+#: .././config.py:5254
msgid "Channel name"
msgstr "채널 이름"
-#: .././config.py:5253
+#: .././config.py:5255
msgid "Channel ID"
msgstr "채널 ID"
-#: .././config.py:5254
+#: .././config.py:5256
msgid "Playlist name"
msgstr "플레이리스트 이름"
-#: .././config.py:5255 .././config.py:16317
+#: .././config.py:5257 .././config.py:16357
msgid "Playlist ID"
msgstr "플레이리스트 ID"
-#: .././config.py:5256
+#: .././config.py:5258
msgid "Video index in playlist"
msgstr "플레이리스트에서 비디오 위치"
-#: .././config.py:5258
+#: .././config.py:5260
msgid "Date/time/location"
msgstr "날짜/시간/위치"
-#: .././config.py:5260
+#: .././config.py:5262
msgid "Release date (YYYYMMDD)"
msgstr "릴리즈 날짜 (YYYYMMDD)"
-#: .././config.py:5261
+#: .././config.py:5263
msgid "Release time (UNIX timestamp)"
msgstr "릴리즈 날짜 (UNIX 타임스탬프)"
-#: .././config.py:5262
+#: .././config.py:5264
msgid "Upload data (YYYYMMDD)"
msgstr "업로드 날짜 (YYYYMMDD)"
-#: .././config.py:5263
+#: .././config.py:5265
msgid "Video length (seconds)"
msgstr "비디오 길이 (초)"
-#: .././config.py:5264
+#: .././config.py:5266
msgid "Filming location"
msgstr "촬영 위치"
-#: .././config.py:5266 .././config.py:5268
+#: .././config.py:5268 .././config.py:5270
msgid "Video format"
msgstr "비디오 포맷"
-#: .././config.py:5269
+#: .././config.py:5271
msgid "Video format code"
msgstr "비디오 포맷 코드"
-#: .././config.py:5270
+#: .././config.py:5272
msgid "Video width"
msgstr "비디오 폭"
-#: .././config.py:5271
+#: .././config.py:5273
msgid "Video height"
msgstr "비디오 높이"
-#: .././config.py:5273
+#: .././config.py:5275
msgid "Video frame rate"
msgstr "비디오 프레임 레이트"
-#: .././config.py:5274
+#: .././config.py:5276
msgid "Average video/audio bitrate (KiB/s)"
msgstr "평균 비디오/오디오 비트레이트 (KiB/s)"
-#: .././config.py:5275
+#: .././config.py:5277
msgid "Average video bitrate (KiB/s)"
msgstr "평균 비디오 비트레이트 (KiB/s)"
-#: .././config.py:5276
+#: .././config.py:5278
msgid "Average audio bitrate (KiB/s)"
msgstr "평균 오디오 비트레이트 (KiB/s)"
-#: .././config.py:5278
+#: .././config.py:5280
msgid "Ratings/comments"
msgstr "평점/댓글"
-#: .././config.py:5280
+#: .././config.py:5282
msgid "Number of views"
msgstr "조회수"
-#: .././config.py:5281
+#: .././config.py:5283
msgid "Number of positive ratings"
msgstr "좋아요 수"
-#: .././config.py:5282
+#: .././config.py:5284
msgid "Number of negative ratings"
msgstr "싫어요 수"
-#: .././config.py:5283
+#: .././config.py:5285
msgid "Average rating"
msgstr "평균 평점"
-#: .././config.py:5284
+#: .././config.py:5286
msgid "Number of reposts"
msgstr "신고 개수"
-#: .././config.py:5285
+#: .././config.py:5287
msgid "Number of comments"
msgstr "댓글 개수"
-#: .././config.py:5321 .././config.py:5430 .././config.py:5573
-#: .././config.py:17811 .././config.py:18115 .././config.py:21549
-#: .././config.py:22518 .././config.py:24476 .././config.py:24754
+#: .././config.py:5323 .././config.py:5432 .././config.py:5575
+#: .././config.py:18003 .././config.py:18307 .././config.py:21867
+#: .././config.py:22892 .././config.py:24971 .././config.py:25249
msgid "Add"
msgstr "추가"
-#: .././config.py:5354
+#: .././config.py:5356
msgid "_Override"
msgstr ""
-#: .././config.py:5361
+#: .././config.py:5363
msgid "List of output filename templates"
msgstr ""
-#: .././config.py:5368
+#: .././config.py:5370
msgid "Overrides the output template in the 'File names' tab"
msgstr ""
-#: .././config.py:5387
+#: .././config.py:5389
msgid "Template"
msgstr ""
-#: .././config.py:5406 .././config.py:5537
+#: .././config.py:5408 .././config.py:5539
msgid "Output type"
msgstr ""
-#: .././config.py:5419
+#: .././config.py:5421
msgid "Output template"
msgstr ""
-#: .././config.py:5441 .././config.py:5584 .././config.py:21585
-#: .././config.py:22576 .././config.py:24534 .././config.py:24812
+#: .././config.py:5443 .././config.py:5586 .././config.py:21903
+#: .././config.py:22950 .././config.py:25029 .././config.py:25307
msgid "Delete"
msgstr "삭제"
-#: .././config.py:5450 .././config.py:5593 .././config.py:20135
-#: .././config.py:22592 .././config.py:24550 .././config.py:24828
+#: .././config.py:5452 .././config.py:5595 .././config.py:20445
+#: .././config.py:22966 .././config.py:25045 .././config.py:25323
msgid "Refresh list"
msgstr "리스트 새로고침"
-#: .././config.py:5493
+#: .././config.py:5495
msgid "_Paths"
msgstr ""
-#: .././config.py:5500
+#: .././config.py:5502
msgid "List of output paths"
msgstr ""
-#: .././config.py:5518
+#: .././config.py:5520
msgid "Path"
msgstr ""
-#: .././config.py:5552
+#: .././config.py:5554
msgid "Output path"
msgstr ""
-#: .././config.py:5636
+#: .././config.py:5638
msgid "_Filesystem"
msgstr "_파일 시스템"
@@ -4848,11 +4896,11 @@ msgstr "파일 시스템 설정"
msgid "Restrict filenames to ASCII characters"
msgstr "파일 이름을 ASCII 문자로 제한"
-#: .././config.py:5657
+#: .././config.py:5659
msgid "Use the server's file modification time"
msgstr "서버의 파일 수정 시간을 사용"
-#: .././config.py:5664
+#: .././config.py:5666
msgid "Download all videos into this folder"
msgstr "모든 비디오를 이 폴더에 다운로드 하기"
@@ -4865,788 +4913,795 @@ msgid "Limit filename length (excluding extension) to this many characters"
msgstr ""
#: .././config.py:5755
+msgid "WARNING: The filename length includes the length of the folder name!"
+msgstr ""
+
+#: .././config.py:5760
+msgid "WARNING: The filename length includes the length of the directory nam!e"
+msgstr ""
+
+#: .././config.py:5772
+msgid "Do not overwrite any files"
+msgstr ""
+
+#: .././config.py:5780
msgid "Overwrite all video and metadata files (includes '--no-continue')"
msgstr ""
-#: .././config.py:5764
+#: .././config.py:5789
msgid "Write playlist metadata in addition to video metadata"
msgstr ""
-#: .././config.py:5772
+#: .././config.py:5797
msgid "Write all fields, including private fields, to the .info.json file"
msgstr ""
-#: .././config.py:5794
+#: .././config.py:5819
msgid "_Cookies"
msgstr "_쿠키"
-#: .././config.py:5801
+#: .././config.py:5826
msgid "Cookies options"
msgstr "쿠키 설정"
-#: .././config.py:5806
+#: .././config.py:5831
msgid "Path to the downloader's cookie jar file"
msgstr "다운로더의 Cookie jar 파일 경로"
-#: .././config.py:5861
+#: .././config.py:5886
msgid "Cookie options"
msgstr ""
-#: .././config.py:5866
+#: .././config.py:5891
msgid "Do not read/dump cookies from/to the cookiejar file"
msgstr ""
-#: .././config.py:5873
+#: .././config.py:5898
msgid "Do not load cookies from browser"
msgstr ""
-#: .././config.py:5884
+#: .././config.py:5909
msgid "Retrieve cookies from browser"
msgstr ""
-#: .././config.py:5902
+#: .././config.py:5927
msgid "Browser"
msgstr ""
-#: .././config.py:5920
+#: .././config.py:5945
msgid "Chromium keyring"
msgstr ""
-#: .././config.py:5939
+#: .././config.py:5964
msgid "Browser profile name (optional)"
msgstr ""
-#: .././config.py:5952
+#: .././config.py:5977
msgid "Browser profile path (optional)"
msgstr ""
-#: .././config.py:6144
+#: .././config.py:6169
msgid "_Shortcuts"
msgstr ""
-#: .././config.py:6150
+#: .././config.py:6175
msgid "Internet shortcut options"
msgstr ""
-#: .././config.py:6156
+#: .././config.py:6181
msgid "Write an internet shortcut file (.url, .webloc or .desktop)"
msgstr ""
-#: .././config.py:6163
+#: .././config.py:6188
msgid "Write a Windows internet shortcut file (.url)"
msgstr ""
-#: .././config.py:6170
+#: .././config.py:6195
msgid "Write a macOS inernet shortcut file (.webloc)"
msgstr ""
-#: .././config.py:6177
+#: .././config.py:6202
msgid "Write a Linux internet shortcut file (.desktop)"
msgstr ""
-#: .././config.py:6197
+#: .././config.py:6222
msgid "_Write/move"
msgstr ""
-#: .././config.py:6204
+#: .././config.py:6229
msgid "File write options"
msgstr "파일 쓰기 설정"
-#: .././config.py:6209
+#: .././config.py:6234
msgid "Write video's description to a .description file"
msgstr "비디오의 설명을 .description 파일에 쓰기"
-#: .././config.py:6216
+#: .././config.py:6241
msgid "Write video's metadata to an .info.json file"
msgstr "비디오의 메타데이터를 .info.json 파일에 쓰기"
-#: .././config.py:6224
+#: .././config.py:6249
msgid "Write video's annotations to an .annotations.xml file"
msgstr "비디오의 어노테이션을 .annotations.xml 파일에 쓰기"
-#: .././config.py:6233
+#: .././config.py:6258
msgid ""
"Annotations are not downloaded when checking videos/channels/playlists/"
"folders"
msgstr ""
"어노테이션은 비디오/채널/플레이리스트/폴더를 체크할 때 다운로드 받지 않습니다"
-#: .././config.py:6240
+#: .././config.py:6265
msgid "Write the video's thumbnail to the same folder"
msgstr "비디오의 섬네일을 같은 폴더에 쓰기"
-#: .././config.py:6248
+#: .././config.py:6273
msgid "File move options"
msgstr "파일 옮기기 설정"
-#: .././config.py:6253
+#: .././config.py:6278
msgid "Move video's description file into a sub-folder"
msgstr "비디오의 설명을 서브폴더에 옮기기"
-#: .././config.py:6259
+#: .././config.py:6284
msgid "Write video's metadata file into a sub-folder"
msgstr "비디오의 메타데이터를 서브폴더에 쓰기"
-#: .././config.py:6265
+#: .././config.py:6290
msgid "Write video's annotations file into a sub-folder"
msgstr "비디오의 어노테이션을 서브폴더에 쓰기"
-#: .././config.py:6271
+#: .././config.py:6296
msgid "Write the video's thumbnail into a sub-folder"
msgstr "비디오의 섬네일을 서브폴더에 쓰기"
-#: .././config.py:6290
+#: .././config.py:6315
msgid "_Keep"
msgstr ""
-#: .././config.py:6296
+#: .././config.py:6321
msgid "Options during real (not simulated) downloads"
msgstr "(시뮬레이션이 아닌) 실제 다운로드 설정"
-#: .././config.py:6302 .././config.py:6333
+#: .././config.py:6327 .././config.py:6358
msgid "Keep the description file after the download has finished"
msgstr ""
-#: .././config.py:6308 .././config.py:6339
+#: .././config.py:6333 .././config.py:6364
msgid "Keep the metadata file after the download has finished"
msgstr ""
-#: .././config.py:6314 .././config.py:6345
+#: .././config.py:6339 .././config.py:6370
msgid "Keep the annotations file after the download has finished"
msgstr ""
-#: .././config.py:6320 .././config.py:6351
+#: .././config.py:6345 .././config.py:6376
msgid "Keep the thumbnail file after the download has finished"
msgstr ""
-#: .././config.py:6327
+#: .././config.py:6352
msgid "Options during simulated (not real) downloads"
msgstr "(실제가 아닌) 시뮬레이션 다운로드 설정"
#. Add this tab...
-#: .././config.py:6365
+#: .././config.py:6390
msgid "F_ormats"
msgstr "_포맷"
-#: .././config.py:6402
+#: .././config.py:6427
msgid "Preferred format options"
msgstr "선호하는 포맷 설정"
-#: .././config.py:6449
+#: .././config.py:6474
msgid "If you want a specific format, install FFmpeg and use the Convert tab!"
msgstr ""
-#: .././config.py:6456
+#: .././config.py:6481
msgid "Recognised video/audio formats"
msgstr "인식된 비디오/오디오 포맷"
-#: .././config.py:6471
+#: .././config.py:6496
msgid "Add format"
msgstr "포맷 추가하기"
-#: .././config.py:6484
+#: .././config.py:6509
msgid "Type extractor code directly"
msgstr ""
-#: .././config.py:6489
+#: .././config.py:6514
msgid "List of preferred formats"
msgstr "선호하는 포맷 리스트"
-#: .././config.py:6502
+#: .././config.py:6527
msgid "Remove format"
msgstr "포맷 삭제하기"
-#: .././config.py:6569
+#: .././config.py:6594
msgid "If a merge is required after post-processing, output to this format:"
msgstr "후처리 뒤에 병합이 필요한 경우, 다음과 같은 포맷으로 출력:"
-#: .././config.py:6602
+#: .././config.py:6627
msgid "_Preferred"
msgstr "_선호"
#. Add this tab...
-#: .././config.py:6622 .././config.py:7361
+#: .././config.py:6647 .././config.py:7386
msgid "_Advanced"
msgstr "_고급"
-#: .././config.py:6630
+#: .././config.py:6655
msgid "Multiple format options"
msgstr "다중 포맷 설정"
-#: .././config.py:6639
+#: .././config.py:6664
msgid ""
"Multiple formats will not be downloaded, because an archive file will be "
"created"
msgstr "아카이브 파일이 생성되므로 다중 포맷은 다운로드 되지 않습니다"
-#: .././config.py:6642
+#: .././config.py:6667
msgid "The archive file can be disabled in the System Preferences window"
msgstr "시스템 환경 설정 창에서 아카이브 파일을 비활성화 할 수 있습니다"
-#: .././config.py:6651
+#: .././config.py:6676
msgid ""
"For each video, download the first available format from the preferred list"
msgstr ""
"각 비디오에 대해 선호 목록에서 사용 가능한 첫번째 포맷을 다운로드합니다"
-#: .././config.py:6665
+#: .././config.py:6690
msgid ""
"From the preferred list, download the first format that's available for all "
"videos"
msgstr ""
"선호 목록에서 모든 동영상에 사용할 수 있는 첫번째 포맷을 다운로드합니다"
-#: .././config.py:6679
+#: .././config.py:6704
msgid "For each video, download all available formats from the preferred list"
msgstr "각 비디오에 대해 선호 목록에서 모든 가능한 포맷을 다운로드합니다"
-#: .././config.py:6692
+#: .././config.py:6717
msgid "Download all available formats for all videos"
msgstr "모든 비디오에서 가능한 모든 포맷을 다운로드합니다"
-#: .././config.py:6725 .././config.py:6745
+#: .././config.py:6750 .././config.py:6770
msgid "Other format options"
msgstr "다른 포맷 옵션"
-#: .././config.py:6730
+#: .././config.py:6755
msgid "Prefer free video formats, unless one is specified above"
msgstr "위에서 지정하지 않은 경우 무료 비디오 포맷 선호"
-#: .././config.py:6737
+#: .././config.py:6762
msgid "Do not download DASH-related data for YouTube videos"
msgstr "유튜브 비디오의 DASH 관련 데이터 다운로드 안함"
-#: .././config.py:6752
+#: .././config.py:6777
msgid "Check formats selected are actually downloadable (Experimental)"
msgstr ""
-#: .././config.py:6762
+#: .././config.py:6787
msgid ""
"Allow unplayable formats to be listed and downloaded (also disables post-"
"processing)"
msgstr ""
-#: .././config.py:6778
+#: .././config.py:6803
msgid "_Convert"
msgstr ""
-#: .././config.py:6783
+#: .././config.py:6808
msgid "Convert to video"
msgstr ""
-#: .././config.py:6788
+#: .././config.py:6813
msgid "Convert downloaded video to another format"
msgstr ""
-#: .././config.py:6802
+#: .././config.py:6827
msgid "Convert to audio"
msgstr ""
-#: .././config.py:6808
+#: .././config.py:6833
msgid ""
"Download each video, extract the sound, and then discard the original video"
msgstr ""
-#: .././config.py:6813
+#: .././config.py:6838
msgid "(requires that FFmpeg or AVConv is installed on your system)"
msgstr "(FFmpeg나 AVConv가 컴퓨터에 깔려있어야 함)"
-#: .././config.py:6824
+#: .././config.py:6849
msgid "Use this audio format:"
msgstr "오디오 포맷 설정:"
-#: .././config.py:6840
+#: .././config.py:6865
msgid "Use this audio quality:"
msgstr "오디오 음질 설정:"
-#: .././config.py:6846 .././config.py:6945
+#: .././config.py:6871 .././config.py:6970
msgid "High"
msgstr "고음질"
-#: .././config.py:6848 .././config.py:6947
+#: .././config.py:6873 .././config.py:6972
msgid "Low"
msgstr "저음질"
#. Add this tab...
-#: .././config.py:6868
+#: .././config.py:6893
msgid "_Post-processing"
msgstr "_후처리"
#. Add this tab...
-#: .././config.py:6886 .././config.py:13892 .././config.py:16157
-#: .././config.py:16978 .././config.py:17599 .././config.py:18980
+#: .././config.py:6911 .././config.py:13931 .././config.py:16197
+#: .././config.py:17170 .././config.py:17791 .././config.py:19183
msgid "_General"
msgstr "_일반"
-#: .././config.py:6894 .././config.py:7054 .././config.py:7329
+#: .././config.py:6919 .././config.py:7079 .././config.py:7354
msgid "Post-processing options"
msgstr "후처리 설정"
-#: .././config.py:6900
+#: .././config.py:6925
msgid "Post-process video files to convert them to audio-only files"
msgstr "비디오 파일들을 후처리 후 오디오 파일로 변환"
-#: .././config.py:6908
+#: .././config.py:6933
msgid "Prefer AVConv over FFmpeg"
msgstr "FFmpeg보다 AVConv 선호"
-#: .././config.py:6917
+#: .././config.py:6942
msgid "Prefer FFmpeg over AVConv (default)"
msgstr "FFmpeg보다 AVConv 선호 (기본값)"
-#: .././config.py:6926
+#: .././config.py:6951
msgid "Audio format of the post-processed file"
msgstr "후처리된 파일의 오디오 포맷"
-#: .././config.py:6940
+#: .././config.py:6965
msgid "Audio quality of the post-processed file"
msgstr "후처리된 파일의 오디오 음질"
-#: .././config.py:6958
+#: .././config.py:6983
msgid "Encode video to another format, if necessary"
msgstr "필요한 경우 다른 포맷으로 비디오 인코딩"
-#: .././config.py:6971
+#: .././config.py:6996
msgid "Arguments to pass to post-processor"
msgstr "후처리기에 전달할 인자"
-#: .././config.py:6982
+#: .././config.py:7007
msgid "Keep original file after processing it"
msgstr "처리 후 원본 파일 갖고 있기"
-#: .././config.py:6990
+#: .././config.py:7015
msgid "Merge subtitles file with video (.mp4 only)"
msgstr "자막을 비디오와 합치기 (.mp4만 가능)"
-#: .././config.py:7002
+#: .././config.py:7027
msgid "Embed thumbnail in audio file as cover art"
msgstr "섬네일을 오디오 파일의 표지 아트로 설정"
-#: .././config.py:7009
+#: .././config.py:7034
msgid "Write metadata to the video file"
msgstr "비디오 파일에 메타데이터 작성하기"
-#: .././config.py:7016
+#: .././config.py:7041
msgid "Automatically correct known faults of the file"
msgstr "자동으로 파일의 결함 수정"
-#: .././config.py:7022
+#: .././config.py:7047
msgid "Do nothing"
msgstr "아무것도 하지 않음"
-#: .././config.py:7023
+#: .././config.py:7048
msgid "Warn, but do nothing"
msgstr "경고, 하지만 아무것도 하지 않음"
-#: .././config.py:7024
+#: .././config.py:7049
msgid "Fix if possible, otherwise warn"
msgstr "가능하면 수리, 아닌 경우 경고"
-#: .././config.py:7047
+#: .././config.py:7072
msgid "_yt-dlp"
msgstr ""
-#: .././config.py:7059
+#: .././config.py:7084
msgid "Remux video into another container if necessary"
msgstr ""
-#: .././config.py:7078
+#: .././config.py:7103
msgid "Embed metadata including chapter markers (if supported by format)"
msgstr ""
-#: .././config.py:7087
+#: .././config.py:7112
msgid "Convert thumbnails to another format"
msgstr ""
-#: .././config.py:7102
+#: .././config.py:7127
msgid "Split video into multiple files based on internal chapters"
msgstr ""
-#: .././config.py:7111
+#: .././config.py:7136
msgid "N.B. The 'chapter' prefix can be used in the 'Output' and 'Paths' tabs"
msgstr ""
-#. Add this tab...
-#: .././config.py:7126
-msgid "S_ubtitles"
-msgstr "_자막"
-
-#: .././config.py:7152
+#: .././config.py:7177
msgid "Subtitles options"
msgstr "자막 설정"
-#: .././config.py:7158
+#: .././config.py:7183
msgid "Don't download the subtitles file"
msgstr "자막 파일 다운로드받지 않기"
-#: .././config.py:7169
+#: .././config.py:7194
msgid "Download the automatic subtitles file (YouTube only)"
msgstr "자동으로 만들어진 자막 파일 다운로드 (유튜브만 가능)"
-#: .././config.py:7182
-msgid "Download all available subtitles files"
-msgstr "만들어진 모든 자막파일 다운로드"
+#: .././config.py:7207
+msgid "Download all available subtitle files"
+msgstr ""
-#: .././config.py:7195
-msgid "Download subtitles file for these languages:"
-msgstr "이 언어들의 자막파일 다운로드:"
+#: .././config.py:7220
+msgid "Download subtitle file for these languages:"
+msgstr ""
-#: .././config.py:7303
+#: .././config.py:7328
msgid "_More options"
msgstr "_추가 설정"
-#: .././config.py:7309
+#: .././config.py:7334
msgid "Subtitle format options"
msgstr "자막 포맷 설정"
-#: .././config.py:7315
+#: .././config.py:7340
msgid "Preferred subtitle format(s), e.g. 'srt', 'vtt', 'srt/ass/vtt/lrc/best'"
msgstr "선호하는 자막 포맷들, 예. 'srt', 'vtt', 'srt/ass/vtt/lrc/best'"
-#: .././config.py:7334
+#: .././config.py:7359
msgid "Applies to .mp4 videos only; requires FFmpeg/AVConv"
msgstr ".mp4 비디오에만 적용하기; FFmpeg/AVConv 필요"
-#: .././config.py:7341
+#: .././config.py:7366
msgid "During post-processing, merge subtitles file with video"
msgstr "후처리 도중, 자막을 비디오에 합치기"
-#: .././config.py:7388
+#: .././config.py:7413
msgid "_Configurations"
msgstr ""
-#: .././config.py:7395
+#: .././config.py:7420
msgid "Configuration file options"
msgstr ""
-#: .././config.py:7400
+#: .././config.py:7425
msgid "Use the downloader's configuration file"
msgstr ""
-#: .././config.py:7411 .././config.py:7597
+#: .././config.py:7436 .././config.py:7622
msgid "File loaded from:"
msgstr ""
-#: .././config.py:7422 .././config.py:7608
+#: .././config.py:7447 .././config.py:7633
msgid "Save file"
msgstr ""
-#: .././config.py:7468
+#: .././config.py:7493
msgid "_Authentication"
msgstr "_인증"
-#: .././config.py:7475
+#: .././config.py:7500
msgid "Authentication options"
msgstr "_인증 설정"
-#: .././config.py:7480
+#: .././config.py:7505
msgid "Username with which to log in"
msgstr "로그인할 사용자 이름"
-#: .././config.py:7491
+#: .././config.py:7516
msgid "Password with which to log in"
msgstr "로그인할 사용자 비밀번호"
-#: .././config.py:7502
+#: .././config.py:7527
msgid "Password required for this URL"
msgstr "이 URL에선 비밀번호 필요"
-#: .././config.py:7513
+#: .././config.py:7538
msgid "Two-factor authentication code"
msgstr "이중인증 코드"
-#: .././config.py:7525
+#: .././config.py:7550
msgid "Adobe Pass multiple-system operator (TV provider) identifier"
msgstr ""
-#: .././config.py:7538
+#: .././config.py:7563
msgid " Adobe Pass multiple-system operator account login"
msgstr ""
-#: .././config.py:7549
+#: .././config.py:7574
msgid "Adobe Pass multiple-system operator account password"
msgstr ""
-#: .././config.py:7573
+#: .././config.py:7598
msgid "._netrc"
msgstr ""
-#: .././config.py:7580
+#: .././config.py:7605
msgid ".netrc options"
msgstr ""
-#: .././config.py:7585
+#: .././config.py:7610
msgid "Use .netrc authentication data"
msgstr ".netrc 인증 데이터 사용하기"
-#: .././config.py:7657
+#: .././config.py:7682
msgid "N_etwork"
msgstr ""
-#: .././config.py:7662
+#: .././config.py:7687
msgid "Network options"
msgstr "네트워크 설정"
-#: .././config.py:7668
+#: .././config.py:7693
msgid ""
"Use this HTTP/HTTPS proxy (if set, overrides the proxies in Tartube's "
"preferences window"
msgstr ""
"HTTP/HTTPS 프록시 사용하기 (설정하면, Tartube 환경설정 창의 프록시가 무시됨)"
-#: .././config.py:7681
+#: .././config.py:7706
msgid "Time to wait for socket connection, before giving up"
msgstr "소켓 연결 대기 시간"
-#: .././config.py:7692
+#: .././config.py:7717
msgid "Bind with this Client-side IP address"
msgstr "이 클라이언트 사이트 IP로 바인딩"
-#: .././config.py:7703
+#: .././config.py:7728
msgid "Connect using IPv4 only"
msgstr "IPv4로만 연결"
-#: .././config.py:7710
+#: .././config.py:7735
msgid "Connect using IPv6 only"
msgstr "IPv6으로만 연결"
-#: .././config.py:7730
+#: .././config.py:7755
msgid "_Geo-restriction"
msgstr "_국가제한"
-#: .././config.py:7737
+#: .././config.py:7762
msgid "Geo-restriction options"
msgstr "_국가제한 설정"
-#: .././config.py:7742
+#: .././config.py:7767
msgid "Use this proxy to verify IP address"
msgstr "이 프록시를 이용해 우회하기"
-#: .././config.py:7753
+#: .././config.py:7778
msgid "Bypass using fake X-Forwarded-For HTTP header"
msgstr "가짜 X-Forwarded-For HTTP 헤더 이용해 우회하기"
-#: .././config.py:7760
+#: .././config.py:7785
msgid "Don't bypass using fake HTTP header"
msgstr "가짜 HTTP 헤더 이용해 우회하지 않기"
-#: .././config.py:7767
+#: .././config.py:7792
msgid "Bypass geo-restriction with ISO 3166-2 country code"
msgstr "ISO 3166-2 지역 코드 이용해 국가제한 우회하기"
-#: .././config.py:7778
+#: .././config.py:7803
msgid "Bypass with explicit IP block in CIDR notation"
msgstr "CIDR 표기법에서 명시적 IP 블록을 이용해 우회하기"
-#: .././config.py:7806 .././config.py:7896
+#: .././config.py:7831 .././config.py:7921
msgid "Workaround options"
msgstr "해결방법 설정"
-#: .././config.py:7811
+#: .././config.py:7836
msgid "Custom user agent"
msgstr "커스텀 사용자 에이전트"
-#: .././config.py:7822
+#: .././config.py:7847
msgid "Custom referer if video access has restricted domain"
msgstr "비디오 액세스에 제한된 도메인이 있는 경우 커스텀 참조자"
-#: .././config.py:7833
+#: .././config.py:7858
msgid "Minimum seconds to sleep before each download"
msgstr "다운로드 시 최소 대기 시간(초)"
-#: .././config.py:7846
+#: .././config.py:7871
msgid "Maximum seconds to sleep before each download"
msgstr "다운로드 시 최대 대기 시간(초)"
-#: .././config.py:7867
+#: .././config.py:7892
msgid "Force this encoding (experimental)"
msgstr "인코딩 강제하기 (실험적)"
-#: .././config.py:7878
+#: .././config.py:7903
msgid "Suppress HTTPS certificate validation"
msgstr "HTTPS 인증서 유효성 검사 억제"
-#: .././config.py:7886
+#: .././config.py:7911
msgid ""
"Use an unencrypted connection to retrieve information about videos (YouTube "
"only)"
msgstr "암호화되지 않은 연결을 사용해 비디오 정보 검색 (유튜브만)"
-#: .././config.py:7902
+#: .././config.py:7927
msgid "Number of seconds to sleep between requests during data extraction"
msgstr ""
-#: .././config.py:7917
+#: .././config.py:7942
msgid "Number of seconds to sleep before each download (or minimum time)"
msgstr ""
-#: .././config.py:8003
+#: .././config.py:8028
msgid "Video age options"
msgstr ""
-#: .././config.py:8008
+#: .././config.py:8033
msgid "Download videos suitable for this age"
msgstr "이 연령대에 적합한 비디오 다운로드"
-#: .././config.py:8029
+#: .././config.py:8054
msgid "Video date options"
msgstr "비디오 날짜 설정"
-#: .././config.py:8034
+#: .././config.py:8059
msgid "Only videos uploaded on this date"
msgstr "이 날짜에 업로드된 비디오만 다운로드"
-#: .././config.py:8055
+#: .././config.py:8080
msgid "Only videos uploaded before this date"
msgstr "이 날짜 이전에 업로드된 비디오만 다운로드"
-#: .././config.py:8076
+#: .././config.py:8101
msgid "Only videos uploaded after this date"
msgstr "이 날짜 이후에 업로드된 비디오만 다운로드"
-#: .././config.py:8107
+#: .././config.py:8132
msgid "External downloader options"
msgstr "외부 다운로더 설정"
-#: .././config.py:8112
+#: .././config.py:8137
msgid "Use this external downloader"
msgstr "이 외부 다운로더 사용"
-#: .././config.py:8130
+#: .././config.py:8155
msgid "Arguments to pass to external downloader"
msgstr "외부 다운로더에 전달할 인자"
-#: .././config.py:8151
+#: .././config.py:8176
msgid "Video filtering options"
msgstr "비디오 필터링 설정"
-#: .././config.py:8156
+#: .././config.py:8181
msgid "Download only matching titles (regex or caseless substring)"
msgstr "제목과 일치하는 비디오 다운로드 (regex 혹은 caseless substring)"
-#: .././config.py:8168
+#: .././config.py:8193
msgid "Don't download only matching titles (regex or caseless substring)"
msgstr "제목과 일치하는 비디오 다운로드하지 않기 (regex or caseless substring)"
-#: .././config.py:8181
+#: .././config.py:8206
msgid "Generic video filter, for example:"
msgstr "일반적 비디오 필터, 예:"
-#: .././config.py:8201
+#: .././config.py:8226
msgid "Prefer HLS (HTTP Live Streaming)"
msgstr "HLS 선호 (HTTP 라이브 생방송)"
-#: .././config.py:8208
+#: .././config.py:8233
msgid "Prefer FFMpeg over native HLS downloader"
msgstr "기본 HLS 다운로더보다 FFMpeg 선호"
-#: .././config.py:8215
+#: .././config.py:8240
msgid "Include advertisements (experimental feature)"
msgstr "광고 포함 (실험적 기능)"
-#: .././config.py:8222
+#: .././config.py:8247
msgid "Ignore errors and continue the download operation"
msgstr "오류를 무시하고 다운로드 작업 재개"
-#: .././config.py:8229
+#: .././config.py:8254
msgid "Number of retries"
msgstr "재시도 횟수"
-#: .././config.py:8251
+#: .././config.py:8276
msgid "Playlist options"
msgstr "플레이리스트 설정"
-#: .././config.py:8257
+#: .././config.py:8282
msgid ""
"Channels and playlists are handled in the same way, so these options can be "
"used with both"
msgstr ""
"채널과 플레이리스트는 동일한 방식으로 처리되므로, 이 설정은 동시에 적용됩니다"
-#: .././config.py:8264
+#: .././config.py:8289
msgid "Start downloading playlist from index"
msgstr "이 부분부터 플레이리스트 다운로드 시작"
-#: .././config.py:8276
+#: .././config.py:8301
msgid "Stop downloading playlist at index"
msgstr "이 부분까지 플레이리스트 다운로드 종료"
-#: .././config.py:8288
+#: .././config.py:8313
msgid "Abort operation after downloading this many videos"
msgstr "이 많은 동영상을 다운로드 후 작업 중단"
-#: .././config.py:8300
+#: .././config.py:8325
msgid "Abort downloading the playlist if an error occurs"
msgstr "플레이리스트에서 오류가 나면 다운로드 중지하기"
-#: .././config.py:8307
+#: .././config.py:8332
msgid "Download playlist in reverse order"
msgstr "플레이리스트를 역순으로 다운로드 하기"
-#: .././config.py:8314
+#: .././config.py:8339
msgid "Download playlist in random order"
msgstr "플레이리스트를 랜덤 순서로 다운로드 하기"
-#: .././config.py:8331
+#: .././config.py:8356
msgid "Video size limit options"
msgstr "비디오 사이즈 제한 설정"
-#: .././config.py:8336
+#: .././config.py:8361
msgid "Minimum file size for video downloads"
msgstr "비디오 다운로드 최소 용량"
-#: .././config.py:8354
+#: .././config.py:8379
msgid "Maximum file size for video downloads"
msgstr "비디오 다운로드 최대 용량"
-#: .././config.py:8382
+#: .././config.py:8407
msgid "Video views options"
msgstr "비디오 조회수 설정"
-#: .././config.py:8387
+#: .././config.py:8412
msgid "Minimum number of views"
msgstr "다운받을 비디오의 최소 조회수"
-#: .././config.py:8399
+#: .././config.py:8424
msgid "Maximum number of views"
msgstr "다운받을 비디오의 최대 조회수"
-#: .././config.py:8503
+#: .././config.py:8528
msgid "Select the cookie jar file"
msgstr "Cookie jar 파일 선택"
-#: .././config.py:8634
+#: .././config.py:8659
msgid "Select the browser profile"
msgstr ""
-#: .././config.py:8727
+#: .././config.py:8752
msgid "Could not save the downloader's configuration file"
msgstr ""
-#: .././config.py:8738
+#: .././config.py:8763
msgid "Downloader's configuration file saved"
msgstr ""
-#: .././config.py:8994
+#: .././config.py:9033
msgid ""
"This option won't work unless the format is also added to the list of "
"preferred formats above"
msgstr ""
"위의 선호 포맷 목록에도 포맷을 추가하지 않으면 이 설정이 작동하지 않습니다"
-#: .././config.py:9132
+#: .././config.py:9171
msgid "Unrecognised extractor code"
msgstr ""
-#: .././config.py:9250
+#: .././config.py:9289
msgid "Could not save the .netrc file"
msgstr ""
-#: .././config.py:9267
+#: .././config.py:9306
msgid ".netrc file saved"
msgstr ""
-#: .././config.py:9325
+#: .././config.py:9364
msgid ""
"Fewer download options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
@@ -5654,11 +5709,11 @@ msgstr ""
"'적용' 또는 '재설정' 버튼을 클리하면 (혹은 창을 닫았다 다시 열면) 더 적은 다"
"운로드 설정이 표시됩니다."
-#: .././config.py:9335
+#: .././config.py:9374
msgid "Show advanced download options (when window re-opens)"
msgstr "고급 다운로드 설정 표시하기 (윈도우를 다시 열면)"
-#: .././config.py:9348
+#: .././config.py:9387
msgid ""
"More download options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
@@ -5666,72 +5721,72 @@ msgstr ""
"'적용' 또는 '재설정' 버튼을 클리하면 (혹은 창을 닫았다 다시 열면) 더 많은 다"
"운로드 설정이 표시됩니다."
-#: .././config.py:9358
+#: .././config.py:9397
msgid "Hide advanced download options (when window re-opens)"
msgstr "고급 다운로드 설정 숨기기 (윈도우를 다시 열면)"
-#: .././config.py:9828
+#: .././config.py:9867
msgid "Select the output folder"
msgstr ""
-#: .././config.py:9830
+#: .././config.py:9869
msgid "Select the output directory"
msgstr ""
-#: .././config.py:9880
+#: .././config.py:9919
msgid "FFmpeg options"
msgstr "FFmpeg 설정"
#. Replace the 'OK' button with a 'Process files' button
-#: .././config.py:10233 .././config.py:13459
+#: .././config.py:10272 .././config.py:13498
msgid "Process files"
msgstr "파일 처리"
-#: .././config.py:10235 .././config.py:13461
+#: .././config.py:10274 .././config.py:13500
msgid "Process the files with FFmpeg"
msgstr "FFmpeg로 파일 처리"
-#: .././config.py:10251
+#: .././config.py:10290
msgid "Name for these FFmpeg options"
msgstr "FFmpeg 설정 이름"
-#: .././config.py:10269
+#: .././config.py:10308
msgid "Extra command line options (e.g. --help)"
msgstr "추가 커맨드 라인 설정 (예. --help)"
-#: .././config.py:10280
+#: .././config.py:10319
msgid "System command, based on all FFmpeg options in this window:"
msgstr "이 창에 있는 FFmpeg 설정에 기반한 시스템 커맨드:"
-#: .././config.py:10311
+#: .././config.py:10350
msgid "Show fewer FFmpeg options"
msgstr "더 적은 FFmpeg 설정"
-#: .././config.py:10313
+#: .././config.py:10352
msgid "Show more FFmpeg options"
msgstr "더 많은 FFmpeg 설정"
-#: .././config.py:10323
+#: .././config.py:10362
msgid "Import current FFmpeg options into this window"
msgstr "현재 FFmpeg 설정을 이 창에 가져오기"
-#: .././config.py:10338
+#: .././config.py:10377
msgid "Completely reset all FFmpeg options to their default values"
msgstr "모든 FFmpeg 설정을 완전히 기본값으로 초기화하기"
-#: .././config.py:10354
+#: .././config.py:10393
msgid "Add to end of filename:"
msgstr "파일명의 맨 마지막에 추가하기:"
-#: .././config.py:10364
+#: .././config.py:10403
msgid "If regex matches filename:"
msgstr "정규식과 일치하는 파일명:"
-#: .././config.py:10378
+#: .././config.py:10417
msgid "...then apply substitution:"
msgstr "...그리고 대체 적용하기:"
-#: .././config.py:10391
+#: .././config.py:10430
msgid ""
"If the video/audio file is renamed, also rename the thumbnail (but not vice-"
"versa)"
@@ -5739,61 +5794,61 @@ msgstr ""
"만약 비디오/오디오 파일 이름이 변경되었다면, 섬네일 이름도 변경해 주십시오 "
"(반대로는 아님)"
-#: .././config.py:10402
+#: .././config.py:10441
msgid "Change file extension:"
msgstr "변경 파일 확장자:"
-#: .././config.py:10416
+#: .././config.py:10455
msgid "After changing the file extension, delete the original file"
msgstr "파일 확장자를 변경한 이후엔, 원본 파일을 삭제해 주세요"
-#: .././config.py:10487
+#: .././config.py:10526
msgid "_Settings"
msgstr "_설정"
-#: .././config.py:10500
+#: .././config.py:10539
msgid "Downloaded video/audio"
msgstr "다운받은 비디오/오디오"
-#: .././config.py:10509
+#: .././config.py:10548
msgid "with audio"
msgstr "오디오와 함께"
-#: .././config.py:10522 .././config.py:10599 .././config.py:12121
+#: .././config.py:10561 .././config.py:10638 .././config.py:12160
msgid "Thumbnail"
msgstr "섬네일"
-#: .././config.py:10534
+#: .././config.py:10573
msgid "Output"
msgstr ""
-#: .././config.py:10563
+#: .././config.py:10602
msgid "Video clip"
msgstr ""
-#: .././config.py:10575
+#: .././config.py:10614
msgid "Video slice"
msgstr ""
-#: .././config.py:10587
+#: .././config.py:10626
msgid "Merge video/audio"
msgstr ""
-#: .././config.py:10697
+#: .././config.py:10736
msgid "Audio bitrate"
msgstr "오디오 진동"
-#: .././config.py:10711
+#: .././config.py:10750
msgid "How to set the quality"
msgstr "품질 설정 방법"
-#: .././config.py:10716
+#: .././config.py:10755
msgid ""
"FFmpeg always encodes according to a Rate Factor that specifies the quality "
"of the result."
msgstr "FFmpeg는 항상 결과의 화질을 지정하는 속도 계수에 따라 인코딩됩니다."
-#: .././config.py:10719
+#: .././config.py:10758
msgid ""
"Instead of directly specifying the Rate Factor, an average bit rate can be "
"specified. FFmpeg will then determine the optimal Rate Factor in a first "
@@ -5802,7 +5857,7 @@ msgstr ""
"속도 계수를 직접 지정하는 대신 평균 비트레이트를 지정할 수 있습니다. 그런 다"
"음 FFmpeg가 첫 번째 패스 도중 최적의 속도 계수를 결정합니다."
-#: .././config.py:10723
+#: .././config.py:10762
msgid ""
"In fact the first pass is only used for determining the Rate Factor, no "
"other data is carried over into the second pass."
@@ -5810,7 +5865,7 @@ msgstr ""
"실제로 첫 번째 패스는 속도 계수를 결정하는 데만 사용되며, 다른 데이터는 두번"
"째 패스로 전달되지 않습니다."
-#: .././config.py:10726
+#: .././config.py:10765
msgid ""
"Specifying an average bitrate but running only one pass is possible, but not "
"recommended. FFmpeg would then encode the beginning of the video with a "
@@ -5822,193 +5877,193 @@ msgstr ""
"비디오 끝부분에 와서 목표 비트레이트를 도달하기 위해 속도계수를 변경할 것입니"
"다."
-#: .././config.py:10739
+#: .././config.py:10778
msgid "Manual rate factor"
msgstr "속도 계수 수동 지정"
-#: .././config.py:10748
+#: .././config.py:10787
msgid "Determine from target bitrate (2-Pass)"
msgstr "목표 비트레이트 결정하기 (2-패스)"
-#: .././config.py:10758
+#: .././config.py:10797
msgid "Rate factor"
msgstr "속도 계수"
-#: .././config.py:10767
+#: .././config.py:10806
msgid "Lossless"
msgstr "무손실"
-#: .././config.py:10767
+#: .././config.py:10806
msgid "Large file"
msgstr "큰 파일"
-#: .././config.py:10789
+#: .././config.py:10828
msgid "Bad quality"
msgstr "저 화질"
-#: .././config.py:10789
+#: .././config.py:10828
msgid "Small file"
msgstr "작은 파일"
-#: .././config.py:10796
+#: .././config.py:10835
msgid "Name of dummy file"
msgstr "더미 파일 이름"
-#: .././config.py:10800
+#: .././config.py:10839
msgid "A dummy file is created during the first pass."
msgstr "더미 파일은 첫번째 패스 중 만들어지는 파일입니다."
-#: .././config.py:10804
+#: .././config.py:10843
msgid "Use the output file"
msgstr "출력 파일 사용"
-#: .././config.py:10805
+#: .././config.py:10844
msgid "Dummy"
msgstr "더미"
-#: .././config.py:10806
+#: .././config.py:10845
msgid "/dev/null (Linux)"
msgstr "/dev/null (Linux)"
-#: .././config.py:10807
+#: .././config.py:10846
msgid "NUL (MS Windows)"
msgstr "NUL (MS Windows)"
-#: .././config.py:10819
+#: .././config.py:10858
msgid "Patience preset"
msgstr "인내 프리셋"
-#: .././config.py:10824
+#: .././config.py:10863
msgid "Ultra fast"
msgstr "울트라 빠름"
-#: .././config.py:10825
+#: .././config.py:10864
msgid "Super fast"
msgstr "슈퍼 빠름"
-#: .././config.py:10826
+#: .././config.py:10865
msgid "Very fast"
msgstr "매우 빠름"
-#: .././config.py:10827 .././config.py:10925
+#: .././config.py:10866 .././config.py:10964
msgid "Faster"
msgstr "빠르게"
-#: .././config.py:10828
+#: .././config.py:10867
msgid "Fast"
msgstr "빠름"
-#: .././config.py:10829
+#: .././config.py:10868
msgid "Medium (default)"
msgstr "중간 (기본값)"
-#: .././config.py:10830
+#: .././config.py:10869
#, python-format
msgid "Slow (file about 5-10% smaller than medium)"
msgstr "느리게 (파일 크기가 중간보다 5-10% 더 작음)"
-#: .././config.py:10831
+#: .././config.py:10870
#, python-format
msgid "Slower (file about 15% smaller than medium)"
msgstr "더 느리게 (파일 크기가 중간보다 15% 더 작음)"
-#: .././config.py:10832
+#: .././config.py:10871
#, python-format
msgid "Very slow (file about 17% smaller than medium)"
msgstr "엄청 느리게 (파일 크기가 중간보다 17% 더 작음)"
-#: .././config.py:10843
+#: .././config.py:10882
msgid "GPU encoding"
msgstr ""
-#: .././config.py:10859
+#: .././config.py:10898
msgid "Hardware acceleration"
msgstr ""
-#: .././config.py:10919
+#: .././config.py:10958
msgid "Palette:"
msgstr "팔레트:"
-#: .././config.py:10926
+#: .././config.py:10965
msgid "Uses dithering to a standard palette provided by FFmpeg"
msgstr "FFmpeg에서 제공하는 표준 팔레트로 디더링 사용"
-#: .././config.py:10927
+#: .././config.py:10966
msgid "Can cause dithering artefacts and slight banding"
msgstr "디더링 아티팩트와 약간의 밴딩이 생길 수 있습니다"
-#: .././config.py:10936
+#: .././config.py:10975
msgid "Better"
msgstr "최적화"
-#: .././config.py:10937
+#: .././config.py:10976
msgid "Determines an optimized palette for the video"
msgstr "비디오에 최적화된 팔레트를 결정합니다"
-#: .././config.py:10938
+#: .././config.py:10977
msgid "Uses two passes and a temporary file for the palette"
msgstr "팔레트를 위해 투 패스와 임시 파일을 사용합니다"
-#: .././config.py:10993 .././config.py:11629
+#: .././config.py:11032 .././config.py:11668
msgid "Split videos using their own timestamps"
msgstr ""
-#: .././config.py:11002 .././config.py:11640
+#: .././config.py:11041 .././config.py:11679
msgid "Split videos using these timestamps"
msgstr ""
-#: .././config.py:11036 .././config.py:11221 .././config.py:11676
-#: .././config.py:11883 .././config.py:14343 .././config.py:14524
+#: .././config.py:11075 .././config.py:11260 .././config.py:11715
+#: .././config.py:11922 .././config.py:14382 .././config.py:14563
msgid "Start"
msgstr ""
-#: .././config.py:11036 .././config.py:11676 .././config.py:14343
+#: .././config.py:11075 .././config.py:11715 .././config.py:14382
msgid "Clip title"
msgstr ""
-#: .././config.py:11107 .././config.py:11747 .././config.py:14403
+#: .././config.py:11146 .././config.py:11786 .././config.py:14442
msgid "Add timestamp"
msgstr ""
-#: .././config.py:11116 .././config.py:11756 .././config.py:14414
+#: .././config.py:11155 .././config.py:11795 .././config.py:14453
msgid "Delete timestamp"
msgstr ""
-#: .././config.py:11126 .././config.py:11766 .././config.py:14423
+#: .././config.py:11165 .././config.py:11805 .././config.py:14462
msgid "Clip preferences"
msgstr ""
-#: .././config.py:11178 .././config.py:11836
+#: .././config.py:11217 .././config.py:11875
msgid "Use the videos' own slice data"
msgstr ""
-#: .././config.py:11187 .././config.py:11847
+#: .././config.py:11226 .././config.py:11886
msgid "Use this slice data"
msgstr ""
-#: .././config.py:11221 .././config.py:11244 .././config.py:11883
-#: .././config.py:11906 .././config.py:14524 .././config.py:14543
+#: .././config.py:11260 .././config.py:11283 .././config.py:11922
+#: .././config.py:11945 .././config.py:14563 .././config.py:14582
msgid "Category"
msgstr ""
-#: .././config.py:11221 .././config.py:11264 .././config.py:11883
-#: .././config.py:11926 .././config.py:14524 .././config.py:14555
+#: .././config.py:11260 .././config.py:11303 .././config.py:11922
+#: .././config.py:11965 .././config.py:14563 .././config.py:14594
msgid "Action Type"
msgstr ""
-#: .././config.py:11308 .././config.py:11970 .././config.py:14594
+#: .././config.py:11347 .././config.py:12009 .././config.py:14633
msgid "Add slice"
msgstr ""
-#: .././config.py:11318
+#: .././config.py:11357
msgid "Delete sliuce"
msgstr ""
-#: .././config.py:11329 .././config.py:11992 .././config.py:14615
+#: .././config.py:11368 .././config.py:12031 .././config.py:14654
msgid "SponsorBlock settings"
msgstr ""
-#: .././config.py:11432
+#: .././config.py:11471
msgid ""
"This merges a video and audio file with the same name into a single video "
"file,\n"
@@ -6017,89 +6072,89 @@ msgstr ""
"파일 탭에서 지정된 확장자를 사용해\n"
"동일한 이름의 비디오 및 오디오 파일을 단일 비디오 파일로 병합합니다"
-#: .././config.py:11473
+#: .././config.py:11512
msgid "The thumbnail's format can be changed in the File tab"
msgstr "파일 탭에서 섬네일 포맷을 변경할 수 있습니다"
-#: .././config.py:11488
+#: .././config.py:11527
msgid "_Optimisations"
msgstr "_최적화"
-#: .././config.py:11493
+#: .././config.py:11532
msgid ""
"Optimise for fast seeking (shorter keyframe interval, about 10% larger file)"
msgstr "빠른 탐색을 위한 최적화 (키프레임 간격 단축, 파일 크기가 10% 더 커짐)"
-#: .././config.py:11501
+#: .././config.py:11540
msgid "Input video is a high-quality movie"
msgstr "입력 비디오가 고화질 영화임"
-#: .././config.py:11507
+#: .././config.py:11546
msgid "Input video is an animated movie"
msgstr "입력 비디오가 애니매이션 영화임"
-#: .././config.py:11513
+#: .././config.py:11552
msgid "Input video contains film grain"
msgstr "입력 비디오가 필름 그레인을 포함함"
-#: .././config.py:11519
+#: .././config.py:11558
msgid "Input video is an image slideshow"
msgstr "입력 비디오가 이미지 슬라이드쇼임"
-#: .././config.py:11525
+#: .././config.py:11564
msgid "Optimise for really weak CPU playback devices"
msgstr "낮은 CPU 성능을 가진 디바이스를 위한 최적화"
-#: .././config.py:11532
+#: .././config.py:11571
msgid "Optimise for really old devices (requires rate factor above 0)"
msgstr "정말 구형 디바이스를 위한 최적화 (0 이상의 속도 계수 필요)"
-#: .././config.py:11543
+#: .././config.py:11582
msgid ""
"Move headers to beginning of file (so it can play while still downloading)"
msgstr "파일 시작 부분으로 헤더 이동 (다운로드 중 재생이 가능해짐)"
-#: .././config.py:11551
+#: .././config.py:11590
msgid "Fast encoding and low latency streaming"
msgstr "빠른 인코딩 및 짧은 레이턴시 스트리밍"
-#: .././config.py:11557
+#: .././config.py:11596
msgid "Limit bitrate (Mbit/s)"
msgstr "비트레이트 제한 (Mbit/s)"
-#: .././config.py:11574
+#: .././config.py:11613
msgid "Assuming a receiving buffer (seconds)"
msgstr "수신 버퍼 가정 (초)"
-#: .././config.py:11619
+#: .././config.py:11658
msgid "Split the video(s) to create video clips"
msgstr ""
-#: .././config.py:11819 .././config.py:14492 .././config.py:23411
+#: .././config.py:11858 .././config.py:14531
msgid "_Slices"
msgstr ""
-#: .././config.py:11826
+#: .././config.py:11865
msgid "Remove slices from the video(s)"
msgstr ""
-#: .././config.py:11980 .././config.py:14606
+#: .././config.py:12019 .././config.py:14645
msgid "Delete slice"
msgstr ""
-#: .././config.py:12102
+#: .././config.py:12141
msgid "List of videos to be processed"
msgstr "처리될 비디오 목록"
-#: .././config.py:12164
+#: .././config.py:12203
msgid "Show video properties and timestamps"
msgstr ""
-#: .././config.py:12173
+#: .././config.py:12212
msgid "Remove video from list"
msgstr "리스트에서 비디오 제거"
-#: .././config.py:13098
+#: .././config.py:13137
msgid ""
"Fewer FFmpeg options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
@@ -6107,11 +6162,11 @@ msgstr ""
"'적용' 또는 '재설정' 버튼을 클리하면 (혹은 창을 닫았다 다시 열면) 더 적은 "
"FFmpeg 설정이 표시됩니다."
-#: .././config.py:13108
+#: .././config.py:13147
msgid "Show more FFmpeg options (when window re-opens)"
msgstr "고급 FFmpeg 설정 표시하기 (윈도우를 다시 열면)"
-#: .././config.py:13125
+#: .././config.py:13164
msgid ""
"More FFmpeg options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
@@ -6119,225 +6174,225 @@ msgstr ""
"'적용' 또는 '재설정' 버튼을 클리하면 (혹은 창을 닫았다 다시 열면) 더 많은 "
"FFmpeg 설정이 표시됩니다."
-#: .././config.py:13135
+#: .././config.py:13174
msgid "Show fewer FFmpeg options (when window re-opens)"
msgstr "고급 FFmpeg 설정 숨기기 (윈도우를 다시 열면)"
-#: .././config.py:13896 .././config.py:16161 .././config.py:16982
-#: .././config.py:17604
+#: .././config.py:13935 .././config.py:16201 .././config.py:17174
+#: .././config.py:17796
msgid "General properties"
msgstr "일반 환경설정"
-#: .././config.py:13946
+#: .././config.py:13985
msgid "Set the file (if this is the wrong one)"
msgstr "파일 설정하기 (잘못된 경우에)"
-#: .././config.py:13957
+#: .././config.py:13996
msgid "Video downloaded"
msgstr ""
-#: .././config.py:13964
+#: .././config.py:14003
msgid "Video unwatched"
msgstr ""
-#: .././config.py:13971
+#: .././config.py:14010
msgid "Video has been split from an original"
msgstr ""
-#: .././config.py:13978
+#: .././config.py:14017
msgid "Video is archived"
msgstr "비디오가 아카이브됨"
-#: .././config.py:13985
+#: .././config.py:14024
msgid "Video is bookmarked"
msgstr "비디오가 북마크됨"
-#: .././config.py:13992
+#: .././config.py:14031
msgid "Video is favourite"
msgstr "비디오가 즐겨찾기임"
-#: .././config.py:13999
+#: .././config.py:14038
msgid "Video is in waiting list"
msgstr "비디오가 대기 리스트에 있음"
-#: .././config.py:14006
+#: .././config.py:14045
msgid "Video is blocked/censored/age-restricted"
msgstr ""
-#: .././config.py:14013
+#: .././config.py:14052
msgid "Always simulate download of this video"
msgstr "언제나 비디오 다운로드 시뮬레이트됨"
-#: .././config.py:14078
+#: .././config.py:14117
msgid "Receive time"
msgstr "받은 시간"
-#: .././config.py:14092
+#: .././config.py:14131
msgid "Subtitles"
msgstr ""
-#: .././config.py:14125
+#: .././config.py:14164
msgid "_Live"
msgstr ""
-#: .././config.py:14130
+#: .././config.py:14169
msgid "Livestream properties"
msgstr "생방송 속성"
-#: .././config.py:14135
+#: .././config.py:14174
msgid "Livestream status"
msgstr "생방송 상태"
-#: .././config.py:14146
+#: .././config.py:14185
msgid "Waiting to start"
msgstr "시작 대기중"
-#: .././config.py:14150
+#: .././config.py:14189
msgid "Livestream has finished"
msgstr ""
-#: .././config.py:14152
+#: .././config.py:14191
msgid "Not a livestream"
msgstr "생방송이 아님"
-#: .././config.py:14155
+#: .././config.py:14194
msgid "Livestream message"
msgstr "생방송 메시지"
-#: .././config.py:14170
+#: .././config.py:14209
msgid "Video is pre-recorded"
msgstr "비디오가 미리 녹화됨"
-#: .././config.py:14182
+#: .././config.py:14221
msgid "Livestream actions"
msgstr "생방송 액션"
-#: .././config.py:14189
+#: .././config.py:14228
msgid "When the livestream starts, show a desktop notification"
msgstr "생방송이 시작되면, 데스크탑 알림으로 알림"
-#: .././config.py:14198
+#: .././config.py:14237
msgid "When the livestream starts, play an alarm"
msgstr "생방송이 시작되면, 알람 울림"
-#: .././config.py:14208
+#: .././config.py:14247
msgid "When the livestream starts, open it in the system's web browser"
msgstr "생방송이 시작되면, 시스템의 웹브라우저로 실행"
-#: .././config.py:14220
+#: .././config.py:14259
msgid "When the livestream starts, begin downloading it immediately"
msgstr "생방송이 시작되면, 즉시 다운로드"
-#: .././config.py:14231 .././config.py:23127
+#: .././config.py:14270 .././config.py:23607
msgid "When a livestream stops, download it (overwriting any earlier file)"
msgstr "생방송이 종료되면, 다운로드 시작 (이전의 파일을 덮어씀)"
-#: .././config.py:14247
+#: .././config.py:14286
msgid "_Description"
msgstr "_설명"
-#: .././config.py:14252
+#: .././config.py:14291
msgid "Video description"
msgstr "비디오 설명"
-#: .././config.py:14265
+#: .././config.py:14304
msgid "Update from the description file, and set the line length to:"
msgstr ""
-#: .././config.py:14285
+#: .././config.py:14324
msgid "Clear the description (does not modify the file)"
msgstr ""
-#: .././config.py:14312
+#: .././config.py:14351
msgid "_Timestamps"
msgstr ""
-#: .././config.py:14317
+#: .././config.py:14356
msgid "Timestamps"
msgstr ""
-#: .././config.py:14323
+#: .././config.py:14362
msgid "Timestamps can be used to download or create video clips"
msgstr ""
-#: .././config.py:14439
+#: .././config.py:14478
msgid "Reset list using copied text"
msgstr ""
-#: .././config.py:14447
+#: .././config.py:14486
msgid "Reset list using video description"
msgstr ""
-#: .././config.py:14497
+#: .././config.py:14536
msgid "Video slices"
msgstr ""
-#: .././config.py:14503
+#: .././config.py:14542
msgid "SponsorBlock provides a list of slices that can be removed from a video"
msgstr ""
-#: .././config.py:14677 .././config.py:23502
+#: .././config.py:14716
msgid "_Comments"
msgstr ""
-#: .././config.py:14688
+#: .././config.py:14727
msgid "Total comments:"
msgstr ""
-#: .././config.py:14727
+#: .././config.py:14766
msgid "Show formatted list"
msgstr ""
-#: .././config.py:14738
+#: .././config.py:14777
msgid "Show comment times as text"
msgstr ""
-#: .././config.py:14748
+#: .././config.py:14787
msgid "Show comment timestamps"
msgstr ""
-#: .././config.py:14786 .././config.py:14894
+#: .././config.py:14825 .././config.py:14933
msgid "Author"
msgstr ""
-#: .././config.py:14793 .././config.py:14894
+#: .././config.py:14832 .././config.py:14933
msgid "Comment"
msgstr ""
-#: .././config.py:14801 .././config.py:14895
+#: .././config.py:14840 .././config.py:14934
msgid "Uploader"
msgstr ""
-#: .././config.py:14843
+#: .././config.py:14882
msgid "Update from the metadata file"
msgstr ""
-#: .././config.py:14865
+#: .././config.py:14904
msgid "Clear comments (does not modify the file)"
msgstr ""
-#: .././config.py:14894
+#: .././config.py:14933
msgid "Likes"
msgstr ""
-#: .././config.py:15295 .././config.py:16517
+#: .././config.py:15334 .././config.py:16582
msgid "Errors / Warnings"
msgstr "오류 / 경고"
-#: .././config.py:15301
+#: .././config.py:15340
msgid "Error messages produced the last time this video was checked/downloaded"
msgstr "이 비디오를 마지막으로 확인/다운로드 했을 때 생성된 오류 메시지"
-#: .././config.py:15317
+#: .././config.py:15356
msgid ""
"Warning messages produced the last time this video was checked/downloaded"
msgstr "이 비디오를 마지막으로 확인/다운로드 했을 때 생성된 경고 메시지"
-#: .././config.py:15830
+#: .././config.py:15869
msgid "Select the correct video/audio file"
msgstr "올바른 비디오/오디오 파일 선택"
-#: .././config.py:15856
+#: .././config.py:15895
msgid ""
"The replacement video/audio file must be in the same channel, playlist or "
"folder"
@@ -6345,629 +6400,652 @@ msgstr ""
"교체할 비디오/오디오 파일은 반드시 같은 채널, 플레이리스트, 폴더 안에 있어야 "
"합니다"
-#: .././config.py:15874
+#: .././config.py:15913
msgid "You must select a valid video/audio file"
msgstr "반드시 적합한 비디오/오디오 파일을 선택해야 합니다"
-#: .././config.py:16032
+#: .././config.py:16071
msgid "Channel properties"
msgstr "채널 속성"
-#: .././config.py:16035
+#: .././config.py:16074
msgid "Playlist properties"
msgstr "플레이리스트 속성"
-#: .././config.py:16176
+#: .././config.py:16216
msgid "Don't add videos in this channel to Tartube's database"
msgstr ""
-#: .././config.py:16180
+#: .././config.py:16220
msgid "Don't add videos in this playlist to Tartube's database"
msgstr ""
-#: .././config.py:16191
+#: .././config.py:16231
msgid "Always simulate download of videos in this channel"
msgstr "언제나 이 채널 안의 비디오들을 다운로드 시뮬레이트됨"
-#: .././config.py:16193
+#: .././config.py:16233
msgid "Always simulate download of videos in this playlist"
msgstr "언제나 이 플레이리스트 안의 비디오들을 다운로드 시뮬레이트됨"
-#: .././config.py:16203
+#: .././config.py:16243
msgid "Disable checking/downloading for this channel"
msgstr "이 채널에 대해서 확인/다운로드 사용 안 함"
-#: .././config.py:16205
+#: .././config.py:16245
msgid "Disable checking/downloading for this playlist"
msgstr "이 플레이리스트에 대해서 확인/다운로드 사용 안 함"
-#: .././config.py:16215
+#: .././config.py:16255
msgid "This channel is marked as a favourite"
msgstr "이 채널은 즐겨찾기로 표기됨"
-#: .././config.py:16217
+#: .././config.py:16257
msgid "This playlist is marked as a favourite"
msgstr "이 플레이리스트는 즐겨찾기로 표기됨"
-#: .././config.py:16227
+#: .././config.py:16267
msgid "Total videos"
msgstr "총 비디오들"
-#: .././config.py:16251
+#: .././config.py:16291
msgid "Favourite videos"
msgstr "즐겨찾기 된 비디오들"
-#: .././config.py:16263
+#: .././config.py:16303
msgid "Downloaded videos"
msgstr "다운로드 된 비디오들"
-#: .././config.py:16285
-msgid "_Associated Playlists"
+#: .././config.py:16325
+msgid "Associated _Playlists"
msgstr ""
-#: .././config.py:16290
+#: .././config.py:16330
msgid "Associated playlists"
msgstr ""
-#: .././config.py:16296
+#: .././config.py:16336
msgid ""
"When a video is associated with a playlist, the playlist's ID is stored here"
msgstr ""
-#: .././config.py:16317
+#: .././config.py:16357
msgid "Playlist Title"
msgstr ""
-#: .././config.py:16336
+#: .././config.py:16376
msgid "Set the channel as the download destination"
msgstr ""
-#: .././config.py:16343
+#: .././config.py:16383
msgid "Add selected playlist"
msgstr ""
-#: .././config.py:16352
+#: .././config.py:16392
msgid "Add all playlists"
msgstr ""
-#: .././config.py:16360
+#: .././config.py:16400
msgid "Download preferences"
msgstr ""
#. (This button works even if mainapp.TartubeApp.store_playlist_id_flag
#. is False)
-#: .././config.py:16376
+#: .././config.py:16416
msgid "Reset list using metadata file"
msgstr ""
-#: .././config.py:16407
+#: .././config.py:16447
msgid "Unnamed playlist"
msgstr ""
-#: .././config.py:16423 .././config.py:17225 .././config.py:20453
+#: .././config.py:16463 .././config.py:17417 .././config.py:20763
msgid "_History"
msgstr "_히스토리"
-#: .././config.py:16428 .././config.py:17230 .././config.py:20460
+#: .././config.py:16468 .././config.py:17422 .././config.py:20770
msgid "Download history"
msgstr "히스토리 다운로드"
-#: .././config.py:16442 .././config.py:17244 .././config.py:20474
+#: .././config.py:16482 .././config.py:17436 .././config.py:20784
msgid "Draw"
msgstr "드로우"
-#: .././config.py:16470
+#: .././config.py:16510
msgid "_RSS feed"
msgstr "_RSS 피드"
-#: .././config.py:16474
-msgid "RSS feed"
-msgstr "RSS 피드"
+#: .././config.py:16515
+msgid "RSS feed (used to detect livestreams)"
+msgstr ""
-#: .././config.py:16480
+#: .././config.py:16521
msgid ""
"If Tartube cannot detect the channel's RSS feed, you can enter the URL here"
msgstr "Tartube가 채널의 RSS 피드를 인식하지 못한다면, URL을 여기에 입력하세요"
-#: .././config.py:16485
+#: .././config.py:16526
msgid ""
"If Tartube cannot detect the playlist's RSS feed, you can enter the URL here"
msgstr ""
"Tartube가 플레이리스트의 RSS 피드를 인식하지 못한다면, URL을 여기에 입력하세"
"요"
-#: .././config.py:16490
-msgid "(The feed is used to detect livestreams on compatible websites)"
-msgstr "(피드는 호환되는 웹 사이트 안에서 생방송을 감지할 때 사용됩니다)"
+#: .././config.py:16545
+msgid "Open in web browser"
+msgstr ""
+
+#: .././config.py:16550
+msgid "Set to default feed"
+msgstr ""
+
+#: .././config.py:16557
+msgid "Reset feed"
+msgstr ""
+
+#: .././config.py:16564
+msgid ""
+"N.B. The Set to default feed button won't work if the RSS feed was "
+"obtained from video metadata"
+msgstr ""
-#: .././config.py:16523
+#: .././config.py:16588
msgid ""
"Error messages produced the last time this channel was checked/downloaded"
msgstr "이 채널을 마지막으로 확인/다운로드 했을 때 생성된 오류 메시지"
-#: .././config.py:16528
+#: .././config.py:16593
msgid ""
"Error messages produced the last time this playlist was checked/downloaded"
msgstr "이 플레이리스트를 마지막으로 확인/다운로드 했을 때 생성된 오류 메시지"
-#: .././config.py:16547
+#: .././config.py:16612
msgid ""
"Warning messages produced the last time this channel was checked/downloaded"
msgstr "이 채널을 마지막으로 확인/다운로드 했을 때 생성된 경고 메시지"
-#: .././config.py:16552
+#: .././config.py:16617
msgid ""
"Warning messages produced the last time this playlist was checked/downloaded"
msgstr "이 플레이리스트를 마지막으로 확인/다운로드 했을 때 생성된 경고 메시지"
-#: .././config.py:16638
+#: .././config.py:16706
+msgid "Unable to extrapolate the URL for this playlist"
+msgstr ""
+
+#: .././config.py:16719
msgid "The playlist is already in Tartube's database"
msgstr ""
-#: .././config.py:16660
+#: .././config.py:16741
msgid "Unable to create new playlist"
msgstr ""
-#: .././config.py:16679
+#: .././config.py:16760
#, python-brace-format
msgid "Added playlist '{0}' to Tartube's database"
msgstr ""
#. Show confirmation
-#: .././config.py:16771
+#: .././config.py:16862
#, python-brace-format
msgid "Playlists added: {0}"
msgstr ""
-#: .././config.py:16772
+#: .././config.py:16863
#, python-brace-format
msgid "Playlists not added: {0}"
msgstr ""
-#: .././config.py:16859
+#: .././config.py:16998
+msgid "Could not set the RSS feed"
+msgstr ""
+
+#: .././config.py:17051
msgid "Folder properties"
msgstr "폴더 속성"
-#: .././config.py:16995
+#: .././config.py:17187
msgid "Don't add videos to Tartube's database"
msgstr ""
-#: .././config.py:17002
+#: .././config.py:17194
msgid "Always simulate download of videos"
msgstr "언제나 비디오 다운로드 시뮬레이트됨"
-#: .././config.py:17009
+#: .././config.py:17201
msgid "Disable checking/downloading"
msgstr ""
-#: .././config.py:17016
+#: .././config.py:17208
msgid "This folder is marked as a favourite"
msgstr "이 폴더는 즐겨찾기로 마크되어 있음"
-#: .././config.py:17023
+#: .././config.py:17215
msgid "This folder is hidden"
msgstr "이 폴더는 숨겨짐"
-#: .././config.py:17030
+#: .././config.py:17222
msgid "This folder can't be deleted by the user"
msgstr "이 폴더는 유저에 의해 삭제할 수 없음"
-#: .././config.py:17037
+#: .././config.py:17229
msgid "This is a system-controlled folder"
msgstr "이 폴더는 시스템 제어 폴더임"
-#: .././config.py:17044
+#: .././config.py:17236
msgid "All contents deleted when Tartube shuts down"
msgstr "Tartube가 종료되면 모든 컨텐츠가 삭제됨"
-#: .././config.py:17051
+#: .././config.py:17243
msgid "Restrictions:"
msgstr ""
-#: .././config.py:17062
+#: .././config.py:17254
msgid "Can only contain videos"
msgstr ""
-#: .././config.py:17064
+#: .././config.py:17256
msgid "Can contain folders and videos"
msgstr ""
-#: .././config.py:17066
+#: .././config.py:17258
msgid "Can contain anything"
msgstr ""
-#: .././config.py:17076 .././config.py:20277
+#: .././config.py:17268 .././config.py:20587
msgid "_Statistics"
msgstr "_통계"
-#: .././config.py:17081 .././config.py:20284
+#: .././config.py:17273 .././config.py:20594
msgid "Statistics"
msgstr "통계"
-#: .././config.py:17102 .././config.py:20305
+#: .././config.py:17294 .././config.py:20615
msgid "Downloaded"
msgstr "다운로드"
-#: .././config.py:17146
+#: .././config.py:17338
msgid "Sub-folders"
msgstr "서브 폴더"
-#: .././config.py:17168
+#: .././config.py:17360
msgid "Recalculate"
msgstr "다시 계산"
-#: .././config.py:17272
+#: .././config.py:17464
msgid "_Recent Videos"
msgstr ""
-#: .././config.py:17277
+#: .././config.py:17469
msgid "Recent videos"
msgstr ""
-#: .././config.py:17283
+#: .././config.py:17475
msgid ""
"When videos are checked/downloaded, older videos are removed from this folder"
msgstr ""
-#: .././config.py:17454
+#: .././config.py:17646
msgid "Scheduled download"
msgstr "예약 다운로드"
-#: .././config.py:17609 .././config.py:21536
+#: .././config.py:17801 .././config.py:21854
msgid "Scheduled download name"
msgstr "예약 다운로드 이름"
-#: .././config.py:17621
+#: .././config.py:17813
msgid "Download mode"
msgstr "다운로드 모드"
-#: .././config.py:17626
+#: .././config.py:17818
msgid "Check channels, playlist and folders"
msgstr "채널, 플레이리스트, 폴더 선택"
-#: .././config.py:17627
+#: .././config.py:17819
msgid "Download channels, playlists and folders"
msgstr "채널, 플레이리스트, 폴더 다운로드"
-#: .././config.py:17628
+#: .././config.py:17820
msgid "Perform a custom download"
msgstr "커스텀 다운로드 수행"
-#: .././config.py:17640
+#: .././config.py:17832
msgid "Custom download name"
msgstr ""
-#: .././config.py:17697 .././config.py:21477
+#: .././config.py:17889 .././config.py:21795
msgid "_Start"
msgstr "_시작"
-#: .././config.py:17702
+#: .././config.py:17894
msgid "Start conditions"
msgstr ""
-#: .././config.py:17707 .././config.py:21502
+#: .././config.py:17899 .././config.py:21820
msgid "Start mode"
msgstr "시작 모드"
-#: .././config.py:17712
+#: .././config.py:17904
msgid "Perform this download at regular intervals"
msgstr "정기적으로 이 다운로드 수행"
-#: .././config.py:17713
+#: .././config.py:17905
msgid "Perform this download when Tartube starts"
msgstr "Tartube가 시작되면 이 다운로드 수행"
-#: .././config.py:17715
+#: .././config.py:17907
msgid "Perform this download some time after Tartube starts"
msgstr ""
-#: .././config.py:17718
+#: .././config.py:17910
msgid "Perform this download at specified times"
msgstr ""
-#: .././config.py:17719
+#: .././config.py:17911
msgid "Disable this scheduled download"
msgstr "이 예약 다운로드 비활성화"
-#: .././config.py:17793
+#: .././config.py:17985
msgid "Minutes"
msgstr ""
-#: .././config.py:17920
+#: .././config.py:18112
msgid "Interval time"
msgstr ""
-#: .././config.py:17930
+#: .././config.py:18122
msgid "Start times"
msgstr ""
-#: .././config.py:17971
+#: .././config.py:18163
msgid "_Conflicts"
msgstr ""
-#: .././config.py:17975
+#: .././config.py:18167
msgid "Conflict settings"
msgstr ""
-#: .././config.py:17980
+#: .././config.py:18172
msgid "If another scheduled download is running:"
msgstr "만약 다른 예약 다운로드가 수행중이면:"
-#: .././config.py:17987
+#: .././config.py:18179
msgid "Add channels, playlists and folders to the end of the queue"
msgstr "대기열 끝에 채널, 플레이리스트, 폴더 추가"
-#: .././config.py:17993
+#: .././config.py:18185
msgid "Add channels, playlists and folders to the beginning of the queue"
msgstr "대기열 맨 앞에 채널, 플레이리스트, 폴더 추가"
-#: .././config.py:18000
+#: .././config.py:18192
msgid "Do nothing, just wait until the next scheduled download time"
msgstr "아무것도 하지 않고 다음 예약 다운로드 시간까지 기다리기"
-#: .././config.py:18015
+#: .././config.py:18207
msgid "This scheduled download takes priority over others"
msgstr "이 예약된 다운로드가 다른것보다 우선시됩니다"
-#: .././config.py:18018
+#: .././config.py:18210
msgid "Other scheduled downloads won't start until this one is finished"
msgstr ""
"다른 예약 다운로드는 이 예약 다운로드가 종료되기 전까지 시작하지 않습니다"
-#: .././config.py:18038
+#: .././config.py:18230
msgid "Media to download"
msgstr "다운로드 할 미디어"
-#: .././config.py:18044
+#: .././config.py:18236
msgid "Check/download everything"
msgstr "모든걸 확인/다운로드"
-#: .././config.py:18052
+#: .././config.py:18244
msgid "Only check/download the media below"
msgstr "하단의 미디어만 확인/다운로드"
-#: .././config.py:18066
+#: .././config.py:18258
msgid ""
"Hint: you can drag and drop channels, playlists and your own folders here"
msgstr "힌트: 여기에 채널, 플레이리스트, 폴더를 드래그 앤 드랍할 수 있습니다"
-#: .././config.py:18181 .././config.py:21858
+#: .././config.py:18373 .././config.py:22176
msgid "Performance limits"
msgstr "퍼포먼스 제한"
-#: .././config.py:18186 .././config.py:21863
+#: .././config.py:18378 .././config.py:22181
msgid "Limits are applied when you start downloading a video/channel/playlist"
msgstr ""
-#: .././config.py:18192
+#: .././config.py:18384
msgid ""
"These limits override the default and alternative limits specified elsewhere"
msgstr ""
-#: .././config.py:18198 .././config.py:21869 .././config.py:21940
+#: .././config.py:18390 .././config.py:22187 .././config.py:22258
msgid "Limit simultaneous downloads to"
msgstr "동시 다운로드 개수 제한"
-#: .././config.py:18213 .././config.py:21887 .././config.py:21962
+#: .././config.py:18405 .././config.py:22205 .././config.py:22280
msgid "Limit download speed to"
msgstr "다운로드 속도 제한"
-#: .././config.py:18240
+#: .././config.py:18432
msgid "_Other"
msgstr ""
-#: .././config.py:18244
+#: .././config.py:18436
msgid "Other settings"
msgstr ""
-#: .././config.py:18250
+#: .././config.py:18442
msgid ""
"Ignore time-saving preferences, and check/download the whole channel/"
"playlist/folder"
msgstr ""
"시간 절약 환경 설정을 무시하고, 전체 채널/플레이리스트/폴더 확인/다운로드"
-#: .././config.py:18258
+#: .././config.py:18450
msgid "Shut down Tartube when this scheduled download has finished"
msgstr "예약 작업이 종료되면 Tartube 종료"
-#: .././config.py:18682
+#: .././config.py:18874
msgid "System preferences"
msgstr "시스템 환경 설정"
-#: .././config.py:19002
+#: .././config.py:19205
msgid "_Language"
msgstr "_언어"
-#: .././config.py:19007
+#: .././config.py:19210
msgid "Language preferences"
msgstr "언어 환경 설정"
-#: .././config.py:19012
+#: .././config.py:19215
msgid "Language"
msgstr "언어"
-#: .././config.py:19052
+#: .././config.py:19255
msgid "_Modules"
msgstr "_모듈"
-#: .././config.py:19057
+#: .././config.py:19260
msgid "Gtk library"
msgstr "Gtk 라이브러리"
-#: .././config.py:19062
+#: .././config.py:19265
msgid "Current version of the system's Gtk library"
msgstr "시스템의 현재 Gtk 라이브러리 버전"
-#: .././config.py:19077
+#: .././config.py:19280
msgid "Module availability"
msgstr "모듈 가용성"
-#: .././config.py:19083
+#: .././config.py:19286
msgid "feedparser module is available (required for detecting livestreams)"
msgstr "feedparser 모듈을 사용할 수 있습니다 (생방송 감지 시 필요)"
-#: .././config.py:19092
+#: .././config.py:19295
msgid "matplotlib module is available (draws graphs)"
msgstr "matplotlib 모듈을 사용할 수 있습니다 (그래프를 그릴 때 사용)"
-#: .././config.py:19100
+#: .././config.py:19303
msgid "moviepy module is available (finds the length of videos, if unknown)"
msgstr ""
"moviepy 모듈을 사용할 수 있습니다 (비디오의 길이를 모를 경우 이를 찾는데 사"
"용)"
-#: .././config.py:19110
+#: .././config.py:19313
msgid "playsound module is available (sound an alarm when a livestream starts)"
msgstr "playsound 모듈을 사용할 수 있습니다 (생방송이 시작될 경우 알람을 재생)"
-#: .././config.py:19120
+#: .././config.py:19323
msgid ""
"XDG module is available (saves the config file in the standard location)"
msgstr "XDG 모듈을 사용할 수 있습니다 (구성 파일을 표준 위치에 저장해줌)"
-#: .././config.py:19130
+#: .././config.py:19333
msgid ""
"Notify module is available (shows desktop notifications; Linux/*BSD only)"
msgstr ""
"Notify 모듈을 사용할 수 있습니다 (데스크탑 알림을 보여줌; Linux/*BSD만 사용가"
"능)"
-#: .././config.py:19140
+#: .././config.py:19343
msgid "Module preferences"
msgstr "모듈 환경 설정"
-#: .././config.py:19146
+#: .././config.py:19349
msgid ""
"Use 'moviepy' module to get a video's duration, if not known (may be slow)"
msgstr ""
"알려지지 않은 비디오 길이를 'moviepy' 모듈을 사용해 측정합니다 (느릴 수 있음)"
-#: .././config.py:19158
+#: .././config.py:19361
msgid "Timeout applied when moviepy checks a video file"
msgstr "비디오 파일을 moviepy로 체크할 때 타임아웃 적용"
-#: .././config.py:19214
+#: .././config.py:19417
msgid "_Device"
msgstr "_디바이스"
-#: .././config.py:19219
+#: .././config.py:19422
msgid "Device preferences"
msgstr "디바이스 환경 설정"
-#: .././config.py:19224
-msgid "Size of device (in Mb)"
-msgstr "디바이스 파일 크기 (Mb)"
+#: .././config.py:19427
+msgid "Size of device"
+msgstr ""
-#: .././config.py:19236
-msgid "Free space on device (in Mb)"
-msgstr "디바이스 남은 공간 (Mb)"
+#: .././config.py:19444
+msgid "Free space on device"
+msgstr ""
-#: .././config.py:19248
-msgid "Warn user if disk space is less than"
-msgstr "디스크 공간이 적으면 경고해주기"
+#: .././config.py:19462
+msgid ""
+"Before checking/downloading videos, warn user if disk space is less than"
+msgstr ""
-#: .././config.py:19266
+#: .././config.py:19487
msgid "Halt downloads if disk space is less than"
msgstr "디스크 공간이 적으면 중지하기"
-#: .././config.py:19316
+#: .././config.py:19542
msgid "_Config"
msgstr ""
-#: .././config.py:19320
+#: .././config.py:19546
msgid "Configuration preferences"
msgstr "구성 환경 설정"
-#: .././config.py:19325
+#: .././config.py:19551
msgid "Tartube configuration file loaded from"
msgstr ""
-#: .././config.py:19337
+#: .././config.py:19563
msgid "Default location for Tartube configuration"
msgstr ""
-#: .././config.py:19349
+#: .././config.py:19575
msgid "Alternative location for Tartube configuration"
msgstr ""
-#: .././config.py:19373
+#: .././config.py:19599
msgid "D_atabase"
msgstr "_데이터베이스"
-#: .././config.py:19378
+#: .././config.py:19604
msgid "Database preferences"
msgstr "데이터베이스 환경 설정"
-#: .././config.py:19383
+#: .././config.py:19609
msgid "Current data folder"
msgstr ""
-#: .././config.py:19396
+#: .././config.py:19622
msgid "Current database"
msgstr ""
-#: .././config.py:19413
+#: .././config.py:19639
msgid "Recent data folders"
msgstr "최근 데이터 폴더"
-#: .././config.py:19429
+#: .././config.py:19655
msgid "Add new database"
msgstr "새 데이터베이스 추가"
-#: .././config.py:19431
+#: .././config.py:19657
msgid "Change to a different data folder"
msgstr "다른 데이터 폴더로 변경"
-#: .././config.py:19438
+#: .././config.py:19664
msgid "Check and repair database"
msgstr "데이터베이스 확인 후 수리"
-#: .././config.py:19441
+#: .././config.py:19667
msgid "Check for inconsistencies, and repair them"
msgstr "불일치 확인 후 수리"
-#: .././config.py:19446
+#: .././config.py:19672
msgid "Dump database to JSON"
msgstr ""
-#: .././config.py:19449
+#: .././config.py:19675
msgid "Convert databases to JSON, even when Tartube can't load them"
msgstr ""
-#: .././config.py:19454
+#: .././config.py:19680
msgid "Switch to this database"
msgstr ""
-#: .././config.py:19456
+#: .././config.py:19682
msgid "Switch to the selected data folder"
msgstr "선택한 데이터 폴더로 변경"
-#: .././config.py:19466
+#: .././config.py:19692
msgid "Forget"
msgstr "잊어버리기"
-#: .././config.py:19469
+#: .././config.py:19695
msgid "Remove the selected data folder from the list"
msgstr "리스트에서 선택한 데이터 폴더 지우기"
-#: .././config.py:19479
+#: .././config.py:19705
msgid "Forget all"
msgstr "모두 잊어버리기"
-#: .././config.py:19482
+#: .././config.py:19708
msgid "Forget every folder in this list (except the current one)"
msgstr "이 목록의 모든 폴더 잊어버리기 (현재 폴더 제외)"
-#: .././config.py:19496
+#: .././config.py:19722
msgid "Move the selected folder up the list"
msgstr "선택한 폴더를 위로 이동"
-#: .././config.py:19505
+#: .././config.py:19731
msgid "Move the selected folder down the list"
msgstr "선택한 폴더를 아래로 이동"
-#: .././config.py:19533
+#: .././config.py:19759
msgid ""
"On startup, load the first database on the list (not the most recently-use "
"one)"
@@ -6975,23 +7053,23 @@ msgstr ""
"시작시, 목록의 첫 번째 데이터베이스 로드 (가장 최근에 사용한 데이터베이스 아"
"님)"
-#: .././config.py:19543
+#: .././config.py:19769
msgid "If one database is in use, try to load others"
msgstr "만약 한 데이터베이스가 사용중이면, 다른 것을 로드하기"
-#: .././config.py:19551
+#: .././config.py:19777
msgid "New databases are added to this list"
msgstr ""
-#: .././config.py:19596
+#: .././config.py:19822
msgid "_Backups"
msgstr "_백업"
-#: .././config.py:19601
+#: .././config.py:19827
msgid "Backup preferences"
msgstr "백업 환경 설정"
-#: .././config.py:19606
+#: .././config.py:19832
msgid ""
"When saving a database file, Tartube makes a backup copy of it (in case "
"something goes wrong)"
@@ -6999,541 +7077,572 @@ msgstr ""
"데이터베이스 파일을 저장할 때 Tartube에서 백업 사본을 만들어 두기 (만약을 위"
"해서)"
-#: .././config.py:19615
+#: .././config.py:19841
msgid "Delete the backup file as soon as the save procedure is finished"
msgstr "저장 절차가 완료되는 즉시 백업 파일 삭제"
-#: .././config.py:19625
+#: .././config.py:19851
msgid "Keep the backup file, replacing any previous backup file"
msgstr "백업 파일을 유지하고 이전 백업 파일만 대체"
-#: .././config.py:19636
+#: .././config.py:19862
msgid ""
"Make a new backup file once per day, after the day's first save procedure"
msgstr "매일매일 첫번째 저장 시에 새로운 백업 파일 생성"
-#: .././config.py:19647
+#: .././config.py:19873
msgid "Make a new backup file for every save procedure"
msgstr "매 저장 시에 새로운 백업 파일 생성"
-#: .././config.py:19681
+#: .././config.py:19907
msgid "Export preferences"
msgstr ""
-#: .././config.py:19686
+#: .././config.py:19912
msgid "Separator used in CSV exports"
msgstr ""
-#: .././config.py:19728
-msgid "Automatic video deletion preferences"
-msgstr "자동 비디오 삭제 환경 설정"
+#: .././config.py:19954
+msgid "Automatic video deletion/removal preferences"
+msgstr ""
+
+#: .././config.py:19960
+msgid ""
+"Deleted videos are re-downloaded without an archive file. See the Operations "
+"> Archive tab"
+msgstr ""
-#: .././config.py:19733
-msgid "Automatically delete downloaded videos after this many days"
-msgstr "이 기간이 지나면 다운로드한 비디오 자동 삭제"
+#: .././config.py:19967
+msgid "Automatically delete downloaded videos"
+msgstr ""
-#: .././config.py:19747
-msgid "...but only delete videos which have been watched"
-msgstr "...하지만 시청한 비디오만 삭제"
+#: .././config.py:19983 .././config.py:20007 .././formats.py:444
+msgid "days"
+msgstr "일"
-#: .././config.py:19771
+#: .././config.py:19989
+msgid "Remove downloaded videos from the database (but don't delete files)"
+msgstr ""
+
+#: .././config.py:20012
+msgid "Only delete/remove videos which have been watched"
+msgstr ""
+
+#: .././config.py:20024
+msgid "Delete/remove files:"
+msgstr ""
+
+#: .././config.py:20030
+msgid "When the database is loaded"
+msgstr ""
+
+#: .././config.py:20037
+msgid "After every download operation"
+msgstr ""
+
+#: .././config.py:20081
msgid "Video matching preferences"
msgstr "비디오 매칭 환경 설정"
-#: .././config.py:19776
+#: .././config.py:20086
msgid "When matching videos on the filesystem:"
msgstr "파일 시스템에서 비디오를 매칭할 때:"
-#: .././config.py:19782
+#: .././config.py:20092
msgid "The video names must match exactly"
msgstr "비디오 이름이 완벽히 일치"
-#: .././config.py:19789
+#: .././config.py:20099
msgid "The first # characters must match exactly"
msgstr "첫번째 # 글자만 완벽히 일치"
-#: .././config.py:19803
+#: .././config.py:20113
msgid "Ignore the last # characters; the remaining name must match exactly"
msgstr "마지막 # 글자를 무시하고 나머지 글자만 완벽히 일치"
-#: .././config.py:19861
+#: .././config.py:20171
msgid "Update video descriptions"
msgstr ""
-#: .././config.py:19868
+#: .././config.py:20178
msgid "These procedures might take a long time on a large database"
msgstr ""
-#: .././config.py:19875
+#: .././config.py:20185
msgid "Update from description files, and set the line lengths to:"
msgstr ""
-#: .././config.py:19894
+#: .././config.py:20204
msgid "Clear descriptions (does not modify the description files)"
msgstr ""
-#: .././config.py:19917
+#: .././config.py:20227
msgid "Video timestamps"
msgstr ""
-#: .././config.py:19921
+#: .././config.py:20231
msgid "Extract timestamps for all videos"
msgstr ""
-#: .././config.py:19929
+#: .././config.py:20239
msgid "Remove timestamps from all videos"
msgstr ""
-#: .././config.py:19939 .././config.py:23509
+#: .././config.py:20249 .././config.py:23989
msgid "Video comments"
msgstr ""
-#: .././config.py:19943
+#: .././config.py:20253
msgid "Extract comments for all videos"
msgstr ""
-#: .././config.py:19951
+#: .././config.py:20261
msgid "Remove comments from all videos"
msgstr ""
-#: .././config.py:19961
+#: .././config.py:20271
msgid ""
"Comments are extracted from each video's metadata file, so this procedure "
"may take a long time"
msgstr ""
-#: .././config.py:19981
-msgid "_URLs"
+#: .././config.py:20291
+msgid "U_RLs"
msgstr ""
-#: .././config.py:19988
+#: .././config.py:20298
msgid "Update channel/playlist URLs"
msgstr ""
-#: .././config.py:19993
+#: .././config.py:20303
msgid "Confirm every change"
msgstr ""
-#: .././config.py:20076
+#: .././config.py:20386
msgid "Pattern"
msgstr ""
-#: .././config.py:20087
+#: .././config.py:20397
msgid "Substitution"
msgstr ""
-#: .././config.py:20098
+#: .././config.py:20408
msgid "This pattern is a regex"
msgstr ""
-#: .././config.py:20110
+#: .././config.py:20420
msgid "Search and replace text in the selected URLs"
msgstr ""
-#: .././config.py:20125
+#: .././config.py:20435
msgid "Open URLs"
msgstr ""
-#: .././config.py:20224
+#: .././config.py:20534
msgid "Temporary folder preferences"
msgstr "임시 폴더 환경 설정"
-#: .././config.py:20229
+#: .././config.py:20539
msgid "Empty temporary folders when Tartube shuts down"
msgstr "Tartube가 종료되면 임시 폴더 비우기"
-#: .././config.py:20238
+#: .././config.py:20548
msgid "(N.B. Temporary folders are always emptied when Tartube starts up)"
msgstr "(주의. Tartube가 시작되면 임시 폴더가 항상 비워집니다)"
-#: .././config.py:20246
+#: .././config.py:20556
msgid "Open temporary folders (on the desktop) when Tartube shuts down"
msgstr "Tartube가 종료되면 임시 폴더를 열기 (바탕화면에)"
-#: .././config.py:20289
+#: .././config.py:20599
msgid "The Tartube database contains:"
msgstr "Tartube 데이터베이스가 갖고 있는 정보:"
-#: .././config.py:20349
+#: .././config.py:20659
msgid "Custom folders"
msgstr "커스텀 폴더"
-#: .././config.py:20372
+#: .././config.py:20682
msgid "Calculate"
msgstr "계산"
#. Add this tab...
-#: .././config.py:20503
+#: .././config.py:20813
msgid "_Windows"
msgstr "_윈도우"
-#: .././config.py:20532
+#: .././config.py:20842
msgid "_Main window"
msgstr "_메인 윈도우"
-#: .././config.py:20539
+#: .././config.py:20849
msgid "Main window preferences"
msgstr "메인 윈도우 환경설정"
-#: .././config.py:20544
+#: .././config.py:20854
msgid "Remember size of the main window"
msgstr ""
-#: .././config.py:20552
+#: .././config.py:20862
msgid "Remember slider positions"
msgstr ""
-#: .././config.py:20561
+#: .././config.py:20871
msgid "Reset both"
msgstr ""
-#: .././config.py:20577
+#: .././config.py:20887
msgid "Don't show the main window toolbar"
msgstr "메인 메뉴 툴바 보이지 않기"
-#: .././config.py:20585
+#: .././config.py:20895
msgid "Don't show labels in the main window toolbar"
msgstr "메인 메뉴 툴바 레이블 보이지 않기"
-#: .././config.py:20603
+#: .././config.py:20913
msgid ""
"Replace stock icons with custom icons (in case stock icons are not visible)"
msgstr ""
"스톡 아이콘을 커스텀 아이콘으로 교체 (스톡 아이콘이 표시되지 않는 경우)"
-#: .././config.py:20613
+#: .././config.py:20923
msgid "Show tooltips for videos, channels, playlists and folders"
msgstr "비디오, 채널, 플레이리스트, 폴더에 대한 툴팁 표시"
-#: .././config.py:20621
+#: .././config.py:20931
msgid "Show errors/warnings in tooltips (but not in the Videos tab)"
msgstr "툴팁에 오류/경고 표시 (비디오 탭에선 아님)"
-#: .././config.py:20639
+#: .././config.py:20949
msgid "Disable the download buttons in the toolbar and the Videos tab"
msgstr ""
-#: .././config.py:20649
+#: .././config.py:20959
msgid "In the Progress tab, hide finished downloads"
msgstr ""
-#: .././config.py:20658
+#: .././config.py:20968
msgid "Show downloads in reverse order"
msgstr ""
-#: .././config.py:20666
+#: .././config.py:20976
msgid "When Tartube starts, automatically open the Classic Mode tab"
msgstr "Tartube가 시작하면, 자동으로 클래식 모드 탭으로 열기"
-#: .././config.py:20680
+#: .././config.py:20990
msgid ""
"In the Classic Mode tab, when adding URLs, remove duplicates rather than "
"retaining them"
msgstr "클래식 모드 탭에서, URL을 추가할 때, 중복 항목을 유지하지 않고 제거"
-#: .././config.py:20694
-msgid "In the Errors/Warnings tab, don't reset the tab text when it is clicked"
-msgstr "오류/경고 탭에서, 탭 텍스트를 클릭 시 재설정하지 않음"
+#: .././config.py:21004
+msgid ""
+"In the Errors/Warnings tab, don't reset the tab title when it is clicked"
+msgstr ""
-#: .././config.py:20721
+#: .././config.py:21031
msgid "Video Index (left side of the Videos tab)"
msgstr "비디오 색인 (비디오 탭의 왼쪽)"
-#: .././config.py:20726
+#: .././config.py:21036
msgid "Show a 'Custom download all' button"
msgstr ""
-#: .././config.py:20734
+#: .././config.py:21044
+msgid "While checking/downloading videos, show free disk space"
+msgstr ""
+
+#: .././config.py:21052
msgid "Allow each row to be marked for checking/downloading"
msgstr ""
-#: .././config.py:20742
+#: .././config.py:21060
msgid "Show smaller icons"
msgstr ""
-#: .././config.py:20751
+#: .././config.py:21069
msgid ""
"Show detailed statistics about the videos in each channel / playlist / folder"
msgstr ""
-#: .././config.py:20762
+#: .././config.py:21080
msgid ""
"After clicking on a folder, automatically expand/collapse the tree around it"
msgstr "폴더를 클릭하면, 자동으로 관련 트리를 확장/축소하기"
-#: .././config.py:20773
+#: .././config.py:21091
msgid "Expand the whole tree, not just the level beneath the clicked folder"
msgstr "클릭한 폴더 아래뿐 아니라 전체 트리 확장하기"
-#: .././config.py:20794
+#: .././config.py:21112
msgid "Video Catalogue (right side of the Videos tab)"
msgstr "비디오 카탈로그 (비디오 탭의 오른쪽)"
-#: .././config.py:20800
+#: .././config.py:21118
msgid "Show 'today' and 'yesterday' as the date, when possible"
msgstr "가능하면 '오늘'과 '어제' 사용하기"
-#: .././config.py:20808
+#: .././config.py:21126
msgid "Show livestreams with a different background colour"
msgstr "생방송을 다른 배경 색으로 표시하기"
-#: .././config.py:20816
+#: .././config.py:21134
msgid "Use same background colours for livestream and debut videos"
msgstr "생방송과 데뷔 비디오를 동일한 배경 색으로 표시하기"
-#: .././config.py:20837
+#: .././config.py:21155
msgid "Channel and playlist names are clickable (grid mode only)"
msgstr ""
-#: .././config.py:20857
+#: .././config.py:21175
msgid "_Drag"
msgstr "_드래그"
-#: .././config.py:20861
+#: .././config.py:21179
msgid "Drag and drop preferences"
msgstr "드래그 앤 드랍 환경 설정"
-#: .././config.py:20867
+#: .././config.py:21185
msgid "When dragging and dropping videos to an external application..."
msgstr "비디오를 외부 프로그램으로 드래그 앤 드랍 할때..."
-#: .././config.py:20873
+#: .././config.py:21191
msgid "Transfer the video's full file path"
msgstr "비디오의 전체 경로 전송하기"
-#: .././config.py:20881
+#: .././config.py:21199
msgid "Transfer the video's source URL"
msgstr "비디오의 원본 URL 전송하기"
-#: .././config.py:20889
+#: .././config.py:21207
msgid "Transfer the video's name"
msgstr "비디오의 이름 전송하기"
-#: .././config.py:20897
+#: .././config.py:21215
msgid "Transfer the thumbnail's full file path"
msgstr "비디오 섬네일의 전체 경로 전송하기"
-#: .././config.py:20918
+#: .././config.py:21236
msgid "_Tray"
msgstr ""
-#: .././config.py:20924
+#: .././config.py:21242
msgid "System tray preferences"
msgstr "시스템 트레이 환경 설정"
-#: .././config.py:20929
+#: .././config.py:21247
msgid "Show Tartube in the system tray"
msgstr ""
-#: .././config.py:20938
+#: .././config.py:21256
msgid "Start Tartube in the system tray"
msgstr ""
-#: .././config.py:20949
+#: .././config.py:21267
msgid "Close to the tray, rather than closing the application"
msgstr "프로그램을 닫는 대신 트레이에 닫기"
-#: .././config.py:20961
+#: .././config.py:21279
msgid ""
"After closing to the tray, restore the window's position (does not work on "
"Wayland)"
msgstr ""
-#: .././config.py:21004
+#: .././config.py:21322
msgid "D_ialogues"
msgstr "_다이얼로그"
-#: .././config.py:21010
+#: .././config.py:21328
msgid "Dialogue window preferences"
msgstr "다이얼로그 윈도우 환경 설정"
-#: .././config.py:21015
+#: .././config.py:21333
msgid "When adding channels/playlists, keep the dialogue window open"
msgstr "채널/플레이리스트 추가 시 다이얼로그 윈도우 열기"
-#: .././config.py:21025
+#: .././config.py:21343
msgid "When the dialogue window opens, add URLs from the system clipboard"
msgstr "다이얼로그 윈도우가 열릴ㄸ 때, URL을 클립보드에 추가하기"
-#: .././config.py:21046
+#: .././config.py:21364
msgid "When adding YouTube channels, remind the user to copy the correct URL"
msgstr ""
-#: .././config.py:21058
+#: .././config.py:21376
msgid "Debugging preferences"
msgstr "디버깅 환경 설정"
-#: .././config.py:21064
+#: .././config.py:21382
msgid ""
"Temporarily disable message dialogue windows (display messages in terminal "
"instead)"
msgstr ""
-#: .././config.py:21088
+#: .././config.py:21406
msgid "_Colours"
msgstr ""
-#: .././config.py:21095
+#: .././config.py:21413
msgid "Video catalogue colour preferences"
msgstr ""
-#: .././config.py:21103
+#: .././config.py:21421
msgid "Waiting livestreams"
msgstr ""
-#: .././config.py:21109
+#: .././config.py:21427
msgid "Broadcasting livestreams"
msgstr ""
-#: .././config.py:21115
+#: .././config.py:21433
msgid "Waiting debut videos"
msgstr ""
-#: .././config.py:21121
+#: .././config.py:21439
msgid "Broadcasting debut videos"
msgstr ""
-#: .././config.py:21127
+#: .././config.py:21445
msgid "Selected videos"
msgstr ""
-#: .././config.py:21133
+#: .././config.py:21451
msgid "Selected waiting videos"
msgstr ""
-#: .././config.py:21139
+#: .././config.py:21457
msgid "Selected broadcasting videos"
msgstr ""
-#: .././config.py:21145
+#: .././config.py:21463
msgid "Drag and Drop notification"
msgstr ""
-#: .././config.py:21151
+#: .././config.py:21469
msgid "Drag and Drop background 1"
msgstr ""
-#: .././config.py:21157
+#: .././config.py:21475
msgid "Drag and Drop background 2"
msgstr ""
-#: .././config.py:21188
+#: .././config.py:21506
msgid "Custom colour:"
msgstr ""
-#: .././config.py:21211
+#: .././config.py:21529
msgid "Default colour:"
msgstr ""
-#: .././config.py:21248
+#: .././config.py:21566
msgid "_Errors/Warnings"
msgstr "_오류/경고"
-#: .././config.py:21254
+#: .././config.py:21572
msgid "Errors/Warnings tab preferences"
msgstr "오류/경고 탭 환경 설정"
-#: .././config.py:21354
+#: .././config.py:21672
msgid "_Websites"
msgstr "_웹사이트"
-#: .././config.py:21361
+#: .././config.py:21679
msgid "YouTube error/warning preferences"
msgstr "유튜브 오류/경고 설정"
-#: .././config.py:21366
+#: .././config.py:21684
msgid "Ignore YouTube copyright errors"
msgstr "유튜브 저작권 오류 무시하기"
-#: .././config.py:21374
+#: .././config.py:21692
msgid "Ignore YouTube age-restriction errors"
msgstr "유튜브 나이제한 오류 무시하기"
-#: .././config.py:21382
+#: .././config.py:21700
msgid "Ignore YouTube deletion by uploader errors"
msgstr "유튜브 업로더 삭제 오류 무시하기"
-#: .././config.py:21390
+#: .././config.py:21708
msgid "Ignore YouTube payment errors"
msgstr "유튜브 결제 오류 무시하기"
-#: .././config.py:21399
+#: .././config.py:21717
msgid "General preferences"
msgstr "일반 속성"
-#: .././config.py:21405
+#: .././config.py:21723
msgid ""
"Ignore any errors/warnings which match lines in this list (applies to all "
"websites)"
msgstr "이 목록의 행과 일치하는 오류/경고 무시하기(모든 웹사이트에 적용)"
-#: .././config.py:21419
+#: .././config.py:21737
msgid "These are ordinary strings"
msgstr "이것들은 보통 문자열임"
-#: .././config.py:21426
+#: .././config.py:21744
msgid "These are regular expressions (regexes)"
msgstr "이것들은 정규식임 (regexes)"
#. Add this tab...
-#: .././config.py:21455
+#: .././config.py:21773
msgid "_Scheduling"
msgstr "_예약"
-#: .././config.py:21482
+#: .././config.py:21800
msgid "Scheduled download preferences"
msgstr "예약 다운로드 속성"
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Priority"
msgstr "우선순위"
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Whole"
msgstr "전체"
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Shutdown"
msgstr "강제 종료"
-#: .././config.py:21503
+#: .././config.py:21821
msgid "D/L All"
msgstr "모두 다운로드"
-#: .././config.py:21504
+#: .././config.py:21822
msgid "Join mode"
msgstr "조인 모드"
-#: .././config.py:21558 .././config.py:22540 .././config.py:24498
-#: .././config.py:24776
+#: .././config.py:21876 .././config.py:22914 .././config.py:24993
+#: .././config.py:25271
msgid "Edit"
msgstr "편집"
-#: .././config.py:21630 .././formats.py:1023
+#: .././config.py:21948 .././formats.py:1209
msgid "Custom"
msgstr "커스텀"
-#: .././config.py:21673
+#: .././config.py:21991
msgid "S_top"
msgstr "_중지"
-#: .././config.py:21678
+#: .././config.py:21996
msgid "Scheduled stop preferences"
msgstr "예약 중지 속성"
-#: .././config.py:21683
+#: .././config.py:22001
msgid "Stop all download operations after this much time"
msgstr "이 시간 이후 모든 다운로드 작업 중지"
-#: .././config.py:21731
+#: .././config.py:22049
msgid "Stop all download operations after this many videos"
msgstr "비디오 개수 이후 모든 다운로드 작업 중지"
-#: .././config.py:21758
+#: .././config.py:22076
msgid "Stop all download operations after this much disk space"
msgstr "다운로드 용량 차지시 모든 다운로드 작업 중지"
-#: .././config.py:21801
+#: .././config.py:22119
msgid ""
"N.B. Disk space is estimated. This setting does not apply to simulated "
"downloads"
@@ -7541,114 +7650,121 @@ msgstr ""
"주의. 디스크 용량은 추정치입니다. 이 설정은 시뮬레이션 다운로드 시 적용되지 "
"않습니다"
-#: .././config.py:21913
+#: .././config.py:22231
msgid "Overriding video format options, limit video resolution to"
msgstr "비디오 포맷 옵션 무시, 비디오 해상도 제한"
-#: .././config.py:21935
+#: .././config.py:22253
msgid "Alternative performance limits"
msgstr ""
-#: .././config.py:21993
+#: .././config.py:22311
msgid "Alternative limits apply between"
msgstr ""
-#: .././config.py:22033
+#: .././config.py:22351
msgid "and"
msgstr ""
-#: .././config.py:22061
+#: .././config.py:22379
msgid "On days"
msgstr ""
-#: .././config.py:22094
+#: .././config.py:22412
msgid "_Stop"
msgstr ""
-#: .././config.py:22101
+#: .././config.py:22419
msgid "Time-saving settings"
msgstr "시간절약 설정"
-#: .././config.py:22107
+#: .././config.py:22425
msgid ""
-"Stop checking/downloading a channel/playlist when it starts sending videos "
-"you already have"
+"Stop checking/downloading a channel/playlist when it finds videos you "
+"already have"
msgstr ""
-"이미 가지고 있는 비디오 전송을 시작할 때 채널/플레이리스트 확인/다운로드 중지"
-#: .././config.py:22118
+#: .././config.py:22436
msgid "Stop after this many videos (when checking)"
msgstr "비디오 개수 이후 작업 중지 (확인 중에)"
-#: .././config.py:22133
+#: .././config.py:22451
msgid "Stop after this many videos (when downloading)"
msgstr "비디오 개수 이후 작업 중지 (다운로드 중에)"
-#: .././config.py:22176
+#: .././config.py:22494
msgid "Download operation preferences"
msgstr "다운로드 작업 환경 설정"
-#: .././config.py:22182
+#: .././config.py:22500
msgid "Automatically update downloader before every download operation"
msgstr "매일 다운로드 작업 전에 자동으로 다운로더 업데이트"
-#: .././config.py:22194
+#: .././config.py:22512
msgid "Automatically save files at the end of all operations"
msgstr "모든 작업 이후 자동으로 저장"
-#: .././config.py:22204
+#: .././config.py:22522
msgid "For simulated downloads, don't check a video in a folder more than once"
msgstr "시뮬레이션 다운로드에서, 비디오를 두번 이상 확인하지 않기"
-#: .././config.py:22215
+#: .././config.py:22533
msgid "If a download stalls, restart it after this many minutes"
msgstr "만약 다운로드가 지연된 경우 이 시간 이후 재시작하기 (분)"
-#: .././config.py:22237
+#: .././config.py:22557
msgid "Maximum restarts after a stalled download (0 for no maximum)"
msgstr "지연된 다운로드 최대 재시작 횟수 (0인 경우 무제한)"
-#: .././config.py:22270
-msgid "When checking videos, apply a 60-second timeout"
-msgstr "비디오를 확인할 때, 60초 타임아웃 적용"
+#: .././config.py:22590
+msgid "Apply a timeout (in minutes) when checking a video"
+msgstr ""
+
+#: .././config.py:22604
+msgid "Without comments"
+msgstr ""
+
+#: .././config.py:22620
+msgid "With comments"
+msgstr ""
-#: .././config.py:22279
+#: .././config.py:22653
msgid "Assign anonymous error/warning messages to the most probable video"
msgstr ""
-#: .././config.py:22290
+#: .././config.py:22664
msgid "Add censored, age-restricted and other blocked videos to the database"
msgstr ""
-#: .././config.py:22301
+#: .././config.py:22675
msgid ""
"Extract playlist IDs from each video, and store them in the parent channel/"
"playlist"
msgstr ""
-#: .././config.py:22312
+#: .././config.py:22686
msgid ""
"Convert .webp thumbnails into .jpg thumbnails (using FFmpeg) after "
"downloading them"
msgstr "다운로드 후 .webp 섬네일을 FFmpeg를 이용해 .jpg로 변환"
-#: .././config.py:22335
+#: .././config.py:22709
msgid "_Ignore"
msgstr ""
-#: .././config.py:22342
+#: .././config.py:22716
msgid "Ignore downloader errors/warnings"
msgstr ""
-#: .././config.py:22347
+#: .././config.py:22721
msgid "TRANSLATOR'S NOTE: These error messages are always in English"
msgstr "TRANSLATOR'S NOTE: These error messages are always in English"
-#: .././config.py:22351
+#: .././config.py:22725
msgid "Ignore 'Child process exited with non-zero code' errors"
msgstr "Ignore 'Child process exited with non-zero code' errors"
-#: .././config.py:22360
+#: .././config.py:22734
msgid ""
"Ignore 'Unable to download video data' and 'Unable to extract video data' "
"errors"
@@ -7656,511 +7772,556 @@ msgstr ""
"Ignore 'Unable to download video data' and 'Unable to extract video data' "
"errors"
-#: .././config.py:22370
+#: .././config.py:22744
msgid "Ignore 'Did not get any data blocks' errors"
msgstr "Ignore 'Did not get any data blocks' errors"
-#: .././config.py:22379
+#: .././config.py:22753
msgid "Ignore 'Requested formats are incompatible for merge' warnings"
msgstr "Ignore 'Requested formats are incompatible for merge' warnings"
-#: .././config.py:22388
+#: .././config.py:22762
msgid "Ignore 'No video formats found' errors"
msgstr "Ignore 'No video formats found' errors"
-#: .././config.py:22396
+#: .././config.py:22770
msgid "Ignore 'There are no annotations to write' warnings"
msgstr "Ignore 'There are no annotations to write' warnings"
-#: .././config.py:22404
+#: .././config.py:22778
msgid "Ignore 'Video doesn't have subtitles' warnings"
msgstr "Ignore 'Video doesn't have subtitles' warnings"
-#: .././config.py:22412
+#: .././config.py:22786
msgid "Ignore 'A channel/user page was given' warnings"
msgstr ""
-#: .././config.py:22420
+#: .././config.py:22794
msgid "Ignore 'There's no playlist description to write' warnings"
msgstr ""
-#: .././config.py:22429
+#: .././config.py:22803
msgid ""
"Ignore 'Unable to download video thumbnail: HTTP Error 404: Not Fuund' "
"warnings"
msgstr ""
-#: .././config.py:22451
+#: .././config.py:22825
msgid "_Custom"
msgstr "_커스텀"
-#: .././config.py:22456
+#: .././config.py:22830
msgid "Custom downloads"
msgstr ""
-#: .././config.py:22477 .././config.py:24433
+#: .././config.py:22851 .././config.py:24928
msgid "Classic Mode"
msgstr "클래식 모드"
-#: .././config.py:22549 .././config.py:24507 .././config.py:24785
+#: .././config.py:22923 .././config.py:25002 .././config.py:25280
msgid "Export"
msgstr "내보내기"
-#: .././config.py:22558 .././config.py:24516 .././config.py:24794
+#: .././config.py:22932 .././config.py:25011 .././config.py:25289
msgid "Clone"
msgstr "복제"
-#: .././config.py:22567 .././config.py:24525
+#: .././config.py:22941 .././config.py:25020
msgid "Use in Classic Mode tab"
msgstr "클래식 모드 탭에서 사용"
-#: .././config.py:22670
+#: .././config.py:23044
msgid "_Archive"
msgstr ""
-#: .././config.py:22678
+#: .././config.py:23052
msgid "Archive file preferences"
msgstr ""
-#: .././config.py:22684
+#: .././config.py:23058
msgid ""
"Allow downloader to create its own archive file (so deleted videos are not "
"re-downloaded)"
msgstr ""
"다운로더가 아카이브 파일 생성하도록 허용 (삭제된 비디오 재 다운로드 방지)"
-#: .././config.py:22703
+#: .././config.py:23077
msgid "Store the archive file in the same location as the video"
msgstr ""
-#: .././config.py:22711
+#: .././config.py:23085
msgid ""
"N.B. Archive files are never stored in system folders like 'Unsorted Videos'"
msgstr ""
-#: .././config.py:22720
+#: .././config.py:23094
msgid "Store the archive file in Tartube's data directory"
msgstr ""
-#: .././config.py:22731
+#: .././config.py:23105
msgid "Store the archive file at this location:"
msgstr ""
-#: .././config.py:22811
+#: .././config.py:23185
msgid "Classic Mode tab preferences"
msgstr ""
-#: .././config.py:22817
+#: .././config.py:23191
msgid "Create an archive file when downloading from the Classic Mode tab"
msgstr ""
-#: .././config.py:22828
+#: .././config.py:23202
msgid ""
"This setting should only be enabled when downloading channels and playlists"
msgstr ""
-#: .././config.py:22856
+#: .././config.py:23222
+msgid "Li_vestreams"
+msgstr ""
+
+#: .././config.py:23230
msgid "Livestream preferences (compatible websites only)"
msgstr "생방송 환경 설정 (호환 가능한 사이트만 가능)"
-#: .././config.py:22862
+#: .././config.py:23236
msgid "Detect livestreams announced within this many days"
msgstr "이 기간 내 예약된 생방송 탐지 (일)"
-#: .././config.py:22877
+#: .././config.py:23251
msgid "How often to check the status of livestreams (in minutes)"
msgstr "생방송을 탐지할 주기 (분)"
-#: .././config.py:22896
+#: .././config.py:23270
msgid "Check more frequently when a livestream is due to start"
msgstr "생방송이 시작해야될 때 더 자주 확인"
-#: .././config.py:22939
-msgid "Broadcast preferences (compatible websites only)"
-msgstr "브로드캐스트 환경 설정 (호환 가능한 사이트만 가능)"
+#: .././config.py:23313
+msgid "Broadcasting livestream preferences (compatible websites only)"
+msgstr ""
-#: .././config.py:22946
+#: .././config.py:23321
msgid ""
-"Use Youtube Stream Capture to download broadcasting livestreams (requires "
-"aria2)"
+"These settings apply when downloading videos individually, for example with "
+"a custom download"
msgstr ""
-"브로드캐스트 생방송을 다운로드 할때 유튜브 스트림 캡처 사용하기 (aria2 필요)"
-#: .././config.py:22957
+#: .././config.py:23337
+msgid "Download using:"
+msgstr ""
+
+#: .././config.py:23352
+msgid ".m3u manifest"
+msgstr ""
+
+#: .././config.py:23380
+msgid "Replace a partially-downloaded livestream"
+msgstr ""
+
+#: .././config.py:23387
+msgid "Resume a partially-downloaded livestream"
+msgstr ""
+
+#: .././config.py:23421
msgid ""
-"N.B. If this option is not selected, youtube-dl will still try to download "
-"livestreams"
+"Bypass usual limits on simultaneous downloads, so that all livestreams can "
+"be downloaded"
msgstr ""
-#: .././config.py:22964
+#: .././config.py:23434
msgid "Timeout after this many minutes of inactivity"
msgstr "비활성 시 타임아웃 시간 설정 (분)"
-#: .././config.py:22978
-msgid "Number of restarts after a timeout"
-msgstr "타임아웃 시 재시도 횟수"
-
-#: .././config.py:22993
+#: .././config.py:23450
msgid ""
-"Bypass usual limits on simultaneous downloads, so that all broadcasts can be "
+"When the livestream download is stopped manually, mark the video as "
"downloaded"
msgstr ""
-"모든 브로드캐스트를 다운로드 할 수 있도록 동시 다운로드에 대한 일반적인 제한"
-"사항 우회"
-#: .././config.py:23039
+#: .././config.py:23464
+msgid ""
+"Check a video before the livestream download (ensures metadata is downloaded)"
+msgstr ""
+
+#: .././config.py:23478
+msgid "N.B. This setting is ignored in the Classic Mode tab"
+msgstr ""
+
+#: .././config.py:23496
+#, python-brace-format
+msgid ""
+"N.B. To prevent {0} from downloading livestreams at all, use a custom "
+"download"
+msgstr ""
+
+#: .././config.py:23502
+msgid "not recommended"
+msgstr ""
+
+#: .././config.py:23519
msgid "Ac_tions"
msgstr ""
-#: .././config.py:23047
+#: .././config.py:23527
msgid "Livestream actions (can be toggled for individual videos)"
msgstr "생방송 행동 (개별 비디오에 대해 토글 가능)"
-#: .././config.py:23054
+#: .././config.py:23534
msgid "(currently disabled on MS Windows)"
msgstr "(현재 MS Windows에서는 비활성화됨)"
-#: .././config.py:23059
+#: .././config.py:23539
msgid "When a livestream starts, show a desktop notification"
msgstr "생방송이 시작되면, 데스크탑 알림으로 알림"
-#: .././config.py:23073
+#: .././config.py:23553
msgid "When a livestream starts, sound an alarm"
msgstr "생방송이 시작되면, 알람을 소리로 울림"
-#: .././config.py:23096
+#: .././config.py:23576
msgid "Plays the selected sound effect"
msgstr "선택한 사운드 효과 재생"
-#: .././config.py:23103
+#: .././config.py:23583
msgid "When a livestream starts, open it in the system's web browser"
msgstr "생방송이 시작되면, 시스템의 웹브라우저로 실행"
-#: .././config.py:23115
+#: .././config.py:23595
msgid "When a livestream starts, begin downloading it immediately"
msgstr "생방송이 시작되면, 즉시 다운로드 시작"
-#: .././config.py:23141
+#: .././config.py:23621
msgid "Desktop notification preferences"
msgstr "데스크탑 알림 환경 설정"
-#: .././config.py:23147
+#: .././config.py:23627
msgid "Show a dialogue window at the end of an operation"
msgstr "작업 종료 후에 다이얼로그 윈도우 표시"
-#: .././config.py:23170
+#: .././config.py:23650
msgid "Don't notify the user at the end of an operation"
msgstr "작업이 끝나도 유저에게 알리지 않기"
-#: .././config.py:23215
+#: .././config.py:23688
+msgid "Cli_ps"
+msgstr ""
+
+#: .././config.py:23695
msgid "Video clips (requires FFmpeg)"
msgstr ""
-#: .././config.py:23221
+#: .././config.py:23701
msgid ""
"When a video is checked/downloaded, automatically extract timestamps from "
"its metadata file"
msgstr ""
-#: .././config.py:23232
+#: .././config.py:23712
msgid ""
"When a video is checked/downloaded, automatically extract timestamps from "
"its description"
msgstr ""
-#: .././config.py:23242
+#: .././config.py:23722
msgid "If timestamps have already been extracted, replace them"
msgstr ""
-#: .././config.py:23254
+#: .././config.py:23734
msgid ""
"If no timestamps have been extracted, try again before splitting a video"
msgstr ""
-#: .././config.py:23267
+#: .././config.py:23747
msgid "Format of video clip filenames"
msgstr ""
-#: .././config.py:23272
+#: .././config.py:23752
msgid "Number"
msgstr ""
-#: .././config.py:23273
+#: .././config.py:23753
msgid "Clip Title"
msgstr ""
-#: .././config.py:23274
+#: .././config.py:23754
msgid "Number + Clip Title"
msgstr ""
-#: .././config.py:23275
+#: .././config.py:23755
msgid "Clip Title + Number"
msgstr ""
-#: .././config.py:23276
+#: .././config.py:23756
msgid "Original Title"
msgstr ""
-#: .././config.py:23277
+#: .././config.py:23757
msgid "Original Title + Number"
msgstr ""
-#: .././config.py:23278
+#: .././config.py:23758
msgid "Original Title + Clip Title"
msgstr ""
-#: .././config.py:23279
+#: .././config.py:23759
msgid "Original Title + Number + Clip Title"
msgstr ""
-#: .././config.py:23280
+#: .././config.py:23760
msgid "Original Title + Clip Title + Number"
msgstr ""
-#: .././config.py:23307
+#: .././config.py:23787
msgid "Generic title for video clips"
msgstr ""
-#: .././config.py:23324
+#: .././config.py:23804
msgid "Move clips to the Video Clips folder"
msgstr ""
-#: .././config.py:23331
+#: .././config.py:23811
msgid "Keep clips with their original video"
msgstr ""
-#: .././config.py:23344
+#: .././config.py:23824
msgid "...but place new files inside a sub-directory"
msgstr ""
-#: .././config.py:23355
+#: .././config.py:23835
msgid "Add new files to Tartube's database"
msgstr ""
-#: .././config.py:23366
+#: .././config.py:23846
msgid "Use the original video's thumbnail"
msgstr ""
-#: .././config.py:23374
+#: .././config.py:23854
msgid "After splitting a video, open the destination folder"
msgstr ""
-#: .././config.py:23376
+#: .././config.py:23856
msgid "After splitting a video, open the destination directory"
msgstr ""
-#: .././config.py:23388
+#: .././config.py:23868
msgid ""
"After splitting a video, delete the original (ignored for videos in channels/"
"playlists)"
msgstr ""
-#: .././config.py:23418
+#: .././config.py:23891
+msgid "Slic_es"
+msgstr ""
+
+#: .././config.py:23898
msgid "Video slices (requires FFmpeg)"
msgstr ""
-#: .././config.py:23424
+#: .././config.py:23904
msgid ""
"While checking/downloading videos, check each video against the SponsorBlock "
"server"
msgstr ""
-#: .././config.py:23435
+#: .././config.py:23915
msgid "When contacting the server, obfuscate each video's ID (recommended)"
msgstr ""
-#: .././config.py:23449
+#: .././config.py:23929
msgid "If slices have already been extracted, replace the old list"
msgstr ""
-#: .././config.py:23462
+#: .././config.py:23942
msgid ""
"If slices have been extracted, contact the server again before removing more "
"slices from the video"
msgstr ""
-#: .././config.py:23476
+#: .././config.py:23956
msgid ""
"After removing slices from a video, reset all timestamp and slice data "
"(recommended)"
msgstr ""
-#: .././config.py:23515
-msgid "When checking/downloading videos, store comments in the metadata file"
+#: .././config.py:23982
+msgid "C_omments"
+msgstr ""
+
+#: .././config.py:23994
+msgid "When checking videos, store comments in the metadata file"
+msgstr ""
+
+#: .././config.py:24002
+msgid "When downloading videos, store comments in the metadata file"
msgstr ""
-#: .././config.py:23525
+#: .././config.py:24010
msgid ""
"Warning: fetching comments will increase the download time, perhaps by a lot!"
msgstr ""
-#: .././config.py:23531
+#: .././config.py:24016
msgid "Also store comments in the Tartube database"
msgstr ""
-#: .././config.py:23548
+#: .././config.py:24041
msgid ""
"Warning: storing comments will increase the size of Tartube's datbase, "
"perhaps by a lot!"
msgstr ""
-#: .././config.py:23568
-msgid "_Mirrors"
-msgstr ""
-
-#: .././config.py:23575
+#: .././config.py:24068
msgid "Invidious mirror"
msgstr "Invidious 미러"
-#: .././config.py:23581
+#: .././config.py:24074
msgid "To find an updated list of Invidious mirrors, use any search engine!"
msgstr "Invidious 미러 최신 버전 링크를 확인할려면 검색 엔진을 사용하세요!"
-#: .././config.py:23596
+#: .././config.py:24089
msgid "Use the default Invidious mirror"
msgstr ""
-#: .././config.py:23611
+#: .././config.py:24104
msgid "SponsorBlock API mirror"
msgstr ""
-#: .././config.py:23624
+#: .././config.py:24117
msgid "Use the default SponsorBlock URL"
msgstr ""
-#: .././config.py:23641
-msgid "_Proxies"
-msgstr "_프록시"
+#: .././config.py:24134
+msgid "P_roxies"
+msgstr ""
-#: .././config.py:23647
+#: .././config.py:24140
msgid "Proxies"
msgstr "프록시"
-#: .././config.py:23654
+#: .././config.py:24147
msgid ""
"During a download operation, Tartube will cycle betwween the proxies in this "
"list"
msgstr "다운로드 작업 중, Tartube가 리스트에 있는 프록시를 경유합니다"
-#: .././config.py:23680
-msgid "P_references"
-msgstr "_환경 설정"
+#: .././config.py:24173
+msgid "Pre_ferences"
+msgstr ""
-#: .././config.py:23687
+#: .././config.py:24180
msgid "URL flexibility preferences"
msgstr "URL 유연성 기본 설정"
-#: .././config.py:23694
+#: .././config.py:24187
msgid ""
"If a video's URL represents a channel/playlist, not a video, don't download "
"it"
msgstr "비디오 URL이 채널이나 플레이리스트라면 다운로드받지 않기"
-#: .././config.py:23703
+#: .././config.py:24196
msgid "...or, download multiple videos into the containing folder"
msgstr "...혹은, 포함된 폴더로 여러 동영상을 다운로드 받기"
-#: .././config.py:23713
+#: .././config.py:24206
msgid "...or, create a new channel, and download the videos into that"
msgstr "...혹은, 새로운 채널을 만들어서, 거기에 비디오 받기"
-#: .././config.py:23724
+#: .././config.py:24217
msgid "...or, create a new playlist, and download the videos into that"
msgstr "...혹은, 새로운 플레이리스트를 만들어서, 거기에 비디오 받기"
-#: .././config.py:23756
+#: .././config.py:24249
msgid "Missing video preferences"
msgstr "사라진 비디오 환경 설정"
-#: .././config.py:23762
+#: .././config.py:24255
msgid ""
"Add videos which have been removed from a channel/playlist to the Missing "
"Videos folder"
msgstr "채널/플레이리스트에서 사라진 비디오를 '사라진 비디오' 폴더에 추가하기"
-#: .././config.py:23773
+#: .././config.py:24266
msgid "Only add videos that were uploaded within this many days"
msgstr "이 기간 내에 업로드 된 동영상만 추가(일)"
-#: .././config.py:23847
+#: .././config.py:24340
msgid "_Forks"
msgstr "_포크"
-#: .././config.py:23853
+#: .././config.py:24346
msgid "Forks of youtube-dl"
msgstr "youtube-dl의 포크"
-#: .././config.py:23882
+#: .././config.py:24375
msgid "Use yt-dlp"
msgstr ""
-#: .././config.py:23888
+#: .././config.py:24381
msgid "Install without dependencies"
msgstr ""
-#: .././config.py:23889
+#: .././config.py:24382
msgid "(recommended on MS Windows)"
msgstr ""
-#: .././config.py:23920
+#: .././config.py:24413
msgid "Use youtube-dl"
msgstr "youtube-dl 사용"
-#: .././config.py:23941
+#: .././config.py:24434
msgid "Other forks"
msgstr ""
-#: .././config.py:23949
+#: .././config.py:24442
msgid "Use this fork:"
msgstr ""
-#: .././config.py:24029
+#: .././config.py:24522
msgid "When using other downloaders, filter out yt-dlp download options"
msgstr ""
-#: .././config.py:24051
-msgid "_File paths"
-msgstr "_파일 경로"
+#: .././config.py:24544
+msgid "File _paths"
+msgstr ""
-#: .././config.py:24058
+#: .././config.py:24551
msgid "Downloader file paths"
msgstr "다운로더 파일 경로"
-#: .././config.py:24064
+#: .././config.py:24557
msgid "Path to the executable"
msgstr "실행 파일 경로"
#. (Signal connect appears below)
-#: .././config.py:24070 .././config.py:24240 .././config.py:24281
-#: .././config.py:24355 .././config.py:32023
+#: .././config.py:24563 .././config.py:24733 .././config.py:24774
+#: .././config.py:32696
msgid "Use default path"
msgstr "기본 경로 사용"
-#: .././config.py:24080 .././config.py:32037
+#: .././config.py:24573 .././config.py:32710
msgid "Use local path"
msgstr "로컬 경로 사용"
-#: .././config.py:24087
+#: .././config.py:24580
msgid "Use custom path"
msgstr "커스텀 경로 사용"
-#: .././config.py:24096 .././config.py:32049
+#: .././config.py:24589 .././config.py:32722
msgid "Use PyPI path"
msgstr "PyPI 경로 사용"
-#: .././config.py:24156
+#: .././config.py:24649
msgid "Command for update operations"
msgstr "업데이트 작업 명령"
-#: .././config.py:24209
-msgid "_FFmpeg / AVConv"
-msgstr "_FFmpeg / AVConv"
+#: .././config.py:24702
+msgid "FF_mpeg / AVConv"
+msgstr ""
-#: .././config.py:24216
+#: .././config.py:24709
msgid "Post-processor file paths"
msgstr ""
-#: .././config.py:24221
+#: .././config.py:24714
msgid ""
"You only need to set these paths if Tartube cannot find FFmpeg / AVConv "
"automatically"
@@ -8168,329 +8329,317 @@ msgstr ""
"Tartube가 FFmpeg / AVConv 경로를 자동으로 찾을 수 없는 경우에만 경로 설정을 "
"진행하면 됩니다"
-#: .././config.py:24228
+#: .././config.py:24721
msgid "Path to the FFmpeg executable"
msgstr "FFmpeg 실행 파일 경로"
-#: .././config.py:24255
+#: .././config.py:24748 .././config.py:24852
msgid "Install from main menu"
msgstr "메인 메뉴에서 설치"
-#: .././config.py:24269
+#: .././config.py:24762
msgid "Path to the AVConv executable"
msgstr "AVConv 실행 파일 경로"
-#: .././config.py:24296
+#: .././config.py:24789
msgid "Not supported on MS Windows"
msgstr "MS Windows에서는 지원하지 않음"
-#: .././config.py:24324
-msgid "_Stream Capture"
-msgstr "_스트림 캡처"
-
-#: .././config.py:24331
-msgid "Youtube Stream Capture file path"
-msgstr "유튜브 스트림 캡처 파일 경로"
+#: .././config.py:24817
+msgid "_streamlink"
+msgstr ""
-#: .././config.py:24336
-msgid ""
-"Tartube includes a copy of this script, but you can use a different copy, if "
-"you want"
+#: .././config.py:24824
+msgid "streamlink file path"
msgstr ""
-"Tartube는 기본적으로 이 스크립트의 복사본을 포함하지만, 다른 복사본을 사용할 "
-"수도 있습니다"
-#: .././config.py:24343
-msgid "Path to the YT Stream Capture executable"
-msgstr "YT 스트림 캡처 실행파일 경로"
+#: .././config.py:24829
+msgid "Path to the streamlink executable"
+msgstr ""
-#: .././config.py:24406
+#: .././config.py:24901
msgid "_Download options"
msgstr "_다운로드 설정"
-#: .././config.py:24413
+#: .././config.py:24908
msgid "List of download options"
msgstr ""
-#: .././config.py:24433
+#: .././config.py:24928
msgid "Videos tab"
msgstr ""
-#: .././config.py:24434
+#: .././config.py:24929
msgid "Dropzone"
msgstr ""
-#: .././config.py:24434
+#: .././config.py:24929
msgid "Applied to media"
msgstr "적용된 미디어"
-#: .././config.py:24640
+#: .././config.py:25135
msgid "_Preferences"
msgstr "_환경 설정"
-#: .././config.py:24647
+#: .././config.py:25142
msgid "Download options preferences"
msgstr "다운로드 환경 설정"
-#: .././config.py:24653
+#: .././config.py:25148
msgid ""
"When applying download options to something, clone the general download "
"options"
msgstr "다운로드 설정을 적용할 때, 일반 다운로드 설정 복제"
-#: .././config.py:24664
+#: .././config.py:25159
msgid "After downloading a video, destroy its download options"
msgstr "비디오 다운로드 후, 그것의 다운로드 설정 삭제"
-#: .././config.py:24686
+#: .././config.py:25181
msgid "_FFmpeg options"
msgstr "_FFmpeg 설정"
-#: .././config.py:24693
+#: .././config.py:25188
msgid "List of FFmpeg options managers"
msgstr "FFmpeg 설정 매니저 리스트"
-#: .././config.py:24713
+#: .././config.py:25208
msgid "Current"
msgstr "사용"
-#: .././config.py:24803
+#: .././config.py:25298
msgid "Use these options"
msgstr "이 옵션 사용"
#. Add this tab...
-#: .././config.py:24893
+#: .././config.py:25388
msgid "O_utput"
msgstr "_출력"
-#: .././config.py:24917
+#: .././config.py:25412
msgid "_Output tab"
msgstr "_출력 탭"
-#: .././config.py:24924
+#: .././config.py:25419
msgid "Output tab preferences"
msgstr "출력 탭 환경 설정"
-#: .././config.py:24929
+#: .././config.py:25424
msgid "Display downloader system commands in the Output tab"
msgstr "출력 탭에 다운로드 시스템 커맨드 표시"
-#: .././config.py:24938
+#: .././config.py:25433
msgid "Display output from downloader's STDOUT in the Output tab"
msgstr "출력 탭에 다운로더의 STDOUT 출력 표시"
-#: .././config.py:24947 .././config.py:25114
+#: .././config.py:25442 .././config.py:25609
msgid "...but don't write each video's JSON data"
msgstr "...하지만 각각의 JSON 데이터는 쓰지 않기"
-#: .././config.py:24958 .././config.py:25125
+#: .././config.py:25453 .././config.py:25620
msgid "...but don't write each video's download progress"
msgstr "...하지만 각각의 비디오 다운로드 진행 상황은 쓰지 않기"
-#: .././config.py:24977
+#: .././config.py:25472
msgid "Display output from downloader's STDERR in the Output tab"
msgstr "출력 탭에 다운로더의 STDERR 출력 표시"
-#: .././config.py:24986
+#: .././config.py:25481
msgid "Limit the size of Output tab pages to"
msgstr "출력 탭의 페이지 사이즈 제한하기"
-#: .././config.py:25007
+#: .././config.py:25502
msgid "Empty pages in the Output tab at the start of every operation"
msgstr "모든 작업을 시작 할 때 출력 탭 비우기"
-#: .././config.py:25017
+#: .././config.py:25512
msgid ""
"Show a summary of active threads (changes are applied when Tartube restarts)"
msgstr "활성 스레드 요약 표시 (Tartube를 재시작 시 변경 사항 적용)"
-#: .././config.py:25029
+#: .././config.py:25524
msgid "During update/info operations, automatically switch to the Output tab"
msgstr ""
-#: .././config.py:25040
+#: .././config.py:25535
msgid "During a refresh operation, show all matching videos in the Output tab"
msgstr "새로고침 작업 중, 자동으로 출력 탭으로 전환"
-#: .././config.py:25051
+#: .././config.py:25546
msgid "...also show all non-matching videos"
msgstr "...또한 모든 비 매칭 비디오도 표시"
-#: .././config.py:25085
+#: .././config.py:25580
msgid "_Terminal window"
msgstr "_터미널 윈도우"
-#: .././config.py:25091
+#: .././config.py:25586
msgid "Terminal window preferences"
msgstr "터미널 윈도우 환경 설정"
-#: .././config.py:25096
+#: .././config.py:25591
msgid "Write downloader system commands to the terminal window"
msgstr "다운로더 시스템 커맨드를 터미널 윈도우에 쓰기"
-#: .././config.py:25105
+#: .././config.py:25600
msgid "Write output from downloader's STDOUT to the terminal window"
msgstr "다운로더의 STDOUT 출력을 터미널 윈도우에 쓰기"
-#: .././config.py:25147
+#: .././config.py:25642
msgid "Write output from downloader's STDERR to the terminal window"
msgstr "다운로더의 STDERR 출력을 터미널 윈도우에 쓰기"
-#: .././config.py:25171
+#: .././config.py:25666
msgid "_Both"
msgstr "_둘 다"
-#: .././config.py:25177
+#: .././config.py:25672
msgid ""
"Special preferences (applies to both the Output tab and the terminal window)"
msgstr "특별한 환경 설정 (출력 탭과 터미널 윈도우에 둘다 적용됨)"
-#: .././config.py:25184
+#: .././config.py:25679
msgid "Downloader writes verbose output (youtube-dl debugging mode)"
msgstr "다운로더가 상세한 출력 쓰도록 하기 (youtube-dl 디버깅 모드)"
-#: .././config.py:25193
-msgid "Youtube Stream Capture writes verbose output"
-msgstr "유튜브 스트림 캡처가 상세한 출력 쓰도록 하기"
-
#. Confirm the result
-#: .././config.py:26010 .././config.py:27956 .././config.py:28013
-#: .././config.py:28701 .././config.py:29938 .././config.py:29983
+#: .././config.py:26632 .././config.py:28586 .././config.py:28643
+#: .././config.py:29440 .././config.py:30677 .././config.py:30722
#: .././refresh.py:482 .././refresh.py:590
msgid "Total videos:"
msgstr "총 비디오:"
-#: .././config.py:26011 .././config.py:27958 .././config.py:28015
-#: .././config.py:28702 .././config.py:29939 .././config.py:29984
+#: .././config.py:26633 .././config.py:28588 .././config.py:28645
+#: .././config.py:29441 .././config.py:30678 .././config.py:30723
msgid "Videos updated:"
msgstr ""
-#: .././config.py:26248
+#: .././config.py:26845
msgid "Are you sure you want to rename this channel?"
msgstr ""
-#: .././config.py:26250
+#: .././config.py:26847
msgid "Are you sure you want to rename this playlist?"
msgstr ""
-#: .././config.py:26252
+#: .././config.py:26849
msgid "Are you sure you want to rename this folder?"
msgstr ""
-#: .././config.py:26292
+#: .././config.py:26889
msgid "That is not a valid URL"
msgstr ""
-#: .././config.py:26313
+#: .././config.py:26910
msgid "Are you sure you want to update the URL?"
msgstr ""
-#: .././config.py:26360
+#: .././config.py:26957
msgid "The regex is invalid"
msgstr ""
-#: .././config.py:26408
+#: .././config.py:27005
msgid "Are you sure you want to update these URLs?"
msgstr ""
-#: .././config.py:26628
+#: .././config.py:27225
msgid "The default custom download manager cannot be deleted"
msgstr ""
-#: .././config.py:26636
+#: .././config.py:27233
msgid "Are you sure you want to delete this custom download manager?"
msgstr ""
-#: .././config.py:26907
+#: .././config.py:27504
msgid "Are you sure you want to create a new database at this location?"
msgstr "정말로 이 위치에 새로운 데이터베이스를 만드시겠습니까?"
-#: .././config.py:27014
+#: .././config.py:27611
msgid "Are you sure you want to forget this database?"
msgstr "정말로 이 데이터베이스를 잊어버리시겠습니까?"
-#: .././config.py:27049
+#: .././config.py:27646
msgid "Are you sure you want to forget all databases except the current one?"
msgstr ""
"정말로 이 데이터베이스를 제외한 모든 데이터베이스를 잊어버리시겠습니까?"
-#: .././config.py:27252
+#: .././config.py:27849
msgid "No database exists at this location:"
msgstr "이 위치에 아무 데이터베이스도 없습니다:"
-#: .././config.py:27254
+#: .././config.py:27851
msgid "Do you want to create a new one?"
msgstr "정말로 새것을 만듭니까?"
-#: .././config.py:27679
+#: .././config.py:28309
msgid "Select a Tartube database file"
msgstr ""
-#: .././config.py:27701
+#: .././config.py:28331
msgid "This file is not loadable (might be corrupted)"
msgstr ""
-#: .././config.py:27712
+#: .././config.py:28342
msgid "This file does is not compatible with Tartube"
msgstr ""
-#: .././config.py:27722
+#: .././config.py:28352
msgid "This file was loaded, but is empty"
msgstr ""
-#: .././config.py:28184
+#: .././config.py:28814
msgid "The current options manager cannot be deleted"
msgstr "현재 설정 관리자를 삭제할 수 없습니다"
-#: .././config.py:28192 .././config.py:29294
+#: .././config.py:28822 .././config.py:30033
msgid "Are you sure you want to delete this options manager?"
msgstr "정말로 이 설정 관리자를 삭제하시겠습니까?"
-#: .././config.py:28366 .././config.py:28757 .././config.py:30763
+#: .././config.py:28996 .././config.py:29496 .././config.py:31502
msgid "The new setting will be applied when Tartube restarts"
msgstr "새 설정은 Tartube가 재시작 시 적용됩니다"
-#: .././config.py:29286
+#: .././config.py:30025
msgid "The default options manager cannot be deleted"
msgstr "기본 설정 매니저를 삭제할 수 없습니다"
-#: .././config.py:30351
+#: .././config.py:31090
msgid "There is already a scheduled download with that name"
msgstr "이미 동일한 이름의 예약 다운로드가 존재합니다"
-#: .././config.py:30398
+#: .././config.py:31137
msgid "Are you sure you want to delete this scheduled download?"
msgstr "정말로 이 예약 다운로드를 삭제하시겠습니까?"
-#: .././config.py:30583
+#: .././config.py:31322
msgid "Select the location of the archive file"
msgstr ""
-#: .././config.py:30616
+#: .././config.py:31355
msgid "Please select the AVConv executable"
msgstr "AVConv 실행 파일을 선택해주세요"
-#: .././config.py:30649
+#: .././config.py:31388
msgid "Please select the FFmpeg executable"
msgstr "FFmpeg 실행 파일을 선택해주세요"
-#: .././config.py:30682
-msgid "Please select the Youtube Stream Capture executable"
-msgstr "Youtube Stream Capture 실행 파일을 선택해주세요"
+#: .././config.py:31421
+msgid "Please select the streamlink executable"
+msgstr ""
-#: .././config.py:31702
+#: .././config.py:32462
msgid "Select the youtube-dl-compatible executable"
msgstr "youtube-dl-compatible 실행 파일을 선택해주세요"
-#: .././config.py:31946
+#: .././config.py:32618
msgid "Database file not loaded"
msgstr "데이터베이스 파일이 로드되지 않음"
-#: .././config.py:31966
+#: .././config.py:32638
msgid "Did not try to load the database file"
msgstr "데이터베이스 파일을 로드하지 않았습니다"
-#: .././config.py:31991
+#: .././config.py:32663
msgid "Database file loaded"
msgstr "데이터베이스 파일 불러옴"
@@ -8522,9 +8671,9 @@ msgstr ""
msgid "All threads finished"
msgstr "모든 스레드 완료"
-#: .././downloads.py:454 .././downloads.py:1287 .././downloads.py:1298
-#: .././downloads.py:1370 .././downloads.py:1455 .././downloads.py:1493
-#: .././downloads.py:1562
+#: .././downloads.py:454 .././downloads.py:1284 .././downloads.py:1295
+#: .././downloads.py:1367 .././downloads.py:1452 .././downloads.py:1490
+#: .././downloads.py:1578 .././downloads.py:1638
msgid "Thread #"
msgstr "스레드 #"
@@ -8544,447 +8693,382 @@ msgstr "모든 작업 중지"
msgid "Join and collect threads"
msgstr "스레드 조인 및 수집"
-#: .././downloads.py:1288
+#: .././downloads.py:1285
msgid "Job complete"
msgstr "작업 완료"
-#: .././downloads.py:1299
+#: .././downloads.py:1296
msgid "Worker now available again"
msgstr "작업자 재사용 가능"
-#: .././downloads.py:1371 .././downloads.py:1494 .././downloads.py:1563
+#: .././downloads.py:1368 .././downloads.py:1491 .././downloads.py:1579
+#: .././downloads.py:1639
msgid "Assigned job:"
msgstr "할당된 작업:"
-#: .././downloads.py:1408 .././downloads.py:1412
+#: .././downloads.py:1405 .././downloads.py:1409
msgid "Tartube is restarting a stalled download"
msgstr "Tartube가 지연된 작업을 재시작 중"
-#: .././downloads.py:1456
+#: .././downloads.py:1453
msgid "Checking RSS feed"
msgstr "RSS 피드 확인중"
-#: .././downloads.py:2083
+#: .././downloads.py:2162
msgid "Cannot download videos in a private folder"
msgstr "개인 폴더에 있는 비디오를 다운받지 못했습니다"
-#: .././downloads.py:3361 .././downloads.py:8108
+#: .././downloads.py:3449 .././downloads.py:8393
msgid "Download did not start"
msgstr "다운로드 시작하지 않음"
-#: .././downloads.py:3367 .././downloads.py:8120 .././info.py:310
-#: .././updates.py:256 .././updates.py:368 .././updates.py:538
+#: .././downloads.py:3455 .././downloads.py:8399 .././info.py:310
+#: .././updates.py:261 .././updates.py:373 .././updates.py:486
+#: .././updates.py:656
msgid "Child process exited with non-zero code: {}"
msgstr "하위 프로세스가 0이 아닌 코드로 종료됨: {}"
-#: .././downloads.py:3495 .././downloads.py:4751
+#: .././downloads.py:3583 .././downloads.py:4819
msgid ""
"This video has a URL that points to a channel or a playlist, not a video"
msgstr "이 URL은 비디오가 아닌 채널이나 플레이리스트를 가르키고 있습니다"
-#: .././downloads.py:4617 .././downloads.py:4633
+#: .././downloads.py:4685 .././downloads.py:4701
msgid "Simulated download of:"
msgstr "다음 시뮬레이션 다운로드:"
-#: .././downloads.py:4641
+#: .././downloads.py:4709
msgid "Simulated download of video with unprintable characters"
msgstr "출력할 수 없는 문자가 포함된 비디오 시뮬레이션 다운로드"
-#: .././downloads.py:6436
+#: .././downloads.py:6566
msgid "No timestamps defined in video's timestamp list"
msgstr ""
-#: .././downloads.py:6454
+#: .././downloads.py:6584
msgid ""
"FAILED: Can't create the destination folder either because a folder with the "
"same name already exists, or because new folders can't be added to the "
"parent folder"
msgstr ""
-#: .././downloads.py:6592 .././downloads.py:6854
+#: .././downloads.py:6722 .././downloads.py:6984
msgid "FAILED: Clip download did not start"
msgstr ""
-#: .././downloads.py:6600 .././downloads.py:6862
+#: .././downloads.py:6730 .././downloads.py:6992
msgid "FAILED: Child process exited with non-zero code: {}"
msgstr ""
-#: .././downloads.py:6707
+#: .././downloads.py:6837
msgid "No slices defined in video's slice list"
msgstr ""
-#: .././downloads.py:6886
+#: .././downloads.py:7016
msgid "FAILED: One or more clips were not downloaded"
msgstr ""
-#: .././downloads.py:6983
+#: .././downloads.py:7113
msgid "FAILED: Can't concatenate clips"
msgstr ""
-#: .././downloads.py:7004
+#: .././downloads.py:7134
msgid ""
"FAILED: Clips were concatenated, but could not move the output file out of "
"the temporary directory"
msgstr ""
-#: .././downloads.py:7124
+#: .././downloads.py:7254
msgid "Failed to copy the original video's thumbnail"
msgstr ""
-#: .././downloads.py:7297
+#: .././downloads.py:7427
msgid "FAILED: Can't create a temporary folder for video clips"
msgstr ""
-#. This object creates more messages for the Output tab and/or terminal,
-#. than downloads.VideoDownloader would do, as the output generated by
-#. Youtube Stream Capture is not easy for the user to interpret
-#: .././downloads.py:7999
-msgid "Tartube is starting the stream capture..."
-msgstr "Tartube가 스트림 캡처를 시작합니다..."
-
-#: .././downloads.py:8017
-msgid "Could not create a destination directory, capture halted"
-msgstr "목적지 디렉토리를 생성하지 못해, 캡처 중지됨"
-
-#: .././downloads.py:8038 .././downloads.py:8063
-msgid "Youtube Stream Capture script not found:"
-msgstr "유튜브 스트림 캡처 스크립트를 발견하지 못함:"
-
-#: .././downloads.py:8112
-msgid "Failed to capture the livestream"
-msgstr "생방송 캡처 실패"
+#. There are currently three download methods, specified by self.dl_mode
+#: .././downloads.py:8152
+msgid "Tartube is starting the livestream download"
+msgstr ""
-#: .././downloads.py:8116
-msgid "Stream capture terminated"
-msgstr "스트림 캡처 중지"
+#: .././downloads.py:8176
+msgid "Invalid livestream download mode"
+msgstr ""
-#: .././downloads.py:8126
+#: .././downloads.py:8225
msgid ""
-"Stream captured terminated without downloading any video segments "
-"(indicating an error with the stream)"
+"Incomplete livestream download detected; removing the .part component from "
+"the output file"
msgstr ""
-"어떠한 비디오 세그먼트도 받지 못하고 스트림 캡처가 중지되었습니다 (스트림에 "
-"오류가 있음을 나타냄)"
-
-#. Capture successful
-#: .././downloads.py:8142
-msgid "Stream capture successful"
-msgstr "스트림 캡처 성공"
-#. Show a confirmation message
-#: .././downloads.py:8169
-msgid "Merging file segments..."
-msgstr "파일 세그먼트 병합중..."
-
-#: .././downloads.py:8189
-msgid "Segment merge did not start"
-msgstr "세그먼트 병합이 시작되지 않았습니다"
-
-#: .././downloads.py:8200
-msgid "Segment merge completed, but path not detected"
-msgstr "세그먼트 병합이 완료되었지만, 경로가 인식되지 않았습니다"
-
-#: .././downloads.py:8210
-msgid "Segment merge completed, but output file not found"
-msgstr "세그먼트 병합이 완료되었지만, 출력 파일이 발견되지 않음"
+#: .././downloads.py:8240
+msgid ""
+"Incomplete livestream download detected; to complete the download, right-"
+"click the video and select 'Finalise livestream'"
+msgstr ""
-#: .././downloads.py:8231
-msgid "File moved to:"
-msgstr "파일 이동됨:"
+#: .././downloads.py:8470 .././downloads.py:9007
+msgid "Failed to download the .m3u manifest"
+msgstr ""
-#: .././downloads.py:8236
-msgid "Livestream download is complete"
-msgstr "생방송 다운로드가 완료됨"
+#: .././downloads.py:8900
+msgid "Downloaded the .m3u manifest, now downloading the livestream..."
+msgstr ""
-#: .././downloads.py:8241
-msgid "Failed to move output file"
-msgstr "출력 파일을 이동하는 데 실패"
+#. ISO 639-1 Language Codes (with one extra key-value pair to handle live
+#. chat)
+#. English is top of the list, because it's the default setting in
+#. options.OptionsManager
+#. NB These values must not contain square brackets [...]
+#: .././formats.py:79
+msgid "English"
+msgstr ""
-#: .././downloads.py:8307
-#, python-brace-format
-msgid "Stream capture is frozen, trying again (restart #{0})"
-msgstr "스트림 캡처가 중지됨, 재시도 중 (재시작 #{0})"
+#: .././formats.py:121
+msgid "Dutch"
+msgstr ""
-#: .././downloads.py:8314
-msgid "Stream capture is frozen, giving up"
-msgstr "스트림 캡처가 중지되어 포기함"
+#: .././formats.py:171
+msgid "Korean"
+msgstr "한국어"
-#: .././formats.py:72
+#: .././formats.py:441
msgid "seconds"
msgstr "초"
-#: .././formats.py:73
+#: .././formats.py:442
msgid "minutes"
msgstr "분"
-#: .././formats.py:74
+#: .././formats.py:443
msgid "hours"
msgstr "시"
-#: .././formats.py:75
-msgid "days"
-msgstr "일"
-
-#: .././formats.py:76
+#: .././formats.py:445
msgid "weeks"
msgstr "주"
-#: .././formats.py:77
+#: .././formats.py:446
msgid "years"
msgstr "년"
-#: .././formats.py:94
+#: .././formats.py:463
msgid "Every day"
msgstr ""
-#: .././formats.py:95
+#: .././formats.py:464
msgid "Weekdays"
msgstr ""
-#: .././formats.py:96
+#: .././formats.py:465
msgid "Weekends"
msgstr ""
-#: .././formats.py:97
+#: .././formats.py:466
msgid "Monday"
msgstr ""
-#: .././formats.py:98
+#: .././formats.py:467
msgid "Tuesday"
msgstr ""
-#: .././formats.py:99
+#: .././formats.py:468
msgid "Wednesday"
msgstr ""
-#: .././formats.py:100
+#: .././formats.py:469
msgid "Thursday"
msgstr ""
-#: .././formats.py:101
+#: .././formats.py:470
msgid "Friday"
msgstr ""
-#: .././formats.py:102
+#: .././formats.py:471
msgid "Saturday"
msgstr ""
-#: .././formats.py:103
+#: .././formats.py:472
msgid "Sunday"
msgstr ""
-#. ISO 639-1 Language Codes (with one extra key-value pair to handle live
-#. chat)
-#. English is top of the list, because it's the default setting in
-#. options.OptionsManager
-#. NB These values must not contain square brackets [...]
-#: .././formats.py:425
-msgid "English"
-msgstr ""
-
-#: .././formats.py:467
-msgid "Dutch"
-msgstr ""
-
-#: .././formats.py:517
-msgid "Korean"
-msgstr "한국어"
-
#. System folder names
-#: .././formats.py:934
+#: .././formats.py:1122
msgid "All Videos"
msgstr "모든 비디오"
-#: .././formats.py:935
+#: .././formats.py:1123
msgid "Bookmarks"
msgstr "북마크"
-#: .././formats.py:936
+#: .././formats.py:1124
msgid "Favourite Videos"
msgstr "즐겨찾기"
-#: .././formats.py:937
+#: .././formats.py:1125
msgid "Livestreams"
msgstr "생방송"
-#: .././formats.py:938
+#: .././formats.py:1126
msgid "Missing Videos"
msgstr "사라진 비디오"
-#: .././formats.py:939
+#: .././formats.py:1127
msgid "New Videos"
msgstr "새 비디오"
-#: .././formats.py:940
+#: .././formats.py:1128
msgid "Recent Videos"
msgstr "최근 비디오"
-#: .././formats.py:941
+#: .././formats.py:1129
msgid "Waiting Videos"
msgstr "대기 비디오"
-#: .././formats.py:942
+#: .././formats.py:1130
msgid "Temporary Videos"
msgstr "임시 비디오"
-#: .././formats.py:943
+#: .././formats.py:1131
msgid "Unsorted Videos"
msgstr "정렬되지 않은 비디오"
-#: .././formats.py:944
+#: .././formats.py:1132
msgid "Video Clips"
msgstr ""
-#: .././formats.py:949
+#: .././formats.py:1137
msgid "Update using default youtube-dl path"
msgstr "기본 youtube-dl 경로를 이용해 업데이트"
-#: .././formats.py:951
+#: .././formats.py:1139
msgid "Update using local youtube-dl path"
msgstr "로컬 youtube-dl 경로를 이용해 업데이트"
-#: .././formats.py:953
+#: .././formats.py:1141
msgid "Update using custom youtube-dl path"
msgstr "커스텀 youtube-dl 경로를 이용해 업데이트"
-#: .././formats.py:955
+#: .././formats.py:1143
msgid "Update using pip"
msgstr "pip를 이용해 업데이트"
-#: .././formats.py:957
+#: .././formats.py:1145
msgid "Update using pip (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:959
+#: .././formats.py:1147
msgid "Update using pip (omit --user option)"
msgstr "pip를 이용해 업데이트 (--user 옵션 제외)"
-#: .././formats.py:961
+#: .././formats.py:1149
msgid "Update using pip3"
msgstr "pip3를 이용해 업데이트"
-#: .././formats.py:963
+#: .././formats.py:1151
msgid "Update using pip3 (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:965
+#: .././formats.py:1153
msgid "Update using pip3 (omit --user option)"
msgstr "pip3를 이용해 업데이트 (--user 옵션 제외)"
-#: .././formats.py:967
+#: .././formats.py:1155
msgid "Update using pip3 (recommended)"
msgstr "pip3를 이용해 업데이트 (추천됨)"
-#: .././formats.py:969
+#: .././formats.py:1157
msgid "Update using PyPI youtube-dl path"
msgstr "PyPI youtube-dl 경로를 이용해 업데이트"
-#: .././formats.py:971
+#: .././formats.py:1159
msgid "Windows 32-bit update (recommended)"
msgstr "Windows 32비트 업데이트 (추천됨)"
-#: .././formats.py:973
+#: .././formats.py:1161
msgid "Windows 32-bit update (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:975
+#: .././formats.py:1163
msgid "Windows 64-bit update (recommended)"
msgstr "Windows 64비트 업데이트 (추천됨)"
-#: .././formats.py:977
+#: .././formats.py:1165
msgid "Windows 64-bit update (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:979
+#: .././formats.py:1167
msgid "youtube-dl updates are disabled"
msgstr "youtube-dl 업데이트가 비활성화됨"
#. Download operation stages
-#: .././formats.py:983
+#: .././formats.py:1171
msgid "Queued"
msgstr "대기열"
-#: .././formats.py:984
+#: .././formats.py:1172
msgid "Not started"
msgstr ""
-#: .././formats.py:985
+#: .././formats.py:1173
msgid "Active"
msgstr "활성"
-#: .././formats.py:986
+#: .././formats.py:1174
msgid "Paused"
msgstr "일시정지"
#. (not actually used)
-#: .././formats.py:987
+#: .././formats.py:1175
msgid "Completed"
msgstr "완료"
#. (not actually used)
#. Sub-stages of the 'Error' stage
-#: .././formats.py:988 .././formats.py:1003
+#: .././formats.py:1176 .././formats.py:1189
msgid "Error"
msgstr "오류"
-#: .././formats.py:989
+#: .././formats.py:1177
msgid "Stalled"
msgstr "지연"
#. Sub-stages of the 'Active' stage
-#: .././formats.py:991
+#: .././formats.py:1179
msgid "Pre-processing"
msgstr "전처리 중"
-#: .././formats.py:992
-msgid "Downloading"
-msgstr "다운로드 중"
-
-#: .././formats.py:993
+#: .././formats.py:1181
msgid "Concatenating"
msgstr ""
-#: .././formats.py:994
+#: .././formats.py:1182
msgid "Post-processing"
msgstr "후처리 중"
-#: .././formats.py:995
-msgid "Capturing"
-msgstr "캡처중"
-
-#. Used by YTSC
-#: .././formats.py:996
-msgid "Merging"
-msgstr "병합중"
-
-#. Used by YTSC
-#: .././formats.py:997
-msgid "Checking"
-msgstr "확인중"
-
#. Sub-stages of the 'Completed' stage
-#: .././formats.py:999
+#: .././formats.py:1185
msgid "Finished"
msgstr "완료됨"
-#: .././formats.py:1000
+#: .././formats.py:1186
msgid "Warning"
msgstr "경고"
-#: .././formats.py:1001
+#: .././formats.py:1187
msgid "Already downloaded"
msgstr "이미 다운로드 됨"
#. (not actually used)
-#: .././formats.py:1004
+#: .././formats.py:1190
msgid "Stopped"
msgstr "정지됨"
-#: .././formats.py:1005
+#: .././formats.py:1191
msgid "Filesize abort"
msgstr "파일크기 중단"
-#: .././formats.py:1015
+#: .././formats.py:1201
msgid ""
"TRANSLATOR'S NOTE: ID refers to a video's unique ID on the website, e.g. on "
"YouTube \"CS9OO0S5w2k\""
@@ -8992,23 +9076,23 @@ msgstr ""
"TRANSLATOR'S NOTE: ID refers to a video's unique ID on the website, e.g. on "
"YouTube \"CS9OO0S5w2k\""
-#: .././formats.py:1024
+#: .././formats.py:1210
msgid "ID"
msgstr "ID"
-#: .././formats.py:1025
+#: .././formats.py:1211
msgid "Title"
msgstr "제목"
-#: .././formats.py:1026
+#: .././formats.py:1212
msgid "Quality"
msgstr "화질"
-#: .././formats.py:1027
+#: .././formats.py:1213
msgid "Autonumber"
msgstr "자동 번호"
-#: .././formats.py:1039
+#: .././formats.py:1225
msgid "Any format"
msgstr "아무 포맷"
@@ -9060,7 +9144,7 @@ msgstr "개발 버전 확인중..."
#. (The code in self.run() will spot that the child process did not
#. start)
-#: .././info.py:493 .././updates.py:194
+#: .././info.py:493 .././updates.py:199
msgid "Child process did not start"
msgstr "하위 프로세스 시작되지 않음"
@@ -9086,7 +9170,7 @@ msgstr "TRANSLATOR'S NOTE: Source = video/channel/playlist URL"
#. When the download operation is launched from the Classic Mode
#. tab, there is less to display
-#: .././media.py:553 .././media.py:2126 .././media.py:2142
+#: .././media.py:553 .././media.py:2118 .././media.py:2134
msgid "Source:"
msgstr "원본:"
@@ -9102,11 +9186,11 @@ msgstr "다운로드 목적지:"
msgid "unavailable"
msgstr ""
-#: .././media.py:591 .././media.py:2158
+#: .././media.py:591 .././media.py:2150
msgid "Errors\\Warnings"
msgstr "오류\\경고"
-#: .././media.py:2092
+#: .././media.py:2084
msgid ""
"TRANSLATOR'S NOTE: WAITING = livestream not started, LIVE = livestream "
"started"
@@ -9114,43 +9198,43 @@ msgstr ""
"TRANSLATOR'S NOTE: WAITING = livestream not started, LIVE = livestream "
"started"
-#: .././media.py:2097
+#: .././media.py:2089
msgid "WAITING"
msgstr "대기중"
-#: .././media.py:2099
+#: .././media.py:2091
msgid "LIVE"
msgstr "라이브"
-#: .././media.py:2104
+#: .././media.py:2096
msgid "BLOCKED"
msgstr ""
-#: .././media.py:2114 .././refresh.py:258 .././refresh.py:528
+#: .././media.py:2106 .././refresh.py:258 .././refresh.py:528
msgid "Channel:"
msgstr "채널:"
-#: .././media.py:2116 .././refresh.py:260 .././refresh.py:530
+#: .././media.py:2108 .././refresh.py:260 .././refresh.py:530
msgid "Playlist:"
msgstr "플레이리스트:"
-#: .././media.py:2118 .././refresh.py:262 .././refresh.py:532
+#: .././media.py:2110 .././refresh.py:262 .././refresh.py:532
msgid "Folder:"
msgstr "폴더:"
-#: .././media.py:2123
+#: .././media.py:2115
msgid "TRANSLATOR'S NOTE 2: Source = video/channel/playlist URL"
msgstr "TRANSLATOR'S NOTE 2: Source = video/channel/playlist URL"
-#: .././media.py:2132 .././media.py:2149
+#: .././media.py:2124 .././media.py:2141
msgid "File:"
msgstr "파일:"
-#: .././media.py:3313 .././media.py:3374
+#: .././media.py:3305 .././media.py:3366
msgid "Today"
msgstr "오늘"
-#: .././media.py:3315 .././media.py:3376
+#: .././media.py:3307 .././media.py:3368
msgid "Yesterday"
msgstr "어제"
@@ -9381,35 +9465,263 @@ msgstr "비디오 파일이 존재함:"
msgid "Video file doesn't exist:"
msgstr "비디오 파일이 존재하지 않음:"
-#: .././updates.py:212
+#: .././updates.py:217
msgid "Starting update operation, installing FFmpeg"
msgstr "업데이트 작업 시작, FFmpeg 설치중"
-#: .././updates.py:252
+#: .././updates.py:257
msgid "FFmpeg installation did not start"
msgstr "FFmpeg 설치가 시작되지 않음"
#. Show a confirmation in the the Output tab (or wizard window textview)
-#: .././updates.py:267 .././updates.py:379 .././updates.py:551
+#: .././updates.py:272 .././updates.py:384 .././updates.py:497
+#: .././updates.py:669
msgid "Update operation finished"
msgstr "업데이트 작업이 끝남"
-#: .././updates.py:324
+#: .././updates.py:329
msgid "Starting update operation, installing matplotlib"
msgstr ""
-#: .././updates.py:364
+#: .././updates.py:369
msgid "matplotlib installation did not start"
msgstr ""
-#: .././updates.py:438
+#: .././updates.py:442
+msgid "Starting update operation, installing streamlink"
+msgstr ""
+
+#: .././updates.py:482
+msgid "streamlink installation did not start"
+msgstr ""
+
+#: .././updates.py:556
msgid "Starting update operation, installing/updating "
msgstr "업데이트 설치 작업이 시작됨 "
-#: .././updates.py:531
+#: .././updates.py:649
msgid "Update did not start"
msgstr "업데이트가 시작하지 않음"
+#~ msgid "You only have {0} / {1} Mb remaining on your device"
+#~ msgstr "디바이스 장치에 남은 용량이 {0} / {1} Mb 밖에 없습니다"
+
+#~ msgid "_Close to tray"
+#~ msgstr "_트레이 아이콘으로 숨기기"
+
+#~ msgid "Sh_ow hidden folders"
+#~ msgstr "_숨긴 폴더 보이기"
+
+#~ msgid "_Add test media"
+#~ msgstr "_테스트 미디어 추가하기"
+
+#~ msgid "_Run test code"
+#~ msgstr "_테스트 코드 실행하기"
+
+#~ msgid "_Install FFmpeg..."
+#~ msgstr "_FFmpeg 설치..."
+
+#~ msgid "Channel co_ntents"
+#~ msgstr "채널 컨텐츠"
+
+#~ msgid "Playlist co_ntents"
+#~ msgstr "플레이리스트 컨텐츠"
+
+#~ msgid "Folder co_ntents"
+#~ msgstr "폴더 컨텐츠"
+
+#~ msgid "Add to _Classic Mode tab"
+#~ msgstr "_클래식 모드 탭에 추가하기"
+
+#~ msgid "Add to s_cheduled download..."
+#~ msgstr "_예약 다운로드에 추가하기..."
+
+#~ msgid "_Show system command..."
+#~ msgstr "_시스템 명령 표시하기..."
+
+#~ msgid "Show system _command"
+#~ msgstr "_시스템 커맨드 보이기"
+
+#~ msgid "_Show video"
+#~ msgstr "_비디오 보이기"
+
+#~ msgid "Watch on _YouTube"
+#~ msgstr "_유튜브에서 보기"
+
+#~ msgid "Watch on _Website"
+#~ msgstr "_웹사이트에서 보기"
+
+#~ msgid "_Edit download options"
+#~ msgstr "_다운로드 설정 편집"
+
+#~ msgid "Mark as not in wai_ting list"
+#~ msgstr "_대기 리스트로 표시 없애기"
+
+#~ msgid "_Download and watch"
+#~ msgstr "_다운로드 하고 보기"
+
+#~ msgid "Autonumber videos, starting at 0"
+#~ msgstr "자동 번호 비디오 (0부터 시작함)"
+
+#~ msgid "S_ubtitles"
+#~ msgstr "_자막"
+
+#~ msgid "Download all available subtitles files"
+#~ msgstr "만들어진 모든 자막파일 다운로드"
+
+#~ msgid "Download subtitles file for these languages:"
+#~ msgstr "이 언어들의 자막파일 다운로드:"
+
+#~ msgid "RSS feed"
+#~ msgstr "RSS 피드"
+
+#~ msgid "(The feed is used to detect livestreams on compatible websites)"
+#~ msgstr "(피드는 호환되는 웹 사이트 안에서 생방송을 감지할 때 사용됩니다)"
+
+#~ msgid "Size of device (in Mb)"
+#~ msgstr "디바이스 파일 크기 (Mb)"
+
+#~ msgid "Free space on device (in Mb)"
+#~ msgstr "디바이스 남은 공간 (Mb)"
+
+#~ msgid "Warn user if disk space is less than"
+#~ msgstr "디스크 공간이 적으면 경고해주기"
+
+#~ msgid "Automatic video deletion preferences"
+#~ msgstr "자동 비디오 삭제 환경 설정"
+
+#~ msgid "Automatically delete downloaded videos after this many days"
+#~ msgstr "이 기간이 지나면 다운로드한 비디오 자동 삭제"
+
+#~ msgid "...but only delete videos which have been watched"
+#~ msgstr "...하지만 시청한 비디오만 삭제"
+
+#~ msgid ""
+#~ "In the Errors/Warnings tab, don't reset the tab text when it is clicked"
+#~ msgstr "오류/경고 탭에서, 탭 텍스트를 클릭 시 재설정하지 않음"
+
+#~ msgid ""
+#~ "Stop checking/downloading a channel/playlist when it starts sending "
+#~ "videos you already have"
+#~ msgstr ""
+#~ "이미 가지고 있는 비디오 전송을 시작할 때 채널/플레이리스트 확인/다운로드 "
+#~ "중지"
+
+#~ msgid "When checking videos, apply a 60-second timeout"
+#~ msgstr "비디오를 확인할 때, 60초 타임아웃 적용"
+
+#~ msgid "Broadcast preferences (compatible websites only)"
+#~ msgstr "브로드캐스트 환경 설정 (호환 가능한 사이트만 가능)"
+
+#~ msgid ""
+#~ "Use Youtube Stream Capture to download broadcasting livestreams (requires "
+#~ "aria2)"
+#~ msgstr ""
+#~ "브로드캐스트 생방송을 다운로드 할때 유튜브 스트림 캡처 사용하기 (aria2 필"
+#~ "요)"
+
+#~ msgid "Number of restarts after a timeout"
+#~ msgstr "타임아웃 시 재시도 횟수"
+
+#~ msgid ""
+#~ "Bypass usual limits on simultaneous downloads, so that all broadcasts can "
+#~ "be downloaded"
+#~ msgstr ""
+#~ "모든 브로드캐스트를 다운로드 할 수 있도록 동시 다운로드에 대한 일반적인 제"
+#~ "한사항 우회"
+
+#~ msgid "_Proxies"
+#~ msgstr "_프록시"
+
+#~ msgid "P_references"
+#~ msgstr "_환경 설정"
+
+#~ msgid "_File paths"
+#~ msgstr "_파일 경로"
+
+#~ msgid "_FFmpeg / AVConv"
+#~ msgstr "_FFmpeg / AVConv"
+
+#~ msgid "_Stream Capture"
+#~ msgstr "_스트림 캡처"
+
+#~ msgid "Youtube Stream Capture file path"
+#~ msgstr "유튜브 스트림 캡처 파일 경로"
+
+#~ msgid ""
+#~ "Tartube includes a copy of this script, but you can use a different copy, "
+#~ "if you want"
+#~ msgstr ""
+#~ "Tartube는 기본적으로 이 스크립트의 복사본을 포함하지만, 다른 복사본을 사용"
+#~ "할 수도 있습니다"
+
+#~ msgid "Path to the YT Stream Capture executable"
+#~ msgstr "YT 스트림 캡처 실행파일 경로"
+
+#~ msgid "Youtube Stream Capture writes verbose output"
+#~ msgstr "유튜브 스트림 캡처가 상세한 출력 쓰도록 하기"
+
+#~ msgid "Please select the Youtube Stream Capture executable"
+#~ msgstr "Youtube Stream Capture 실행 파일을 선택해주세요"
+
+#~ msgid "Tartube is starting the stream capture..."
+#~ msgstr "Tartube가 스트림 캡처를 시작합니다..."
+
+#~ msgid "Could not create a destination directory, capture halted"
+#~ msgstr "목적지 디렉토리를 생성하지 못해, 캡처 중지됨"
+
+#~ msgid "Youtube Stream Capture script not found:"
+#~ msgstr "유튜브 스트림 캡처 스크립트를 발견하지 못함:"
+
+#~ msgid "Failed to capture the livestream"
+#~ msgstr "생방송 캡처 실패"
+
+#~ msgid "Stream capture terminated"
+#~ msgstr "스트림 캡처 중지"
+
+#~ msgid ""
+#~ "Stream captured terminated without downloading any video segments "
+#~ "(indicating an error with the stream)"
+#~ msgstr ""
+#~ "어떠한 비디오 세그먼트도 받지 못하고 스트림 캡처가 중지되었습니다 (스트림"
+#~ "에 오류가 있음을 나타냄)"
+
+#~ msgid "Stream capture successful"
+#~ msgstr "스트림 캡처 성공"
+
+#~ msgid "Merging file segments..."
+#~ msgstr "파일 세그먼트 병합중..."
+
+#~ msgid "Segment merge did not start"
+#~ msgstr "세그먼트 병합이 시작되지 않았습니다"
+
+#~ msgid "Segment merge completed, but path not detected"
+#~ msgstr "세그먼트 병합이 완료되었지만, 경로가 인식되지 않았습니다"
+
+#~ msgid "Segment merge completed, but output file not found"
+#~ msgstr "세그먼트 병합이 완료되었지만, 출력 파일이 발견되지 않음"
+
+#~ msgid "File moved to:"
+#~ msgstr "파일 이동됨:"
+
+#~ msgid "Livestream download is complete"
+#~ msgstr "생방송 다운로드가 완료됨"
+
+#~ msgid "Failed to move output file"
+#~ msgstr "출력 파일을 이동하는 데 실패"
+
+#~ msgid "Stream capture is frozen, trying again (restart #{0})"
+#~ msgstr "스트림 캡처가 중지됨, 재시도 중 (재시작 #{0})"
+
+#~ msgid "Stream capture is frozen, giving up"
+#~ msgstr "스트림 캡처가 중지되어 포기함"
+
+#~ msgid "Capturing"
+#~ msgstr "캡처중"
+
+#~ msgid "Merging"
+#~ msgstr "병합중"
+
#~ msgid "Show server errors"
#~ msgstr "서버 오류 표시하기"
diff --git a/locale/nl_NL/LC_MESSAGES/base.mo b/locale/nl_NL/LC_MESSAGES/base.mo
index c1d3576b..72c412a1 100644
Binary files a/locale/nl_NL/LC_MESSAGES/base.mo and b/locale/nl_NL/LC_MESSAGES/base.mo differ
diff --git a/locale/nl_NL/LC_MESSAGES/base.po b/locale/nl_NL/LC_MESSAGES/base.po
index 5bd8e9bb..822c338c 100644
--- a/locale/nl_NL/LC_MESSAGES/base.po
+++ b/locale/nl_NL/LC_MESSAGES/base.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-04-09 08:54+0100\n"
+"POT-Creation-Date: 2022-04-21 15:43+0100\n"
"PO-Revision-Date: 2021-01-08 20:41+0100\n"
"Last-Translator: Heimen Stoffels \n"
"Language-Team: \n"
@@ -25,7 +25,7 @@ msgstr "Erg klein"
msgid "Small"
msgstr "Klein"
-#: .././mainapp.py:298 .././config.py:6847 .././config.py:6946
+#: .././mainapp.py:298 .././config.py:6872 .././config.py:6971
msgid "Medium"
msgstr "Normaal"
@@ -37,7 +37,7 @@ msgstr "Groot"
msgid "Enormous"
msgstr "Enorm"
-#: .././mainapp.py:999
+#: .././mainapp.py:1006
msgid ""
"Failed to convert a thumbnail from .webp to .jpg. No more conversions will "
"be attempted until you install FFmpeg on your system, or (if FFmpeg is "
@@ -50,185 +50,185 @@ msgstr ""
"Herstart Tartube om het converteren opnieuw te proberen. Schakel "
"miniatuurconversie uit om dit bericht niet meer te tonen."
-#: .././mainapp.py:3218
+#: .././mainapp.py:3268
msgid ""
"Tartube can't create the folder in which its configuration file is saved"
msgstr "Tartube kan de configuratiemap niet aanmaken"
#. Load/save has been disabled. Show the error message in a dialogue
#. window, then shut down
-#: .././mainapp.py:3265
+#: .././mainapp.py:3315
msgid "Tartube failed to start because:"
msgstr "Tartube kan niet worden gestart. Reden:"
-#: .././mainapp.py:3273
+#: .././mainapp.py:3323
msgid "If you don't know how to resolve this error, please contact the authors"
msgstr ""
"Als je niet weet hoe je dit moet oplossen, neem dan contact op met de makers"
-#: .././mainapp.py:3499
+#: .././mainapp.py:3549
msgid "Because of an error, file load/save has been disabled"
msgstr "Laden/Opslaan is uitgeschakeld omdat er een fout is opgetreden"
-#: .././mainapp.py:3508
+#: .././mainapp.py:3558
msgid "Because of the error, file load/save has been disabled"
msgstr "Laden/Opslaan is uitgeschakeld omdat er een fout is opgetreden"
-#: .././mainapp.py:3610
+#: .././mainapp.py:3660
msgid "There is a download operation in progress."
msgstr "Er worden items gedownload."
-#: .././mainapp.py:3612
+#: .././mainapp.py:3662
msgid "There is an update operation in progress."
msgstr "Er worden items bijgewerkt."
-#: .././mainapp.py:3614
+#: .././mainapp.py:3664
msgid "There is a refresh operation in progress."
msgstr "Er worden items ververst."
-#: .././mainapp.py:3616
+#: .././mainapp.py:3666
msgid "There is an info operation in progress."
msgstr "Er wordt een informatiehandeling uitgevoerd."
-#: .././mainapp.py:3618
+#: .././mainapp.py:3668
msgid "There is a tidy operation in progress."
msgstr "Er wordt een opruimactie uitgevoerd."
-#: .././mainapp.py:3620
+#: .././mainapp.py:3670
msgid "There is a process operation in progress."
msgstr "Er wordt een voortgangsactie uitgevoerd."
-#: .././mainapp.py:3625
+#: .././mainapp.py:3675
msgid "Are you sure you want to quit Tartube?"
msgstr "Weet je zeker dat je Tartube wilt afsluiten?"
-#: .././mainapp.py:3834
+#: .././mainapp.py:3884
msgid "Failed to load the Tartube config file (failed sanity check)"
msgstr ""
"Het Tartube-configuratiebestand kan niet worden geladen (mislukte controle)"
-#: .././mainapp.py:3857
+#: .././mainapp.py:3907
msgid "Failed to load the Tartube config file (file is locked)"
msgstr ""
"Het Tartube-configuratiebestand kan niet worden geladen (bestand is "
"vergrendeld)"
-#: .././mainapp.py:3887
+#: .././mainapp.py:3937
msgid "Failed to load the Tartube config file (JSON load failure)"
msgstr ""
"Het Tartube-configuratiebestand kan niet worden geladen (json-laadfout)"
-#: .././mainapp.py:3905
+#: .././mainapp.py:3955
msgid "Failed to load the Tartube config file (file is invalid)"
msgstr ""
"Het Tartube-configuratiebestand kan niet worden geladen (bestand is "
"beschadigd)"
-#: .././mainapp.py:3923
+#: .././mainapp.py:3973
msgid ""
"Failed to load the Tartube config file (file cannot be read by this version)"
msgstr ""
"Het Tartube-configuratiebestand kan niet worden geladen (bestand is "
"verouderd)"
-#: .././mainapp.py:3938
+#: .././mainapp.py:3988
msgid "Failed to load the Tartube config file (missing file type)"
msgstr ""
"Het Tartube-configuratiebestand kan niet worden geladen (ontbrekende "
"bestandsextensie)"
-#: .././mainapp.py:5036
+#: .././mainapp.py:5134
msgid "Failed to save the Tartube config file (failed sanity check)"
msgstr ""
"Het Tartube-configuratiebestand kan niet worden opgeslagen (mislukte "
"controle)"
-#: .././mainapp.py:5428
+#: .././mainapp.py:5543
msgid "Failed to save the Tartube config file (file is locked)"
msgstr ""
"Het Tartube-configuratiebestand kan niet worden opgeslagen (bestand is "
"vergrendeld)"
-#: .././mainapp.py:5430 .././mainapp.py:7247 .././mainapp.py:7303
-#: .././mainapp.py:7309
+#: .././mainapp.py:5545 .././mainapp.py:7440 .././mainapp.py:7503
+#: .././mainapp.py:7509
msgid "File load/save has been disabled"
msgstr "Laden/Opslaan is uitgeschakeld"
-#: .././mainapp.py:5449
+#: .././mainapp.py:5564
msgid "Failed to save the Tartube config file (file already in use)"
msgstr ""
"Het Tartube-configuratiebestand kan niet worden opgeslagen (bestand is in "
"gebruik)"
-#: .././mainapp.py:5468
+#: .././mainapp.py:5583
msgid "Failed to save the Tartube config file"
msgstr "Het Tartube-configuratiebestand kan niet worden opgeslagen"
-#: .././mainapp.py:5570 .././mainapp.py:5585 .././mainapp.py:5617
+#: .././mainapp.py:5685 .././mainapp.py:5700 .././mainapp.py:5732
msgid "Failed to load the Tartube database file"
msgstr "Het Tartube-databankbestand kan niet worden geladen"
-#: .././mainapp.py:5633
+#: .././mainapp.py:5748
msgid "The Tartube database file is invalid"
msgstr "Het Tartube-databankbestand is beschadigd"
-#: .././mainapp.py:5649
+#: .././mainapp.py:5764
msgid "Database file can't be read by this version of Tartube"
msgstr "Het Tartube-databankbestand is verouderd"
-#: .././mainapp.py:6018
+#: .././mainapp.py:6138
msgid "Tartube is applying an essential database update"
msgstr "Tartube is bezig met het uitvoeren van een essentiële databankupdate"
-#: .././mainapp.py:6020
+#: .././mainapp.py:6140
msgid "This might take a few minutes, so please be patient"
msgstr "Dit kan een paar minuten duren"
-#: .././mainapp.py:7069
+#: .././mainapp.py:7189
msgid "General (default) download options"
msgstr ""
-#: .././mainapp.py:7075
+#: .././mainapp.py:7195
msgid "Download options for the Classic Mode tab"
msgstr ""
-#: .././mainapp.py:7241 .././mainapp.py:7299 .././mainapp.py:7308
+#: .././mainapp.py:7434 .././mainapp.py:7499 .././mainapp.py:7508
msgid "Failed to save the Tartube database file"
msgstr "Het Tartube-databankbestand kan niet worden opgeslagen"
-#: .././mainapp.py:7244
+#: .././mainapp.py:7437
msgid "(Could not make a backup copy of the existing file)"
msgstr "(het bestaande bestand kan niet worden geback-upt)"
-#: .././mainapp.py:7280
+#: .././mainapp.py:7479
msgid "Failed to save the Tartube database file (file already in use)"
msgstr ""
"Het Tartube-databankbestand kan niet worden opgeslagen (bestand is in "
"gebruik)"
-#: .././mainapp.py:7301
+#: .././mainapp.py:7501
msgid "A backup of the previous file can be found at:"
msgstr "Er is een back-up gemaakt van het vorige bestand in:"
-#: .././mainapp.py:7476 .././mainapp.py:7486
+#: .././mainapp.py:7679 .././mainapp.py:7689
msgid "Database file created"
msgstr "Databankbestand aangemaakt"
-#: .././mainapp.py:7856
+#: .././mainapp.py:8056
msgid "Tartube's database can't be checked while an operation is in progress"
msgstr ""
"Tartube's databank kan niet worden gecontroleerd tijdens uitvoeren van een "
"handeling"
-#: .././mainapp.py:8101
+#: .././mainapp.py:8310
msgid "Database check complete, no inconsistencies found"
msgstr "Databankcontrole voltooid - geen fouten aangetroffen"
-#: .././mainapp.py:8134
+#: .././mainapp.py:8345
msgid "Database check complete, problems found:"
msgstr "Databankcontrole voltooid - fouten aangetroffen:"
-#: .././mainapp.py:8137
+#: .././mainapp.py:8348
msgid ""
"Do you want to repair these problems? (The database will be fixed, but no "
"files will be deleted)"
@@ -236,15 +236,15 @@ msgstr ""
"Wil je deze fouten herstellen? (de databank wordt gerepareerd zonder "
"bestanden te verwijderen)"
-#: .././mainapp.py:8317
+#: .././mainapp.py:8564
msgid "Database inconsistencies repaired"
msgstr "Databankfouten hersteld"
-#: .././mainapp.py:9577 .././config.py:26880
+#: .././mainapp.py:9900 .././config.py:27477
msgid "Please select Tartube's data folder"
msgstr "Kies Tartube's gegevensmap"
-#: .././mainapp.py:9993
+#: .././mainapp.py:10316
msgid ""
"A download operation cannot start if one or more configuration windows are "
"still open"
@@ -252,17 +252,17 @@ msgstr ""
"Er kan geen download worden gestart zolang er één of meerdere "
"instellingenvensters geopend zijn"
-#: .././mainapp.py:10017 .././mainapp.py:10042
+#: .././mainapp.py:10340 .././mainapp.py:10365
#, python-brace-format
-msgid "You only have {0} / {1} Mb remaining on your device"
-msgstr "Je hebt slechts {0}/{1} MB resterende schijfruimte"
+msgid "You only have {0} / {1} Gb remaining on your device"
+msgstr ""
-#: .././mainapp.py:10045 .././mainapp.py:16146 .././mainapp.py:16267
-#: .././mainapp.py:16454 .././mainwin.py:19992
+#: .././mainapp.py:10368 .././mainapp.py:16502 .././mainapp.py:16623
+#: .././mainapp.py:16810 .././mainwin.py:20371
msgid "Are you sure you want to continue?"
msgstr "Weet je zeker dat je wilt doorgaan?"
-#: .././mainapp.py:10137
+#: .././mainapp.py:10460
msgid ""
"1. Copy URLs into the box at the top\n"
"2. Select a destination and a format\n"
@@ -270,44 +270,44 @@ msgid ""
"4. Click 'Download all'"
msgstr ""
-#: .././mainapp.py:10145
+#: .././mainapp.py:10468
msgid "There is nothing to check!"
msgstr "Er valt niks te controleren!"
-#: .././mainapp.py:10149
+#: .././mainapp.py:10472
msgid "There is nothing to download!"
msgstr "Er valt niks te downloaden!"
-#: .././mainapp.py:10430
+#: .././mainapp.py:10761
msgid "Download operation complete"
msgstr "Downloaden voltooid"
-#: .././mainapp.py:10432
+#: .././mainapp.py:10763
msgid "Download operation halted"
msgstr "Downloaden onderbroken"
-#: .././mainapp.py:10436
+#: .././mainapp.py:10767
msgid "Videos downloaded:"
msgstr "Gedownloade video's:"
-#: .././mainapp.py:10437 .././config.py:27957 .././config.py:28014
+#: .././mainapp.py:10768 .././config.py:28587 .././config.py:28644
msgid "Videos checked:"
msgstr "Gecontroleerde video's:"
-#: .././mainapp.py:10444
+#: .././mainapp.py:10775
msgid "Clips downloaded:"
msgstr ""
-#: .././mainapp.py:10447
+#: .././mainapp.py:10778
msgid "Video slices removed:"
msgstr ""
-#: .././mainapp.py:10451 .././mainapp.py:11104 .././mainapp.py:11584
-#: .././mainapp.py:11961
+#: .././mainapp.py:10782 .././mainapp.py:11446 .././mainapp.py:11926
+#: .././mainapp.py:12303
msgid "Time taken:"
msgstr "Verstreken tijd:"
-#: .././mainapp.py:10630
+#: .././mainapp.py:10962
msgid ""
"An update operation cannot start if one or more configuration windows are "
"still open"
@@ -315,35 +315,35 @@ msgstr ""
"Er kan geen update plaatsvinden zolang er één of meerdere "
"instellingenvensters geopend zijn"
-#: .././mainapp.py:10823
+#: .././mainapp.py:11165
msgid "Installation failed"
msgstr "Installatie mislukt"
-#: .././mainapp.py:10825
+#: .././mainapp.py:11167
msgid "Installation complete"
msgstr "Installatie voltooid"
-#: .././mainapp.py:10829
+#: .././mainapp.py:11171
msgid "Update operation failed"
msgstr "Bijwerken mislukt"
-#: .././mainapp.py:10831
+#: .././mainapp.py:11173
msgid "Update operation halted"
msgstr "Bijwerken onderbroken"
-#: .././mainapp.py:10833
+#: .././mainapp.py:11175
msgid "Update operation complete"
msgstr "Bijwerken voltooid"
-#: .././mainapp.py:10835
+#: .././mainapp.py:11177
msgid "version:"
msgstr "versie:"
-#: .././mainapp.py:10839
+#: .././mainapp.py:11181
msgid "(unknown)"
msgstr "(onbekend)"
-#: .././mainapp.py:10925
+#: .././mainapp.py:11267
msgid ""
"A refresh operation cannot start if one or more configuration windows are "
"still open"
@@ -351,7 +351,7 @@ msgstr ""
"Er kan geen verversactie plaatsvinden zolang er één of meerdere "
"instellingenvensters geopend zijn"
-#: .././mainapp.py:10938
+#: .././mainapp.py:11280
msgid ""
"During a refresh operation, Tartube analyses its data folder, looking for "
"videos that haven't yet been added to its database"
@@ -359,7 +359,7 @@ msgstr ""
"Tijdens het verversen wordt Tartube's gegevensmap doorzocht op video's die "
"nog niet zijn toegevoegd aan de databank"
-#: .././mainapp.py:10942
+#: .././mainapp.py:11284
msgid ""
"You only need to perform a refresh operation if you have manually copied "
"videos into Tartube's data folder"
@@ -367,7 +367,7 @@ msgstr ""
"Je hoeft alleen te verversen als je video's handmatig hebt gekopieerd naar "
"Tartube's gegevensmap"
-#: .././mainapp.py:10949
+#: .././mainapp.py:11291
msgid ""
"Before starting a refresh operation, you should click the 'Check all' button "
"in the main window"
@@ -375,7 +375,7 @@ msgstr ""
"Voordat je het verversen start, moet je op 'Alles controleren' in het "
"hoofdvenster klikken"
-#: .././mainapp.py:10956
+#: .././mainapp.py:11298
msgid ""
"Before starting a refresh operation, you should right-click the channel and "
"select 'Check channel'"
@@ -383,7 +383,7 @@ msgstr ""
"Voordat je het verversen start, moet je op 'Kanaal controleren' in het "
"rechtermuisknopmenu van een kanaal klikken"
-#: .././mainapp.py:10963
+#: .././mainapp.py:11305
msgid ""
"Before starting a refresh operation, you should right-click the playlist and "
"select 'Check playlist'"
@@ -391,7 +391,7 @@ msgstr ""
"Voordat je het verversen start, moet je op 'Afspeellijst controleren' in het "
"rechtermuisknopmenu van een afspeellijst klikken"
-#: .././mainapp.py:10970
+#: .././mainapp.py:11312
msgid ""
"Before starting a refresh operation, you should right-click the folder and "
"select 'Check folder'"
@@ -399,19 +399,19 @@ msgstr ""
"Voordat je het verversen start, moet je op 'Map controleren' in het "
"rechtermuisknopmenu van een map klikken"
-#: .././mainapp.py:10975
+#: .././mainapp.py:11317
msgid "Are you sure you want to proceed with the refresh operation?"
msgstr "Weet je zeker dat je wilt doorgaan?"
-#: .././mainapp.py:11099
+#: .././mainapp.py:11441
msgid "Refresh operation complete"
msgstr "Verversen voltooid"
-#: .././mainapp.py:11101
+#: .././mainapp.py:11443
msgid "Refresh operation halted"
msgstr "Verversen onderbroken"
-#: .././mainapp.py:11203
+#: .././mainapp.py:11545
msgid ""
"An info operation cannot start if one or more configuration windows are "
"still open"
@@ -419,47 +419,47 @@ msgstr ""
"Er kan geen informatiehandeling plaatsvinden zolang er één of meerdere "
"instellingenvensters geopend zijn"
-#: .././mainapp.py:11328
+#: .././mainapp.py:11670
msgid "Operation failed"
msgstr "Handeling mislukt"
-#: .././mainapp.py:11330 .././mainwin.py:29348 .././downloads.py:508
+#: .././mainapp.py:11672 .././mainwin.py:29749 .././downloads.py:508
msgid "Operation complete"
msgstr "Handeling voltooid"
-#: .././mainapp.py:11332
+#: .././mainapp.py:11674
msgid "Click the Output tab to see the results"
msgstr "Klik op het tabblad 'Uitvoer' om de resultaten te bekijken"
-#: .././mainapp.py:11345
+#: .././mainapp.py:11687
msgid "A new release is available!"
msgstr "Er is een nieuwe versie beschikbaar!"
-#: .././mainapp.py:11347
+#: .././mainapp.py:11689
msgid "Your installation is up to date!"
msgstr "Je installatie is actueel!"
-#: .././mainapp.py:11349
+#: .././mainapp.py:11691
msgid "Installed version:"
msgstr "Geïnstalleerde versie:"
-#: .././mainapp.py:11354
+#: .././mainapp.py:11696
msgid "Stable release:"
msgstr "Stabiele uitgave:"
-#: .././mainapp.py:11359
+#: .././mainapp.py:11701
msgid "Stable release: not found"
msgstr "Stabiele uitgave: niet gevonden"
-#: .././mainapp.py:11362
+#: .././mainapp.py:11704
msgid "Development release:"
msgstr "Ontwikkelingsuitgave:"
-#: .././mainapp.py:11364
+#: .././mainapp.py:11706
msgid "Development release: not found"
msgstr "Ontwikkelingsuitgave: niet gevonden"
-#: .././mainapp.py:11477
+#: .././mainapp.py:11819
msgid ""
"A tidy operation cannot start if one or more configuration windows are still "
"open"
@@ -467,39 +467,39 @@ msgstr ""
"Er kan geen opruimactie plaatsvinden zolang er één of meerdere "
"instellingenvensters geopend zijn"
-#: .././mainapp.py:11579
+#: .././mainapp.py:11921
msgid "Tidy operation complete"
msgstr "Opruimen voltooid"
-#: .././mainapp.py:11581
+#: .././mainapp.py:11923
msgid "Tidy operation halted"
msgstr "Opruimen onderbroken"
-#: .././mainapp.py:11722 .././mainwin.py:20733 .././config.py:14148
+#: .././mainapp.py:12064 .././mainwin.py:21112 .././config.py:14187
msgid "Livestream has started"
msgstr "De livestream is begonnen"
-#: .././mainapp.py:11950
+#: .././mainapp.py:12292
msgid "Process operation complete"
msgstr "Voortgangsactie voltooid"
-#: .././mainapp.py:11952
+#: .././mainapp.py:12294
msgid "Process operation halted"
msgstr "Voortgangsactie onderbroken"
-#: .././mainapp.py:11956
+#: .././mainapp.py:12298
msgid "Files processed:"
msgstr "Verwerkte bestanden:"
-#: .././mainapp.py:11957
+#: .././mainapp.py:12299
msgid "Errors:"
msgstr "Fouten:"
-#: .././mainapp.py:13287 .././mainapp.py:13480
+#: .././mainapp.py:13642 .././mainapp.py:13835
msgid "Cannot move anything to:"
msgstr "Kan niks verplaatsen naar:"
-#: .././mainapp.py:13289 .././mainapp.py:13482
+#: .././mainapp.py:13644 .././mainapp.py:13837
msgid ""
"because a file or folder with the same name already exists (although "
"Tartube's database doesn't know anything about it)"
@@ -507,7 +507,7 @@ msgstr ""
"omdat er al een bestand of map met dezelfde naam is (hoewel Tartube's "
"databank daar niks van afweet)"
-#: .././mainapp.py:13293
+#: .././mainapp.py:13648
msgid ""
"You probably created that file/folder accidentally, in which case you should "
"delete it manually before trying again"
@@ -515,19 +515,19 @@ msgstr ""
"Waarschijnlijk heb je het bestand/de map per ongeluk aangemaakt. Als dat zo "
"is, verwijder deze dan voordat je het opnieuw probeert."
-#: .././mainapp.py:13307 .././mainapp.py:13500
+#: .././mainapp.py:13662 .././mainapp.py:13855
msgid "Are you sure you want to move this channel:"
msgstr "Weet je zeker dat je het volgende kanaal wilt verplaatsen:"
-#: .././mainapp.py:13309 .././mainapp.py:13502
+#: .././mainapp.py:13664 .././mainapp.py:13857
msgid "Are you sure you want to move this playlist:"
msgstr "Weet je zeker dat je de volgende afspeellijst wilt verplaatsen:"
-#: .././mainapp.py:13311 .././mainapp.py:13504
+#: .././mainapp.py:13666 .././mainapp.py:13859
msgid "Are you sure you want to move this folder:"
msgstr "Weet je zeker dat je de volgende map wilt verplaatsen:"
-#: .././mainapp.py:13316
+#: .././mainapp.py:13671
msgid ""
"This procedure will move all downloaded files to the top level of Tartube's "
"data folder"
@@ -535,34 +535,34 @@ msgstr ""
"Deze handeling verplaatst alle gedownloade bestanden naar het bovenste "
"niveau van Tartube's gegevensmap"
-#: .././mainapp.py:13354 .././mainapp.py:13559
+#: .././mainapp.py:13709 .././mainapp.py:13914
#, python-brace-format
msgid "Could not move '{0}' (filesystem error)"
msgstr ""
-#: .././mainapp.py:13422
+#: .././mainapp.py:13777
msgid "Channels, playlists and folders can only be dragged into a folder"
msgstr ""
"Kanalen, afspeellijsten en mappen kunnen alleen worden versleept naar een map"
-#: .././mainapp.py:13435
+#: .././mainapp.py:13790
#, python-brace-format
msgid "The fixed folder '{0}' cannot be moved (but it can still be hidden)"
msgstr ""
"De vastgezette map '{0}' kan niet worden verplaatst (maar kan wél worden "
"verborgen)"
-#: .././mainapp.py:13448
+#: .././mainapp.py:13803
#, python-brace-format
msgid "The folder '{0}' can only contain videos"
msgstr "De map '{0}' mag alleen video's bevatten"
-#: .././mainapp.py:13460
+#: .././mainapp.py:13815
#, python-brace-format
msgid "The folder '{0}' can only contain other folders and videos"
msgstr ""
-#: .././mainapp.py:13487
+#: .././mainapp.py:13842
msgid ""
"You probably created that file/folder accidentally, in which case, you "
"should delete it manually before trying again"
@@ -570,16 +570,16 @@ msgstr ""
"Waarschijnlijk heb je het bestand/de map per ongeluk aangemaakt. Als dat zo "
"is, verwijder deze dan voordat je het opnieuw probeert."
-#: .././mainapp.py:13506
+#: .././mainapp.py:13861
msgid "into this folder:"
msgstr "naar deze map:"
-#: .././mainapp.py:13510
+#: .././mainapp.py:13865
msgid "This procedure will move all downloaded files to the new location"
msgstr ""
"Deze handeling verplaatst alle gedownloade bestanden naar de nieuwe locatie"
-#: .././mainapp.py:13516 .././mainapp.py:13648
+#: .././mainapp.py:13871 .././mainapp.py:14004
msgid ""
"WARNING: The destination folder is marked as temporary, so everything inside "
"it will be DELETED when Tartube restarts!"
@@ -587,148 +587,148 @@ msgstr ""
"WAARSCHUWING: de bestemming is aangemerkt als 'tijdelijk', dus alle inhoud "
"wordt VERWIJDERD als je Tartube herstart!"
-#: .././mainapp.py:13626
+#: .././mainapp.py:13982
msgid "Videos cannot be dragged into this folder"
msgstr ""
-#: .././mainapp.py:13636
+#: .././mainapp.py:13992
#, python-brace-format
msgid "Are you sure you want to move the video to '{0}'?"
msgstr ""
-#: .././mainapp.py:13642
+#: .././mainapp.py:13998
#, python-brace-format
msgid "Are you sure you want to move '{0}' videos to '{1}'?"
msgstr ""
#. Show confirmation dialogue
-#: .././mainapp.py:13783
+#: .././mainapp.py:14139
msgid "Videos moved"
msgstr ""
-#: .././mainapp.py:13784
+#: .././mainapp.py:14140
msgid "Videos not moved:"
msgstr ""
-#: .././mainapp.py:14182
+#: .././mainapp.py:14538
msgid ""
"Are you SURE you want to delete files? This procedure cannot be reversed!"
msgstr ""
"Weet je ZEKER dat je deze bestanden wilt verwijderen? Dit kan niet ongedaan "
"worden gemaakt!"
-#: .././mainapp.py:14199
+#: .././mainapp.py:14555
msgid ""
"Are you SURE you want to remove these items from your database? This "
"procedure cannot be reversed!"
msgstr ""
-#: .././mainapp.py:16130 .././mainapp.py:16251 .././mainapp.py:16438
+#: .././mainapp.py:16486 .././mainapp.py:16607 .././mainapp.py:16794
#, python-brace-format
msgid "The channel contains {0} item(s), so this action may take a while"
msgstr "Het kanaal bevat {0} item(s), dus het kan even duren"
-#: .././mainapp.py:16136 .././mainapp.py:16257 .././mainapp.py:16444
+#: .././mainapp.py:16492 .././mainapp.py:16613 .././mainapp.py:16800
#, python-brace-format
msgid "The playlist contains {0} item(s), so this action may take a while"
msgstr "De afspeellijst bevat {0} item(s), dus het kan even duren"
-#: .././mainapp.py:16142 .././mainapp.py:16263 .././mainapp.py:16450
+#: .././mainapp.py:16498 .././mainapp.py:16619 .././mainapp.py:16806
#, python-brace-format
msgid "The folder contains {0} item(s), so this action may take a while"
msgstr "De map bevat {0} item(s), dus het kan even duren"
-#: .././mainapp.py:16515 .././mainapp.py:22150 .././mainapp.py:22292
-#: .././mainapp.py:22429 .././config.py:26219
+#: .././mainapp.py:16871 .././mainapp.py:22526 .././mainapp.py:22668
+#: .././mainapp.py:22805 .././config.py:26816
#, python-brace-format
msgid "The name '{0}' is not allowed"
msgstr "De naam '{0}' is niet toegestaan"
-#: .././mainapp.py:16524 .././config.py:16624 .././config.py:26210
+#: .././mainapp.py:16880 .././config.py:16689 .././config.py:26807
#, python-brace-format
msgid "The name '{0}' is already in use"
msgstr "De naam '{0}' is al in gebruik"
-#: .././mainapp.py:16534
+#: .././mainapp.py:16890
#, python-brace-format
msgid "Failed to rename '{0}'"
msgstr "De naam van '{0}' kan niet worden gewijzigd"
#. Confirm the result
-#: .././mainapp.py:16734
+#: .././mainapp.py:17090
msgid "Search/replace complete"
msgstr ""
-#: .././mainapp.py:16735
+#: .././mainapp.py:17091
#, python-brace-format
msgid "Updated URLs: {0}"
msgstr ""
-#: .././mainapp.py:16736
+#: .././mainapp.py:17092
#, python-brace-format
msgid "Errors: {0}"
msgstr ""
-#: .././mainapp.py:16999
+#: .././mainapp.py:17355
msgid "Select where to save the database export"
msgstr "Kies de map waarnaar de databank moet worden geëxporteerd"
-#: .././mainapp.py:17129
+#: .././mainapp.py:17485
msgid "There is nothing to export!"
msgstr "Er valt niks te exporteren!"
-#: .././mainapp.py:17169 .././mainapp.py:17214 .././mainapp.py:17267
-#: .././config.py:27800
+#: .././mainapp.py:17525 .././mainapp.py:17570 .././mainapp.py:17623
+#: .././config.py:28430
msgid "Failed to save the database export file:"
msgstr "Het databank-exportbestand kan niet worden opgeslagen:"
-#: .././mainapp.py:17275 .././config.py:27790
+#: .././mainapp.py:17631 .././config.py:28420
msgid "Database export file saved to:"
msgstr "Het databank-exportbestand is opgeslagen in:"
-#: .././mainapp.py:17540
+#: .././mainapp.py:17896
msgid "Select the database export"
msgstr "Kies de databankexport"
-#: .././mainapp.py:17558 .././mainapp.py:17569 .././mainapp.py:17603
+#: .././mainapp.py:17914 .././mainapp.py:17925 .././mainapp.py:17959
msgid "Failed to load the database export file"
msgstr "Het databank-exportbestand kan niet worden geladen"
-#: .././mainapp.py:17586
+#: .././mainapp.py:17942
msgid "The database export file is invalid"
msgstr "Het databank-exportbestand is beschadigd"
-#: .././mainapp.py:17617
+#: .././mainapp.py:17973
msgid "The database export file is invalid (or empty)"
msgstr "Het databank-exportbestand is beschadigd (of blanco)"
-#: .././mainapp.py:17662
+#: .././mainapp.py:18018
msgid "Nothing was imported from the database export file"
msgstr "Er is niks geïmporteerd uit het databank-exportbestand"
#. Show a confirmation
-#: .././mainapp.py:17676
+#: .././mainapp.py:18032
msgid "Imported into database"
msgstr ""
-#: .././mainapp.py:17677 .././mainwin.py:1691 .././config.py:962
-#: .././config.py:17091 .././config.py:20294
+#: .././mainapp.py:18033 .././mainwin.py:1703 .././config.py:962
+#: .././config.py:17283 .././config.py:20604
msgid "Videos"
msgstr "Video's"
-#: .././mainapp.py:17678 .././config.py:17124 .././config.py:20327
+#: .././mainapp.py:18034 .././config.py:17316 .././config.py:20637
msgid "Channels"
msgstr "Kanalen"
-#: .././mainapp.py:17679 .././config.py:17135 .././config.py:20338
+#: .././mainapp.py:18035 .././config.py:17327 .././config.py:20648
msgid "Playlists"
msgstr "Afspeellijsten"
-#: .././mainapp.py:17680
+#: .././mainapp.py:18036
msgid "Folders"
msgstr "Mappen"
-#: .././mainapp.py:18446
+#: .././mainapp.py:18802
msgid ""
"The video file is missing from Tartube's data folder (try downloading the "
"video again!)"
@@ -736,145 +736,145 @@ msgstr ""
"De video is niet aanwezig in Tartube's gegevensmap. Probeer de video opnieuw "
"te downloaden."
-#: .././mainapp.py:18789
+#: .././mainapp.py:19145
msgid "Select where to save the custom download export"
msgstr ""
-#: .././mainapp.py:18846
+#: .././mainapp.py:19202
msgid "Failed to save the custom download export file:"
msgstr ""
-#: .././mainapp.py:18854
+#: .././mainapp.py:19210
msgid "Custom download exported to:"
msgstr ""
-#: .././mainapp.py:18882
+#: .././mainapp.py:19238
msgid "Select the custom download export file"
msgstr ""
-#: .././mainapp.py:18901
+#: .././mainapp.py:19257
msgid "Failed to load the custom download export file"
msgstr ""
-#: .././mainapp.py:18918
+#: .././mainapp.py:19274
msgid "The custom download export file is invalid"
msgstr ""
-#: .././mainapp.py:18929
+#: .././mainapp.py:19285
msgid "The custom download export file is invalid (or empty)"
msgstr ""
-#: .././mainapp.py:19452 .././mainapp.py:19813
+#: .././mainapp.py:19816 .././mainapp.py:20177
msgid "Select where to save the options export"
msgstr "Kies de map waarnaar de opties moeten worden geëxporteerd"
-#: .././mainapp.py:19500 .././mainapp.py:19861
+#: .././mainapp.py:19864 .././mainapp.py:20225
msgid "Failed to save the options export file:"
msgstr "Het opties-exportbestand kan niet worden opgeslagen:"
-#: .././mainapp.py:19508
+#: .././mainapp.py:19872
msgid "Download options exported to to:"
msgstr "De downloadopties zijn geëxporteerd naar:"
-#: .././mainapp.py:19536 .././mainapp.py:19897
+#: .././mainapp.py:19900 .././mainapp.py:20261
msgid "Select the options export file"
msgstr "Kies het opties-exportbestand"
-#: .././mainapp.py:19555 .././mainapp.py:19916
+#: .././mainapp.py:19919 .././mainapp.py:20280
msgid "Failed to load the options export file"
msgstr "Het opties-exportbestand kan niet worden geladen"
-#: .././mainapp.py:19572 .././mainapp.py:19933
+#: .././mainapp.py:19936 .././mainapp.py:20297
msgid "The options export file is invalid"
msgstr "Het opties-exportbestand is beschadigd"
-#: .././mainapp.py:19583 .././mainapp.py:19944
+#: .././mainapp.py:19947 .././mainapp.py:20308
msgid "The options export file is invalid (or empty)"
msgstr "Het opties-exportbestand is beschadigd (of blanco)"
-#: .././mainapp.py:19869
+#: .././mainapp.py:20233
msgid "FFmpeg options exported to to:"
msgstr "De FFmpeg-opties zijn geëxporteerd naar:"
-#: .././mainapp.py:20881
+#: .././mainapp.py:21257
msgid "Please select a destination folder"
msgstr "Kies een bestemming"
#. Prompt for confirmation
-#: .././mainapp.py:20947
+#: .././mainapp.py:21323
msgid "Are you sure you want to clear this list?"
msgstr "Weet je zeker dat je deze lijst wilt wissen?"
#. Prompt for confirmation
-#: .././mainapp.py:20991
+#: .././mainapp.py:21367
msgid "Are you sure you want to clear downloaded videos?"
msgstr "Weet je zeker dat je de gedownloade video's wilt verwijderen?"
-#: .././mainapp.py:21088 .././mainwin.py:16836
+#: .././mainapp.py:21464 .././mainwin.py:17152
msgid "Only checked/downloaded videos can be processed by FFmpeg"
msgstr "FFmpeg kan alleen aangekruiste/gedownloade video's verwerken"
-#: .././mainapp.py:21195
+#: .././mainapp.py:21571
msgid "No destination(s) to show"
msgstr ""
-#: .././mainapp.py:21242
+#: .././mainapp.py:21618
msgid "No video(s) have been downloaded"
msgstr "Je hebt nog geen video's gedownload"
#. Prompt for confirmation
-#: .././mainapp.py:21369
+#: .././mainapp.py:21745
msgid "Are you sure you want to remove the selected item(s)?"
msgstr "Weet je zeker dat je de geselecteerde items wilt verwijderen?"
-#: .././mainapp.py:22141
+#: .././mainapp.py:22517
msgid "You must give the channel a name"
msgstr "Geef het kanaal een naam"
-#: .././mainapp.py:22159 .././mainapp.py:22438
+#: .././mainapp.py:22535 .././mainapp.py:22814
msgid "You must enter a valid URL"
msgstr "Voer een geldige url in"
-#: .././mainapp.py:22186 .././mainapp.py:22314 .././mainapp.py:22464
+#: .././mainapp.py:22562 .././mainapp.py:22690 .././mainapp.py:22840
msgid "That name is not permitted on your system"
msgstr ""
-#: .././mainapp.py:22284
+#: .././mainapp.py:22660
msgid "You must give the folder a name"
msgstr "Geef de map een naam"
-#: .././mainapp.py:22420
+#: .././mainapp.py:22796
msgid "You must give the playlist a name"
msgstr "Geef de afspeellijst een naam"
-#: .././mainapp.py:22645
+#: .././mainapp.py:23021
msgid "There were no livestream alerts to cancel"
msgstr "Er zijn nog geen livestream-meldingen op dit kanaal"
-#: .././mainapp.py:22647
+#: .././mainapp.py:23023
msgid "Livestream alerts for 1 video were cancelled"
msgstr "De livestream-melding van 1 video is gedempt"
-#: .././mainapp.py:22650
+#: .././mainapp.py:23026
#, python-brace-format
msgid "Livestream alerts for {0} videos were cancelled"
msgstr "De livestream-melding van {0} video's is afgebroken"
-#: .././mainapp.py:23063
+#: .././mainapp.py:23456
msgid ""
"Before trying to reset channel/playlist names, you must check or download at "
"one least one video from each!"
msgstr ""
-#: .././mainapp.py:23140
+#: .././mainapp.py:23533
msgid "All Tartube data has been saved"
msgstr "Alle Tartube-gegevens zijn opgeslagen"
-#: .././mainapp.py:23167
+#: .././mainapp.py:23560
msgid "Database saved"
msgstr "De databank is opgeslagen"
-#: .././mainapp.py:23464 .././mainwin.py:15720
+#: .././mainapp.py:23857 .././mainwin.py:15964
msgid ""
"Files cannot be recovered, after being deleted. Are you sure you want to "
"continue?"
@@ -884,304 +884,308 @@ msgstr ""
#. Because livestream operations run silently in the background, when
#. the user goes to the trouble of clicking a menu item in the
#. main window's menu, tell them why nothing is happening
-#: .././mainapp.py:23501
+#: .././mainapp.py:23894
msgid "Cannot update existing livestreams because"
msgstr "De livestreams kunnen niet worden bijgewerkt omdat"
-#: .././mainapp.py:23503
+#: .././mainapp.py:23896
msgid "there is another operation running"
msgstr "er een andere handeling wordt uitgevoerd"
-#: .././mainapp.py:23505
+#: .././mainapp.py:23898
msgid "they are currently being updated"
msgstr "ze al worden bijgewerkt"
-#: .././mainapp.py:23507
+#: .././mainapp.py:23900
msgid "one or more configuration windows are open"
msgstr "er één of meerdere instellingenvensters geopend zijn"
-#: .././mainapp.py:23509
+#: .././mainapp.py:23902
msgid "there are no livestreams to update"
msgstr "er geen bij te werken livestreams zijn"
-#: .././mainapp.py:23574
+#: .././mainapp.py:23967
msgid "There is already a channel with that name"
msgstr "Er is al een kanaal met deze naam"
-#: .././mainapp.py:23576
+#: .././mainapp.py:23969
msgid "There is already a playlist with that name"
msgstr "Er is al een afspeellijst met deze naam"
-#: .././mainapp.py:23578
+#: .././mainapp.py:23971
msgid "There is already a folder with that name"
msgstr "Er is al een map met deze naam"
-#: .././mainapp.py:23581
+#: .././mainapp.py:23974
msgid "(so please choose a different name)"
msgstr "(geef een andere naam op)"
-#: .././mainwin.py:984
+#: .././mainwin.py:988
msgid "Tartube cannot start because it cannot find its icons folder"
msgstr ""
"Tartube kan niet worden gestart omdat de pictogrammenmap niet is aangetroffen"
#. File column
-#: .././mainwin.py:1262 .././config.py:10351
+#: .././mainwin.py:1266 .././config.py:10390
msgid "_File"
msgstr "_Bestand"
-#: .././mainwin.py:1269
+#: .././mainwin.py:1273
msgid "_Database preferences..."
msgstr "_Databankinstellingen..."
-#: .././mainwin.py:1275
+#: .././mainwin.py:1279
msgid "_Check database integrity"
msgstr "Databankintegriteit _controleren"
-#: .././mainwin.py:1284
+#: .././mainwin.py:1288
msgid "_Save database"
msgstr "Databank op_slaan"
-#: .././mainwin.py:1290
+#: .././mainwin.py:1294
msgid "Save _all"
msgstr "_Alles opslaan"
-#: .././mainwin.py:1299
-msgid "_Close to tray"
-msgstr "Minimaliseren naar s_ysteemvak"
+#: .././mainwin.py:1303
+msgid "Close to _tray"
+msgstr ""
#. Quit
-#: .././mainwin.py:1304 .././mainwin.py:25743
+#: .././mainwin.py:1308 .././mainwin.py:26142
msgid "_Quit"
msgstr "_Afsluiten"
#. Edit column
-#: .././mainwin.py:1309
+#: .././mainwin.py:1313
msgid "_Edit"
msgstr "B_ewerken"
-#: .././mainwin.py:1316
+#: .././mainwin.py:1320
msgid "_System preferences..."
msgstr "_Systeeminstellingen..."
-#: .././mainwin.py:1322
+#: .././mainwin.py:1326
msgid "_General download options..."
msgstr "Al_gemene downloadopties..."
#. Separator
-#: .././mainwin.py:1331
+#: .././mainwin.py:1335
msgid "_System"
msgstr ""
-#: .././mainwin.py:1338
-msgid "_Open MSYS2 terminal..."
+#: .././mainwin.py:1342
+msgid "Open _MSYS2 terminal..."
msgstr ""
-#: .././mainwin.py:1347
+#: .././mainwin.py:1351
msgid "Show Tartube _install folder"
msgstr ""
-#: .././mainwin.py:1355
+#: .././mainwin.py:1359
msgid "Show Tartube _script folder"
msgstr ""
#. Media column
-#: .././mainwin.py:1361 .././config.py:18033
+#: .././mainwin.py:1365 .././config.py:18225
msgid "_Media"
msgstr "_Media"
-#: .././mainwin.py:1368
+#: .././mainwin.py:1372
msgid "Add _videos..."
msgstr "Video's toe_voegen..."
-#: .././mainwin.py:1374
+#: .././mainwin.py:1378
msgid "Add _channel..."
msgstr "_Kanaal toevoegen..."
-#: .././mainwin.py:1380
+#: .././mainwin.py:1384
msgid "Add _playlist..."
msgstr "Afs_peellijst toevoegen..."
-#: .././mainwin.py:1386
+#: .././mainwin.py:1390
msgid "Add _folder..."
msgstr "_Map toevoegen..."
-#: .././mainwin.py:1395
+#: .././mainwin.py:1399
msgid "_Add many channels/playlists..."
msgstr ""
-#: .././mainwin.py:1401
+#: .././mainwin.py:1405
msgid "_Reset channel/playlist names..."
msgstr ""
-#: .././mainwin.py:1414
+#: .././mainwin.py:1418
msgid "_Export from database..."
msgstr "_Exporteren uit databank..."
-#: .././mainwin.py:1420
+#: .././mainwin.py:1424
msgid "_Import into database..."
msgstr ""
-#: .././mainwin.py:1426
+#: .././mainwin.py:1430
msgid "Import _YouTube subscriptions..."
msgstr ""
-#: .././mainwin.py:1434
+#: .././mainwin.py:1438
msgid "_Export/import"
msgstr ""
-#: .././mainwin.py:1442
+#: .././mainwin.py:1446
msgid "_Switch between views"
msgstr "_Schakelen tussen weergaven"
-#: .././mainwin.py:1452
+#: .././mainwin.py:1456
msgid "_Hide (most) system folders"
msgstr "(Meeste) systeemmappen verber_gen"
-#: .././mainwin.py:1460
-msgid "Sh_ow hidden folders"
-msgstr "Verborgen mappen t_onen"
+#: .././mainwin.py:1464
+msgid "_Show hidden folders"
+msgstr ""
-#: .././mainwin.py:1465
-msgid "_Show/hide"
+#: .././mainwin.py:1469
+msgid "S_how/hide"
msgstr ""
-#: .././mainwin.py:1471
+#: .././mainwin.py:1475
msgid "_Unmark channels/playlists/folders"
msgstr ""
-#: .././mainwin.py:1487
-msgid "_Add test media"
-msgstr "Testmedi_a toevoegen"
+#: .././mainwin.py:1491
+msgid "Ad_d test media"
+msgstr ""
-#: .././mainwin.py:1495
-msgid "_Run test code"
-msgstr "Testcode uitvoe_ren"
+#: .././mainwin.py:1499
+msgid "Run _test code"
+msgstr ""
#. Operations column
#. Add this tab...
-#: .././mainwin.py:1501 .././config.py:21816
+#: .././mainwin.py:1505 .././config.py:22134
msgid "_Operations"
msgstr "_Handelingen"
#. Check all
-#: .././mainwin.py:1508 .././mainwin.py:25714
+#: .././mainwin.py:1512 .././mainwin.py:26113
msgid "_Check all"
msgstr "Alles _controleren"
#. Download all
-#: .././mainwin.py:1514 .././mainwin.py:25721
+#: .././mainwin.py:1518 .././mainwin.py:26120
msgid "_Download all"
msgstr "Alles _downloaden"
-#: .././mainwin.py:1521
+#: .././mainwin.py:1525
msgid "C_ustom download all"
msgstr "Alles aangepast do_wnloaden"
-#: .././mainwin.py:1529
+#: .././mainwin.py:1533
msgid "_Refresh database..."
msgstr "Databank ve_rversen..."
-#: .././mainwin.py:1539
+#: .././mainwin.py:1543
msgid "U_pdate"
msgstr "Bijwer_ken"
-#: .././mainwin.py:1545 .././mainwin.py:4045
+#: .././mainwin.py:1549 .././mainwin.py:4099
msgid "_Test"
msgstr "_Testen"
-#: .././mainwin.py:1556
-msgid "_Install FFmpeg..."
-msgstr "FFmpeg _installeren..."
+#: .././mainwin.py:1560
+msgid "Install _FFmpeg..."
+msgstr ""
+
+#: .././mainwin.py:1568
+msgid "Install _matplotlib..."
+msgstr ""
-#: .././mainwin.py:1564
-msgid "_Install matplotlib..."
+#: .././mainwin.py:1576
+msgid "Install _streamlink..."
msgstr ""
-#: .././mainwin.py:1575
+#: .././mainwin.py:1587
msgid "Tidy up _files..."
msgstr "Bestanden _opruimen..."
-#: .././mainwin.py:1586 .././mainwin.py:25732
+#: .././mainwin.py:1598 .././mainwin.py:26131
msgid "_Stop current operation"
msgstr "Huidige handeling af_breken"
-#: .././mainwin.py:1594
-msgid "_Stop after current videos"
+#: .././mainwin.py:1606
+msgid "Stop _after current videos"
msgstr ""
#. Livestreams column
-#: .././mainwin.py:1602
+#: .././mainwin.py:1614
msgid "_Livestreams"
msgstr "_Livestreams"
-#: .././mainwin.py:1609
+#: .././mainwin.py:1621
msgid "_Livestream preferences..."
msgstr "_Livestream-instellingen..."
-#: .././mainwin.py:1618
+#: .././mainwin.py:1630
msgid "_Update existing livestreams"
msgstr "Aanwe_zige livestreams bijwerken"
-#: .././mainwin.py:1623
+#: .././mainwin.py:1635
msgid "_Cancel all livestream alerts"
msgstr "Alle livestream-mel_dingen dempen"
#. Help column
-#: .././mainwin.py:1628
+#: .././mainwin.py:1640
msgid "_Help"
msgstr "_Hulp"
-#: .././mainwin.py:1634
+#: .././mainwin.py:1646
msgid "_About..."
msgstr "_Over..."
-#: .././mainwin.py:1642
+#: .././mainwin.py:1654
msgid "Check for _updates"
msgstr "Controleren op _updates"
-#: .././mainwin.py:1648
+#: .././mainwin.py:1660
msgid "Go to _website"
msgstr "Ga naar _website"
-#: .././mainwin.py:1657
+#: .././mainwin.py:1669
msgid "Send _feedback"
msgstr "_Feedback versturen"
-#: .././mainwin.py:1701
+#: .././mainwin.py:1713
msgid "Add new video(s)"
msgstr "Video('s) toevoegen"
-#: .././mainwin.py:1710 .././mainwin.py:24071 .././media.py:82
+#: .././mainwin.py:1722 .././mainwin.py:24470 .././media.py:82
msgid "Channel"
msgstr "Kanaal"
-#: .././mainwin.py:1720
+#: .././mainwin.py:1732
msgid "Add a new channel"
msgstr "Kanaal toevoegen"
-#: .././mainwin.py:1731 .././mainwin.py:24073 .././media.py:84
+#: .././mainwin.py:1743 .././mainwin.py:24472 .././media.py:84
msgid "Playlist"
msgstr "Afspeellijst"
-#: .././mainwin.py:1741
+#: .././mainwin.py:1753
msgid "Add a new playlist"
msgstr "Afspeellijst toevoegen"
-#: .././mainwin.py:1752 .././mainwin.py:24075 .././media.py:86
+#: .././mainwin.py:1764 .././mainwin.py:24474 .././media.py:86
msgid "Folder"
msgstr "Map"
-#: .././mainwin.py:1762
+#: .././mainwin.py:1774
msgid "Add a new folder"
msgstr "Map toevoegen"
-#: .././mainwin.py:1776 .././config.py:21626
+#: .././mainwin.py:1788 .././config.py:21944
msgid "Check"
msgstr "Controleren"
-#: .././mainwin.py:1787 .././mainwin.py:2034 .././mainwin.py:4584
-#: .././mainwin.py:4882
+#: .././mainwin.py:1799 .././mainwin.py:2046 .././mainwin.py:4652
+#: .././mainwin.py:4843 .././mainwin.py:5002
msgid "Check all videos, channels, playlists and folders"
msgstr "Controleer alle video's, kanalen, afspeellijsten en mappen"
@@ -1191,318 +1195,327 @@ msgstr "Controleer alle video's, kanalen, afspeellijsten en mappen"
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
#. Link not clickable
-#: .././mainwin.py:1797 .././mainwin.py:21961 .././mainwin.py:21973
-#: .././mainwin.py:21978 .././mainwin.py:21986 .././mainwin.py:22255
-#: .././mainwin.py:22267 .././mainwin.py:22951 .././mainwin.py:24254
-#: .././mainwin.py:24266 .././mainwin.py:24292 .././config.py:21502
-#: .././config.py:21628
+#: .././mainwin.py:1809 .././mainwin.py:22340 .././mainwin.py:22352
+#: .././mainwin.py:22357 .././mainwin.py:22365 .././mainwin.py:22651
+#: .././mainwin.py:22663 .././mainwin.py:23347 .././mainwin.py:24653
+#: .././mainwin.py:24665 .././mainwin.py:24691 .././config.py:21820
+#: .././config.py:21946
msgid "Download"
msgstr "Downloaden"
-#: .././mainwin.py:1808 .././mainwin.py:2042 .././mainwin.py:4598
-#: .././mainwin.py:4898
+#: .././mainwin.py:1820 .././mainwin.py:2054 .././mainwin.py:4666
+#: .././mainwin.py:5018
msgid "Download all videos, channels, playlists and folders"
msgstr "Download alle video's, kanalen, afspeellijsten en mappen"
-#: .././mainwin.py:1823 .././config.py:11036 .././config.py:11221
-#: .././config.py:11676 .././config.py:11883 .././config.py:14343
-#: .././config.py:14524
+#: .././mainwin.py:1835 .././config.py:11075 .././config.py:11260
+#: .././config.py:11715 .././config.py:11922 .././config.py:14382
+#: .././config.py:14563
msgid "Stop"
msgstr "Afbreken"
-#: .././mainwin.py:1835
+#: .././mainwin.py:1847
msgid "Stop the current operation"
msgstr "Breek de huidige handeling af"
-#: .././mainwin.py:1847
+#: .././mainwin.py:1859
msgid "Switch"
msgstr "Andere weergave"
-#: .././mainwin.py:1858
+#: .././mainwin.py:1870
msgid "Switch between simple and complex views"
msgstr "Schakel tussen de eenvoudige en uitgebreide weergave"
-#: .././mainwin.py:1871 .././mainwin.py:4086
+#: .././mainwin.py:1883 .././mainwin.py:4140
msgid "Hide"
msgstr "Verbergen"
-#: .././mainwin.py:1873 .././mainwin.py:4093
+#: .././mainwin.py:1885 .././mainwin.py:4147
msgid "Show"
msgstr "Tonen"
-#: .././mainwin.py:1885 .././mainwin.py:4088
+#: .././mainwin.py:1897 .././mainwin.py:4142
msgid "Hide (most) system folders"
msgstr "(Meeste) systeemmappen verbergen"
-#: .././mainwin.py:1889 .././mainwin.py:4095
+#: .././mainwin.py:1901 .././mainwin.py:4149
msgid "Show all system folders"
msgstr "Alle systeemmappen tonen"
-#: .././mainwin.py:1904
+#: .././mainwin.py:1916
msgid "Quit"
msgstr "Afsluiten"
-#: .././mainwin.py:1914
+#: .././mainwin.py:1926
msgid "Close Tartube"
msgstr "Tartube sluiten"
-#: .././mainwin.py:1933 .././config.py:4869 .././config.py:12097
-#: .././config.py:19721 .././config.py:20716
+#: .././mainwin.py:1945 .././config.py:4869 .././config.py:12136
+#: .././config.py:19947 .././config.py:21026
msgid "_Videos"
msgstr "_Video's"
-#: .././mainwin.py:1941
+#: .././mainwin.py:1953
msgid "_Progress"
msgstr "_Voortgang"
-#: .././mainwin.py:1949
+#: .././mainwin.py:1961
msgid "_Classic Mode"
msgstr "_Klassieke modus"
-#: .././mainwin.py:1958
+#: .././mainwin.py:1970
msgid "_Drag and Drop"
msgstr ""
-#: .././mainwin.py:1967
+#: .././mainwin.py:1979
msgid "_Output"
msgstr "Uitv_oer"
-#: .././mainwin.py:1976 .././config.py:15291 .././config.py:16513
+#: .././mainwin.py:1988 .././config.py:15330 .././config.py:16578
msgid "_Errors / Warnings"
msgstr "Fout_en/Waarschuwingen"
-#: .././mainwin.py:2032 .././mainwin.py:4582 .././mainwin.py:4880
+#: .././mainwin.py:2044 .././mainwin.py:4650 .././mainwin.py:4841
+#: .././mainwin.py:5000
msgid "Check all"
msgstr "Alles controleren"
-#: .././mainwin.py:2040 .././mainwin.py:3488 .././mainwin.py:4596
-#: .././mainwin.py:18673
+#: .././mainwin.py:2052 .././mainwin.py:3542 .././mainwin.py:4664
+#: .././mainwin.py:19002
msgid "Download all"
msgstr "Alles downloaden"
-#: .././mainwin.py:2058 .././mainwin.py:3492 .././mainwin.py:4620
-#: .././mainwin.py:18664
+#: .././mainwin.py:2070 .././mainwin.py:3546 .././mainwin.py:4688
+#: .././mainwin.py:18993
msgid "Custom download all"
msgstr ""
-#: .././mainwin.py:2061 .././mainwin.py:4623 .././mainwin.py:4923
+#: .././mainwin.py:2073 .././mainwin.py:4691 .././mainwin.py:5043
msgid ""
"Perform a custom download of all videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:2078 .././mainwin.py:4650 .././mainwin.py:4940
+#: .././mainwin.py:2090 .././mainwin.py:4718 .././mainwin.py:5060
msgid "Select the custom download to use"
msgstr ""
-#: .././mainwin.py:2135
+#: .././mainwin.py:2147
msgid "Page"
msgstr "Pagina"
-#: .././mainwin.py:2146
+#: .././mainwin.py:2158
msgid "Set visible page"
msgstr "Zichtbare pagina instellen"
-#: .././mainwin.py:2176 .././mainwin.py:2649 .././mainwin.py:2735
-#: .././mainwin.py:3273
+#: .././mainwin.py:2188 .././mainwin.py:2691 .././mainwin.py:2777
+#: .././mainwin.py:3327
msgid "Size"
msgstr "Grootte"
-#: .././mainwin.py:2186
+#: .././mainwin.py:2198
msgid "Set page size"
msgstr "Paginagrootte instellen"
-#: .././mainwin.py:2209
+#: .././mainwin.py:2221
msgid "Go to first page"
msgstr "Ga naar eerste pagina"
-#: .././mainwin.py:2224
+#: .././mainwin.py:2236
msgid "Go to previous page"
msgstr "Ga naar vorige pagina"
-#: .././mainwin.py:2241
+#: .././mainwin.py:2253
msgid "Go to next page"
msgstr "Ga naar volgende pagina"
-#: .././mainwin.py:2256
+#: .././mainwin.py:2268
msgid "Go to last page"
msgstr "Ga naar laatste pagina"
-#: .././mainwin.py:2271
+#: .././mainwin.py:2283
msgid "Scroll up"
msgstr "Omhoog scrollen"
-#: .././mainwin.py:2286
+#: .././mainwin.py:2298
msgid "Scroll down"
msgstr "Omlaag scrollen"
-#: .././mainwin.py:2305 .././mainwin.py:5104
+#: .././mainwin.py:2317 .././mainwin.py:5224
msgid "Show more settings"
msgstr "Meer instellingen tonen"
-#: .././mainwin.py:2318
+#: .././mainwin.py:2330
msgid "Sort"
msgstr "Sorteren"
-#: .././mainwin.py:2324 .././config.py:14064
+#: .././mainwin.py:2336 .././config.py:14103
msgid "Upload time"
msgstr "Uploadtijd"
-#: .././mainwin.py:2325 .././mainwin.py:26123 .././mainwin.py:29622
-#: .././config.py:3009 .././config.py:12121 .././config.py:20023
-#: .././config.py:21502 .././config.py:22477 .././config.py:24433
-#: .././config.py:24713
+#: .././mainwin.py:2337 .././mainwin.py:26522 .././mainwin.py:30023
+#: .././config.py:3009 .././config.py:12160 .././config.py:20333
+#: .././config.py:21820 .././config.py:22851 .././config.py:24928
+#: .././config.py:25208
msgid "Name"
msgstr "Naam"
-#: .././mainwin.py:2326
+#: .././mainwin.py:2338
msgid "Download time"
msgstr "Downloadtijd"
-#: .././mainwin.py:2327
+#: .././mainwin.py:2339
msgid "Database ID"
msgstr "Databank-id"
-#: .././mainwin.py:2354
+#: .././mainwin.py:2366
msgid "Resort videos"
msgstr "Video's herordenen"
-#: .././mainwin.py:2367
+#: .././mainwin.py:2379
msgid "Find date"
msgstr "Datum zoeken"
-#: .././mainwin.py:2380
+#: .././mainwin.py:2392
msgid "Find videos by date"
msgstr "Video's zoeken op datum"
-#: .././mainwin.py:2397
+#: .././mainwin.py:2409
msgid "Cancel find videos by date"
msgstr "Video's zoeken op datum annuleren"
-#: .././mainwin.py:2410 .././mainwin.py:3862 .././config.py:14769
+#: .././mainwin.py:2422
+msgid "Thumbnail size"
+msgstr "Miniatuurgrootte"
+
+#: .././mainwin.py:2451 .././mainwin.py:3916 .././config.py:14808
msgid "Filter"
msgstr "Filteren"
-#: .././mainwin.py:2418 .././mainwin.py:3868 .././config.py:14779
+#: .././mainwin.py:2459 .././mainwin.py:3922 .././config.py:14818
msgid "Enter search text"
msgstr "Voer zoektekst in"
-#: .././mainwin.py:2423 .././mainwin.py:3870 .././config.py:14782
+#: .././mainwin.py:2464 .././mainwin.py:3924 .././config.py:14821
msgid "Regex"
msgstr "Regex"
-#: .././mainwin.py:2431 .././mainwin.py:3873
+#: .././mainwin.py:2472 .././mainwin.py:3927
msgid "Select if search text is a regex"
msgstr "Kies dit als de zoektekst een reguliere uitdrukking is"
-#: .././mainwin.py:2447
+#: .././mainwin.py:2488
msgid "Names"
msgstr ""
-#: .././mainwin.py:2461
+#: .././mainwin.py:2502
msgid "Descriptions"
msgstr ""
-#: .././mainwin.py:2475 .././config.py:14682
+#: .././mainwin.py:2516 .././config.py:14721
msgid "Comments"
msgstr ""
-#: .././mainwin.py:2495
+#: .././mainwin.py:2536
msgid "Filter videos"
msgstr "Video's filteren"
-#: .././mainwin.py:2512 .././mainwin.py:3927
+#: .././mainwin.py:2553 .././mainwin.py:3981
msgid "Cancel filter"
msgstr "Filter wissen"
-#: .././mainwin.py:2525
-msgid "Thumbnail size"
-msgstr "Miniatuurgrootte"
+#: .././mainwin.py:2569
+msgid "Draw frames"
+msgstr ""
-#: .././mainwin.py:2557
-msgid "Show frames"
+#: .././mainwin.py:2583
+msgid "Draw icons"
msgstr ""
-#: .././mainwin.py:2571
-msgid "Show icons"
+#: .././mainwin.py:2597
+msgid "Show downloaded"
msgstr ""
-#: .././mainwin.py:2585
-msgid "Show blocked videos"
+#: .././mainwin.py:2612
+msgid "Show undownloaded"
msgstr ""
-#: .././mainwin.py:2642
+#: .././mainwin.py:2627
+msgid "Show blocked"
+msgstr ""
+
+#: .././mainwin.py:2684
msgid "TRANSLATOR'S NOTE: Ext is short for a file extension, e.g. .EXE"
msgstr "TRANSLATOR'S NOTE: Ext is short for a file extension, e.g. .EXE"
-#: .././mainwin.py:2647 .././mainwin.py:3271 .././config.py:10493
+#: .././mainwin.py:2689 .././mainwin.py:3325 .././config.py:10532
msgid "Source"
msgstr "Bron"
-#: .././mainwin.py:2647 .././mainwin.py:3271
+#: .././mainwin.py:2689 .././mainwin.py:3325
msgid "Status"
msgstr "Status"
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Incoming file"
msgstr "Inkomend bestand"
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Ext"
msgstr "Ext."
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Speed"
msgstr "Snelheid"
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "ETA"
msgstr "Verwacht"
-#: .././mainwin.py:2735 .././config.py:16239
+#: .././mainwin.py:2777 .././config.py:16279
msgid "New videos"
msgstr "Nieuwe video's"
-#: .././mainwin.py:2735 .././config.py:440 .././config.py:14034
+#: .././mainwin.py:2777 .././config.py:440 .././config.py:14073
msgid "Duration"
msgstr "Duur"
-#: .././mainwin.py:2736
+#: .././mainwin.py:2778
msgid "Date"
msgstr "Datum"
-#: .././mainwin.py:2736 .././config.py:13905
+#: .././mainwin.py:2778 .././config.py:13944
msgid "File"
msgstr "Bestand"
-#: .././mainwin.py:2736
+#: .././mainwin.py:2778
msgid "Downloaded to"
msgstr "Gedownload naar"
-#: .././mainwin.py:2797
+#: .././mainwin.py:2839
msgid "Max downloads"
msgstr "Max. aantal downloads"
-#: .././mainwin.py:2820
+#: .././mainwin.py:2862
msgid "D/L speed (KiB/s)"
msgstr "Downloadsnelheid (in KiB/s)"
-#: .././mainwin.py:2844 .././mainwin.py:5309
+#: .././mainwin.py:2886 .././mainwin.py:5429
msgid "Alternative limits do not currently apply"
msgstr ""
-#: .././mainwin.py:2855 .././config.py:5272
+#: .././mainwin.py:2897 .././config.py:5274
msgid "Video resolution"
msgstr "Videoresolutie"
-#: .././mainwin.py:2890
+#: .././mainwin.py:2932
msgid "Hide rows when they are finished"
msgstr "Rijen verbergen na afronden"
-#: .././mainwin.py:2903
+#: .././mainwin.py:2945
msgid "Add newest videos to the top of the list"
msgstr "Nieuwste video's bovenaan de lijst plaatsen"
-#: .././mainwin.py:2988
+#: .././mainwin.py:3030
msgid "Open the Classic Mode menu"
msgstr "Menu van klassieke modus openen"
@@ -1510,7 +1523,7 @@ msgstr "Menu van klassieke modus openen"
#. enabled, URLs are automatically copied into this textview
#. --------------------------------------------------------------------
#. Initial widgets
-#: .././mainwin.py:2995 .././mainwin.py:26011
+#: .././mainwin.py:3037 .././mainwin.py:26410
msgid "Enter URLs below"
msgstr "Voer hieronder url's in"
@@ -1520,967 +1533,996 @@ msgstr "Voer hieronder url's in"
#. the specified destination and format
#. --------------------------------------------------------------------
#. Destination directory
-#: .././mainwin.py:3039
+#: .././mainwin.py:3081
msgid "Destination:"
msgstr "Bestemming:"
-#: .././mainwin.py:3076
+#: .././mainwin.py:3118
msgid "Add a new destination folder"
msgstr "Bestemming toevoegen"
-#: .././mainwin.py:3095
+#: .././mainwin.py:3137
msgid "Open the destination folder"
msgstr "Bestemming openen"
#. Video/audio format
-#: .././mainwin.py:3100
+#: .././mainwin.py:3142
msgid "Format:"
msgstr "Formaat:"
#. (Dummy items in the combo)
-#: .././mainwin.py:3104 .././mainwin.py:18439 .././config.py:22477
+#: .././mainwin.py:3146 .././mainwin.py:18755 .././config.py:22851
msgid "Default"
msgstr "Standaard"
-#: .././mainwin.py:3104 .././mainwin.py:18440
+#: .././mainwin.py:3146 .././mainwin.py:18756
msgid "Video:"
msgstr "Video:"
-#: .././mainwin.py:3108 .././mainwin.py:18441
+#: .././mainwin.py:3150 .././mainwin.py:18757
msgid "Audio:"
msgstr "Audio:"
#. Video resolution
#. (Dummy items in the combo)
-#: .././mainwin.py:3137 .././mainwin.py:18941
+#: .././mainwin.py:3179 .././mainwin.py:19270
msgid "Highest"
msgstr ""
-#: .././mainwin.py:3168
-msgid "Convert to this format (requires FFmpeg)"
+#: .././mainwin.py:3210
+msgid "Convert to this format"
msgstr ""
-#: .././mainwin.py:3177
+#: .././mainwin.py:3219
msgid "Download in this format"
msgstr ""
-#: .././mainwin.py:3207
+#: .././mainwin.py:3232 .././config.py:5244
+msgid "Is a livestream"
+msgstr "Is een livestream"
+
+#: .././mainwin.py:3261
msgid "Add URLs"
msgstr "URL's toevoegen"
-#: .././mainwin.py:3213
+#: .././mainwin.py:3267
msgid "Add these URLs"
msgstr "Deze url's toevoegen"
-#: .././mainwin.py:3326
+#: .././mainwin.py:3380
msgid "Play video"
msgstr "Video afspelen"
-#: .././mainwin.py:3349
+#: .././mainwin.py:3403
msgid "Open destination(s)"
msgstr ""
-#: .././mainwin.py:3367
+#: .././mainwin.py:3421
msgid "Stop download"
msgstr "Downloaden afbreken"
-#: .././mainwin.py:3388
+#: .././mainwin.py:3442
msgid "Re-download"
msgstr "Opnieuw downloaden"
-#: .././mainwin.py:3401
+#: .././mainwin.py:3455
msgid ""
"Allow downloader to create an archive file (enable this only when "
"downloading channels and playlists)"
msgstr ""
-#: .././mainwin.py:3431
+#: .././mainwin.py:3485
msgid "Process with FFmpeg"
msgstr "Verwerken met FFmpeg"
#. (Signal connect appears below)
-#: .././mainwin.py:3447 .././config.py:6506 .././config.py:19493
-#: .././config.py:21567
+#: .././mainwin.py:3501 .././config.py:6531 .././config.py:19719
+#: .././config.py:21885
msgid "Move up"
msgstr "Omhoog verplaatsen"
#. (Signal connect appears below)
-#: .././mainwin.py:3468 .././config.py:6510 .././config.py:19502
-#: .././config.py:21576
+#: .././mainwin.py:3522 .././config.py:6535 .././config.py:19728
+#: .././config.py:21894
msgid "Move down"
msgstr "Omlaag verplaatsen"
-#: .././mainwin.py:3484
+#: .././mainwin.py:3538
msgid "Remove from list"
msgstr "Verwijderen van lijst"
-#: .././mainwin.py:3500 .././mainwin.py:18676
+#: .././mainwin.py:3554 .././mainwin.py:19005
msgid "Download the URLs above"
msgstr "Bovenstaande url's downloaden"
-#: .././mainwin.py:3504 .././mainwin.py:18667
+#: .././mainwin.py:3558 .././mainwin.py:18996
msgid "Perform a custom download on the URLs above"
msgstr ""
-#: .././mainwin.py:3508
+#: .././mainwin.py:3562
msgid "Clear all"
msgstr "Alles wissen"
-#: .././mainwin.py:3520 .././mainwin.py:3531
+#: .././mainwin.py:3574 .././mainwin.py:3585
msgid "Clear the URLs above"
msgstr "Bovenstaande url's wissen"
-#: .././mainwin.py:3524
+#: .././mainwin.py:3578
msgid "Clear downloaded"
msgstr "Gedownloade bestanden wissen"
-#: .././mainwin.py:3577
+#: .././mainwin.py:3631
msgid "When you drag a video here, it is added to the Classic Mode tab"
msgstr ""
-#: .././mainwin.py:3586
+#: .././mainwin.py:3640
msgid "Each zone represents a set of download options"
msgstr ""
-#: .././mainwin.py:3596
+#: .././mainwin.py:3650
msgid "Warning: Drag and drop does not work well on MS Windows"
msgstr ""
-#: .././mainwin.py:3617
+#: .././mainwin.py:3671
msgid "Add a new dropzone"
msgstr ""
-#: .././mainwin.py:3670
+#: .././mainwin.py:3724
msgid "Maximum page size"
msgstr "Maximale paginagrootte"
-#: .././mainwin.py:3726 .././config.py:21259
+#: .././mainwin.py:3780 .././config.py:21577
msgid "Show Tartube errors"
msgstr "Tartube-fouten tonen"
-#: .././mainwin.py:3739 .././config.py:21267
+#: .././mainwin.py:3793 .././config.py:21585
msgid "Show Tartube warnings"
msgstr "Tartube-waarschuwingen tonen"
-#: .././mainwin.py:3752 .././config.py:21275
+#: .././mainwin.py:3806 .././config.py:21593
msgid "Show operation errors"
msgstr ""
-#: .././mainwin.py:3770 .././config.py:21286
+#: .././mainwin.py:3824 .././config.py:21604
msgid "Show operation warnings"
msgstr ""
-#: .././mainwin.py:3793 .././config.py:21297
+#: .././mainwin.py:3847 .././config.py:21615
msgid "Show dates"
msgstr ""
-#: .././mainwin.py:3811 .././config.py:21308
+#: .././mainwin.py:3865 .././config.py:21626
msgid "Show channel/playlist/folder names"
msgstr ""
-#: .././mainwin.py:3829 .././config.py:21319
+#: .././mainwin.py:3883 .././config.py:21637
msgid "Show video names"
msgstr ""
-#: .././mainwin.py:3847 .././config.py:21330
+#: .././mainwin.py:3901 .././config.py:21648
msgid "Show full messages"
msgstr ""
-#: .././mainwin.py:3910
+#: .././mainwin.py:3964
msgid "Filter messages"
msgstr ""
-#: .././mainwin.py:3932 .././config.py:11133 .././config.py:11337
-#: .././config.py:11773 .././config.py:12000 .././config.py:14431
-#: .././config.py:14623 .././config.py:16367 .././config.py:18135
+#: .././mainwin.py:3986 .././config.py:11172 .././config.py:11376
+#: .././config.py:11812 .././config.py:12039 .././config.py:14470
+#: .././config.py:14662 .././config.py:16407 .././config.py:18327
msgid "Clear list"
msgstr "Lijst wissen"
-#: .././mainwin.py:4465
+#: .././mainwin.py:4525
msgid "Checking..."
msgstr "Bezig met controleren..."
-#: .././mainwin.py:4467
+#: .././mainwin.py:4527 .././mainwin.py:4864 .././formats.py:1183
+msgid "Checking"
+msgstr "Aan het controleren"
+
+#: .././mainwin.py:4530
msgid "Downloading..."
msgstr "Bezig met downloaden…"
-#: .././mainwin.py:4469
+#: .././mainwin.py:4532 .././mainwin.py:4866 .././formats.py:1180
+msgid "Downloading"
+msgstr "Aan het downloaden"
+
+#: .././mainwin.py:4535
msgid "Refreshing..."
msgstr "Bezig met verversen..."
-#: .././mainwin.py:4471
+#: .././mainwin.py:4538
msgid "Tidying..."
msgstr "Bezig met opruimen..."
-#: .././mainwin.py:4473
+#: .././mainwin.py:4541
msgid "FFmpeg processing..."
msgstr "Bezig met FFmpeg-verwerking..."
-#: .././mainwin.py:4587 .././mainwin.py:4885
+#: .././mainwin.py:4655 .././mainwin.py:4846 .././mainwin.py:5005
msgid "Check marked items"
msgstr ""
-#: .././mainwin.py:4589 .././mainwin.py:4888
+#: .././mainwin.py:4657 .././mainwin.py:4848 .././mainwin.py:5008
msgid "Check marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4601
+#: .././mainwin.py:4669
msgid "Download marked items"
msgstr ""
-#: .././mainwin.py:4603 .././mainwin.py:4904
+#: .././mainwin.py:4671 .././mainwin.py:5024
msgid "Download marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4629
+#: .././mainwin.py:4697
msgid "Custom download marked items"
msgstr ""
-#: .././mainwin.py:4633
+#: .././mainwin.py:4701
msgid ""
"Perform a custom download of marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4852
+#: .././mainwin.py:4970
msgid "Installing FFmpeg"
msgstr ""
-#: .././mainwin.py:4854
+#: .././mainwin.py:4972
msgid "Installing matplotlib"
msgstr ""
-#: .././mainwin.py:4856
+#: .././mainwin.py:4974
+msgid "Installing streamlink"
+msgstr ""
+
+#: .././mainwin.py:4976
msgid "Updating downloader"
msgstr ""
-#: .././mainwin.py:4858
+#: .././mainwin.py:4978
msgid "Fetching formats"
msgstr ""
-#: .././mainwin.py:4860
+#: .././mainwin.py:4980
msgid "Fetching subtitles"
msgstr ""
-#: .././mainwin.py:4862
+#: .././mainwin.py:4982
msgid "Testing downloader"
msgstr ""
-#: .././mainwin.py:4864
+#: .././mainwin.py:4984
msgid "Contacting website"
msgstr "Bezig met openen van website"
-#: .././mainwin.py:4933
+#: .././mainwin.py:5053
msgid ""
"Perform a custom download of marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:5134
+#: .././mainwin.py:5254
msgid "Show fewer settings"
msgstr "Minder instellingen tonen"
-#: .././mainwin.py:5299
+#: .././mainwin.py:5419
msgid "Alternative limits currently apply"
msgstr ""
-#: .././mainwin.py:5330
+#: .././mainwin.py:5450
msgid "This tab emulates the classic youtube-dl-gui interface"
msgstr "Dit tabblad bootst de klassieke youtube-dl-gui-vormgeving na"
-#: .././mainwin.py:5335
+#: .././mainwin.py:5455
msgid "Videos downloaded here are not added to Tartube's database"
msgstr ""
"Video's die hier worden gedownload worden niet toegevoegd aan Tartube's "
"databank"
-#: .././mainwin.py:5347 .././config.py:6440
+#: .././mainwin.py:5467 .././config.py:6465
msgid "If your preferred formats are not available, the download will fail!"
msgstr ""
-#: .././mainwin.py:5353
+#: .././mainwin.py:5473
msgid ""
"If you want a specific format, install FFMpeg and select 'Convert to this "
"format'!"
msgstr ""
-#: .././mainwin.py:5549
+#: .././mainwin.py:5669
msgid "_Check channel"
msgstr "Kanaal _controleren"
-#: .././mainwin.py:5551
+#: .././mainwin.py:5671
msgid "_Check playlist"
msgstr "Afspeellijst _controleren"
-#: .././mainwin.py:5553
+#: .././mainwin.py:5673
msgid "_Check folder"
msgstr "Map _controleren"
-#: .././mainwin.py:5574
+#: .././mainwin.py:5694
msgid "_Download channel"
msgstr "Kanaal _downloaden"
-#: .././mainwin.py:5576
+#: .././mainwin.py:5696
msgid "_Download playlist"
msgstr "Afspeellijst _downloaden"
-#: .././mainwin.py:5578
+#: .././mainwin.py:5698
msgid "_Download folder"
msgstr "Map downloaden"
-#: .././mainwin.py:5599
+#: .././mainwin.py:5719
msgid "C_ustom download channel"
msgstr "Kanaal aangepast do_wnloaden"
-#: .././mainwin.py:5601
+#: .././mainwin.py:5721
msgid "C_ustom download playlist"
msgstr "Afspeellijst aangepast do_wnloaden"
-#: .././mainwin.py:5603
+#: .././mainwin.py:5723
msgid "C_ustom download folder"
msgstr "Map aangepast do_wnloaden"
-#: .././mainwin.py:5650
+#: .././mainwin.py:5770
msgid "_Empty folder"
msgstr "L_ege map"
-#: .././mainwin.py:5662
+#: .././mainwin.py:5782
msgid "_All contents"
msgstr "_Alle inhoud"
-#: .././mainwin.py:5680
+#: .././mainwin.py:5800
msgid "_Remove videos"
msgstr "Video's ve_rwijderen"
-#: .././mainwin.py:5692
+#: .././mainwin.py:5812
msgid "_Just folder videos"
msgstr "Alleen mapv_ideo's"
-#: .././mainwin.py:5698
-msgid "Channel co_ntents"
-msgstr "Kanaali_nhoud"
+#: .././mainwin.py:5818
+msgid "Channel c_ontents"
+msgstr ""
-#: .././mainwin.py:5700
-msgid "Playlist co_ntents"
-msgstr "Afspeellijsti_nhoud"
+#: .././mainwin.py:5820
+msgid "Playlist c_ontents"
+msgstr ""
-#: .././mainwin.py:5702
-msgid "Folder co_ntents"
-msgstr "Mapi_nhoud"
+#: .././mainwin.py:5822
+msgid "Folder c_ontents"
+msgstr ""
-#: .././mainwin.py:5714
+#: .././mainwin.py:5834
msgid "_Move to top level"
msgstr "Verplaatsen naar bovenste _niveau"
-#: .././mainwin.py:5732
+#: .././mainwin.py:5852
msgid "_Convert to playlist"
msgstr "_Omzetten naar afspeellijst"
-#: .././mainwin.py:5734
+#: .././mainwin.py:5854
msgid "_Convert to channel"
msgstr "_Omzetten naar kanaal"
-#: .././mainwin.py:5757
+#: .././mainwin.py:5877
msgid "_Hide folder"
msgstr "Map ver_bergen"
-#: .././mainwin.py:5767
+#: .././mainwin.py:5887
msgid "_Rename channel..."
msgstr "Kanaalnaam wijzi_gen..."
-#: .././mainwin.py:5769
+#: .././mainwin.py:5889
msgid "_Rename playlist..."
msgstr "Afspee_llijstnaam wijzigen..."
-#: .././mainwin.py:5771
+#: .././mainwin.py:5891
msgid "_Rename folder..."
msgstr "Mapnaam _wijzigen..."
-#: .././mainwin.py:5788
+#: .././mainwin.py:5908
msgid "Set _nickname..."
msgstr "Bij_naam instellen..."
-#: .././mainwin.py:5803
+#: .././mainwin.py:5923
msgid "Set _URL..."
msgstr "_URL instellen..."
-#: .././mainwin.py:5815
+#: .././mainwin.py:5935
msgid "Set _download destination..."
msgstr "_Downloadbestemming instellen..."
-#: .././mainwin.py:5833
+#: .././mainwin.py:5953
msgid "_Export channel..."
msgstr "Kanaal _exporteren..."
-#: .././mainwin.py:5835
+#: .././mainwin.py:5955
msgid "_Export playlist..."
msgstr "Afspeellijst _exporteren..."
-#: .././mainwin.py:5837
+#: .././mainwin.py:5957
msgid "_Export folder..."
msgstr "Map _exporteren..."
-#: .././mainwin.py:5850
+#: .././mainwin.py:5970
msgid "Re_fresh channel"
msgstr "Kanaal ver_versen"
-#: .././mainwin.py:5852
+#: .././mainwin.py:5972
msgid "Re_fresh playlist"
msgstr "Afspeellijst ver_versen"
-#: .././mainwin.py:5854
+#: .././mainwin.py:5974
msgid "Re_fresh folder"
msgstr "Map ver_versen"
-#: .././mainwin.py:5871
+#: .././mainwin.py:5991
msgid "_Tidy up channel"
msgstr "Kanaal op_ruimen"
-#: .././mainwin.py:5873
+#: .././mainwin.py:5993
msgid "_Tidy up playlist"
msgstr "Afspeellijs_t opruimen"
-#: .././mainwin.py:5875
+#: .././mainwin.py:5995
msgid "_Tidy up folder"
msgstr "Map op_ruimen"
-#: .././mainwin.py:5892
-msgid "Add to _Classic Mode tab"
-msgstr "Toevoegen aan _klassieke modus"
+#: .././mainwin.py:6012 .././mainwin.py:6654 .././mainwin.py:8551
+msgid "Add to C_lassic Mode tab"
+msgstr ""
-#: .././mainwin.py:5906
+#: .././mainwin.py:6026
msgid "Channel _actions"
msgstr "Kanaal_acties"
-#: .././mainwin.py:5908
+#: .././mainwin.py:6028
msgid "Playlist _actions"
msgstr "Afspeellijst_acties"
-#: .././mainwin.py:5910
+#: .././mainwin.py:6030
msgid "Folder _actions"
msgstr "Map_acties"
-#: .././mainwin.py:5930 .././mainwin.py:6687
+#: .././mainwin.py:6050 .././mainwin.py:6853
msgid "_Apply download options..."
msgstr "Downloadopties toep_assen..."
-#: .././mainwin.py:5948 .././mainwin.py:6701
+#: .././mainwin.py:6068 .././mainwin.py:6867
msgid "_Remove download options"
msgstr "Downloadopties wissen"
-#: .././mainwin.py:5964 .././mainwin.py:6713
+#: .././mainwin.py:6084 .././mainwin.py:6879
msgid "_Edit download options..."
msgstr "Downloadopties aanpass_en..."
-#: .././mainwin.py:5980
-msgid "Add to s_cheduled download..."
-msgstr "Toevoegen aan in_geplande downloads..."
+#: .././mainwin.py:6100
+msgid "Add to _scheduled download..."
+msgstr ""
-#: .././mainwin.py:5990
-msgid "_Show system command..."
-msgstr "_Systeemopdracht tonen..."
+#: .././mainwin.py:6110
+msgid "Show system _command..."
+msgstr ""
-#: .././mainwin.py:6009
+#: .././mainwin.py:6129
msgid "Set _removal time..."
msgstr ""
-#: .././mainwin.py:6022
+#: .././mainwin.py:6142
msgid "_Mark for checking/downloading"
msgstr ""
-#: .././mainwin.py:6043
+#: .././mainwin.py:6163
msgid "_Don't add videos to Tartube's database"
msgstr ""
-#: .././mainwin.py:6055
+#: .././mainwin.py:6175
msgid "D_isable checking/downloading"
msgstr ""
-#: .././mainwin.py:6067
+#: .././mainwin.py:6187
msgid "_Just disable downloading"
msgstr "Alleen downloaden u_itschakelen"
-#: .././mainwin.py:6088 .././mainwin.py:6772
-msgid "D_ownloads"
-msgstr "D_ownloads"
+#: .././mainwin.py:6208
+msgid "Down_loads"
+msgstr ""
-#: .././mainwin.py:6099
+#: .././mainwin.py:6219
msgid "Channel _properties..."
msgstr "Kanaalin_formatie..."
-#: .././mainwin.py:6101
+#: .././mainwin.py:6221
msgid "Playlist _properties..."
msgstr "Afs_peellijstinformatie..."
-#: .././mainwin.py:6103
+#: .././mainwin.py:6223
msgid "Folder _properties..."
msgstr "Ma_pinformatie..."
-#: .././mainwin.py:6119
+#: .././mainwin.py:6239
msgid "_Default location"
msgstr "Stan_daardlocatie"
-#: .././mainwin.py:6132
+#: .././mainwin.py:6252
msgid "_Actual location"
msgstr "D_aadwerkelijke locatie"
-#: .././mainwin.py:6146
+#: .././mainwin.py:6266
msgid "_Show"
msgstr "_Tonen"
-#: .././mainwin.py:6155
+#: .././mainwin.py:6275
msgid "D_elete channel"
msgstr "Kanaal v_erwijderen"
-#: .././mainwin.py:6157
+#: .././mainwin.py:6277
msgid "D_elete playlist"
msgstr "Afspeellijst v_erwijderen"
-#: .././mainwin.py:6159
+#: .././mainwin.py:6279
msgid "D_elete folder"
msgstr "Map v_erwijderen"
-#: .././mainwin.py:6254
+#: .././mainwin.py:6375
msgid "_Check video"
msgstr "Video _controleren"
-#: .././mainwin.py:6278
+#: .././mainwin.py:6399
msgid "_Download video"
msgstr "Video _downloaden"
-#: .././mainwin.py:6301
+#: .././mainwin.py:6422
msgid "Re-_download this video"
msgstr "Video opnieuw _downloaden"
-#: .././mainwin.py:6319
+#: .././mainwin.py:6440
msgid "C_ustom download video"
msgstr "Video aangepast do_wnloaden"
-#: .././mainwin.py:6337 .././mainwin.py:6649
+#: .././mainwin.py:6458 .././mainwin.py:6815 .././mainwin.py:8613
msgid "Download and _watch"
msgstr "Do_wnloaden en bekijken"
-#: .././mainwin.py:6357 .././mainwin.py:8250
+#: .././mainwin.py:6478 .././mainwin.py:8434
msgid "Watch in _player"
msgstr "Bekijken in s_peler"
-#: .././mainwin.py:6372 .././mainwin.py:6383 .././mainwin.py:8262
-#: .././mainwin.py:8280
-msgid "Watch on _website"
-msgstr "Bekijken op _website"
+#: .././mainwin.py:6496 .././mainwin.py:6517 .././mainwin.py:8465
+msgid "_Watch on website"
+msgstr ""
+
+#: .././mainwin.py:6506 .././mainwin.py:6530 .././mainwin.py:7634
+#: .././mainwin.py:8478
+#, python-brace-format
+msgid "_Watch on {0}"
+msgstr ""
-#: .././mainwin.py:6397 .././mainwin.py:8294
+#: .././mainwin.py:6544 .././mainwin.py:8492
msgid "_YouTube"
msgstr "_YouTube"
-#: .././mainwin.py:6407 .././mainwin.py:8304
+#: .././mainwin.py:6554 .././mainwin.py:8502
msgid "_HookTube"
msgstr "_HookTube"
-#: .././mainwin.py:6417 .././mainwin.py:8314
+#: .././mainwin.py:6564 .././mainwin.py:8512
msgid "_Invidious"
msgstr "_Invidious"
-#: .././mainwin.py:6427 .././mainwin.py:8324
+#: .././mainwin.py:6574 .././mainwin.py:8522
msgid "TRANSLATOR'S NOTE: Watch on YouTube, Watch on HookTube, etc"
msgstr "TRANSLATOR'S NOTE: Watch on YouTube, Watch on HookTube, etc"
-#: .././mainwin.py:6432 .././mainwin.py:8329
+#: .././mainwin.py:6579 .././mainwin.py:8527
msgid "W_atch on"
msgstr "Bekijken _op"
-#: .././mainwin.py:6446
-msgid "Create video cl_ip..."
+#: .././mainwin.py:6593
+msgid "_Create video clip..."
msgstr ""
-#: .././mainwin.py:6452
-msgid "Download video cl_ip..."
+#: .././mainwin.py:6599
+msgid "Download video clip..."
msgstr ""
-#: .././mainwin.py:6468
+#: .././mainwin.py:6615
msgid "_Remove video slices..."
msgstr ""
-#: .././mainwin.py:6483 .././mainwin.py:8350
+#: .././mainwin.py:6630 .././mainwin.py:8537
msgid "_Process with FFmpeg..."
msgstr "Verwerken met FFm_peg..."
-#: .././mainwin.py:6497
+#: .././mainwin.py:6644
msgid "_Special"
msgstr ""
-#: .././mainwin.py:6507 .././mainwin.py:8364
-msgid "Add to C_lassic Mode tab"
-msgstr ""
-
-#: .././mainwin.py:6528
+#: .././mainwin.py:6675
msgid "Auto _notify"
msgstr "Automatisch melde_n"
-#: .././mainwin.py:6544
+#: .././mainwin.py:6691
msgid "Auto _sound alarm"
msgstr "Automati_sch geluid"
-#: .././mainwin.py:6559
+#: .././mainwin.py:6706
msgid "Auto _open"
msgstr "Automatisch _openen"
-#: .././mainwin.py:6572
+#: .././mainwin.py:6719
msgid "_Download on start"
msgstr "_Downloaden na starten"
-#: .././mainwin.py:6587
+#: .././mainwin.py:6734
msgid "Download on _stop"
msgstr "Downloaden na _stoppen"
-#: .././mainwin.py:6605
+#: .././mainwin.py:6752
msgid "Not a _livestream"
msgstr "Geen _livestream"
-#: .././mainwin.py:6615
+#: .././mainwin.py:6762
+msgid "_Finalise livestream"
+msgstr ""
+
+#: .././mainwin.py:6781
msgid "_Livestream"
msgstr "_Livestream"
-#: .././mainwin.py:6628 .././mainwin.py:8383
+#: .././mainwin.py:6794 .././mainwin.py:8591
msgid "_Mark for download"
msgstr "_Markeren als download"
-#: .././mainwin.py:6639 .././mainwin.py:8395
+#: .././mainwin.py:6805 .././mainwin.py:8603
msgid "_Download"
msgstr "_Downloaden"
-#: .././mainwin.py:6659 .././mainwin.py:8416 .././config.py:20218
+#: .././mainwin.py:6825 .././mainwin.py:8624 .././config.py:20528
msgid "_Temporary"
msgstr "_Tijdelijk"
-#: .././mainwin.py:6729
-msgid "Show system _command"
-msgstr "Systeemopdra_cht tonen"
+#: .././mainwin.py:6895
+msgid "_Show system command"
+msgstr ""
-#: .././mainwin.py:6739
+#: .././mainwin.py:6905
msgid "_Test system command"
msgstr "Systeemopdracht _testen"
-#: .././mainwin.py:6754
+#: .././mainwin.py:6920
msgid "_Disable downloads"
msgstr "_Downloads uitschakelen"
-#: .././mainwin.py:6787
+#: .././mainwin.py:6938
+msgid "D_ownloads"
+msgstr "D_ownloads"
+
+#: .././mainwin.py:6953
msgid "Video is _archived"
msgstr "De video is ge_archiveerd"
-#: .././mainwin.py:6800
+#: .././mainwin.py:6966
msgid "Video is _bookmarked"
msgstr "De video is toegevoegd aan de _bladwijzers"
-#: .././mainwin.py:6811
+#: .././mainwin.py:6977
msgid "Video is _favourite"
msgstr "De video is toegevoegd aan de _favorieten"
-#: .././mainwin.py:6822
+#: .././mainwin.py:6988
msgid "Video is _missing"
msgstr "De video o_ntbreekt"
-#: .././mainwin.py:6838
+#: .././mainwin.py:7004
msgid "Video is _new"
msgstr "De video is _nieuw"
-#: .././mainwin.py:6851
+#: .././mainwin.py:7017
msgid "Video is in _waiting list"
msgstr "De video staat op de _wachtlijst"
-#: .././mainwin.py:6862
+#: .././mainwin.py:7028
msgid "_Mark video"
msgstr "Video _markeren"
-#: .././mainwin.py:6873
+#: .././mainwin.py:7039
msgid "_Location"
msgstr "_Locatie"
-#: .././mainwin.py:6885
+#: .././mainwin.py:7051
msgid "_Properties..."
msgstr "Eigenscha_ppen..."
-#: .././mainwin.py:6897
-msgid "_Show video"
-msgstr "Video _tonen"
+#: .././mainwin.py:7063
+msgid "S_how video"
+msgstr ""
-#: .././mainwin.py:6906
+#: .././mainwin.py:7072
msgid "Available _formats"
msgstr "Beschikbare _formaten"
-#: .././mainwin.py:6916
+#: .././mainwin.py:7082
msgid "Available _subtitles"
msgstr "Be_schikbare ondertiteling"
-#: .././mainwin.py:6926
+#: .././mainwin.py:7092
msgid "_Fetch"
msgstr "_Ophalen"
#. Delete video
-#: .././mainwin.py:6937
+#: .././mainwin.py:7103
msgid "D_elete video"
msgstr "Video v_erwijderen"
#. Check/download videos
-#: .././mainwin.py:7041
+#: .././mainwin.py:7209
msgid "_Check videos"
msgstr "Video's _controleren"
-#: .././mainwin.py:7061
+#: .././mainwin.py:7229
msgid "_Download videos"
msgstr "Video's _downloaden"
-#: .././mainwin.py:7084
+#: .././mainwin.py:7252
msgid "C_ustom download videos"
msgstr "Video's aan_gepast downloaden"
-#: .././mainwin.py:7116
+#: .././mainwin.py:7284
msgid "_Archived"
msgstr "Ge_archiveerd"
-#: .././mainwin.py:7127
+#: .././mainwin.py:7295
msgid "Not a_rchived"
msgstr "Niet gea_rchiveerd"
-#: .././mainwin.py:7141
+#: .././mainwin.py:7309
msgid "_Bookmarked"
msgstr "In _bladwijzers"
-#: .././mainwin.py:7152
+#: .././mainwin.py:7320
msgid "Not b_ookmarked"
msgstr "Niet in b_ladwijzers"
-#: .././mainwin.py:7166
+#: .././mainwin.py:7334
msgid "_Favourite"
msgstr "_Favoriet"
-#: .././mainwin.py:7177
+#: .././mainwin.py:7345
msgid "Not fa_vourite"
msgstr "Geen fa_voriet"
-#: .././mainwin.py:7191
+#: .././mainwin.py:7359
msgid "_Missing"
msgstr "O_ntbreekt"
-#: .././mainwin.py:7204
+#: .././mainwin.py:7372
msgid "Not m_issing"
msgstr "Ontbreekt n_iet"
-#: .././mainwin.py:7220
+#: .././mainwin.py:7388
msgid "_New"
msgstr "_Nieuw"
-#: .././mainwin.py:7231
+#: .././mainwin.py:7399
msgid "Not n_ew"
msgstr "Niet ni_euw"
-#: .././mainwin.py:7245
+#: .././mainwin.py:7413
msgid "In _waiting list"
msgstr "Op _wachtlijst"
-#: .././mainwin.py:7256
+#: .././mainwin.py:7424
msgid "Not in w_aiting list"
msgstr "Niet op w_achtlijst"
-#: .././mainwin.py:7267
+#: .././mainwin.py:7435
msgid "_Mark videos"
msgstr "Video's _markeren"
-#: .././mainwin.py:7276
+#: .././mainwin.py:7444
msgid "Show p_roperties..."
msgstr "Eigensc_happen tonen..."
#. Delete videos
-#: .././mainwin.py:7291
+#: .././mainwin.py:7459
msgid "D_elete videos"
msgstr "Video's verwijd_eren"
#. Stop check/download
-#: .././mainwin.py:7362
+#: .././mainwin.py:7532
msgid "_Stop now"
msgstr "Nu _afbreken"
-#: .././mainwin.py:7379
-msgid "Stop checking videos"
+#: .././mainwin.py:7549
+msgid "Stop checking _videos"
msgstr ""
-#: .././mainwin.py:7381
+#: .././mainwin.py:7551
msgid "Stop after this _video"
msgstr "Afbreken na deze _video"
-#: .././mainwin.py:7400
+#: .././mainwin.py:7570
msgid "Stop after these v_ideos"
msgstr "Afbreken na deze v_ideo's"
-#: .././mainwin.py:7415
+#: .././mainwin.py:7585
msgid "Download _next"
msgstr "Volge_nde downloaden"
-#: .././mainwin.py:7427
+#: .././mainwin.py:7597
msgid "Download _last"
msgstr "_Laatste downloaden"
-#: .././mainwin.py:7450
-msgid "Watch on _YouTube"
-msgstr "Bekijken op _YouTube"
+#: .././mainwin.py:7621
+msgid "_Watch on Website"
+msgstr ""
+
+#: .././mainwin.py:7646
+msgid "_Watch on YouTube"
+msgstr ""
-#: .././mainwin.py:7460
+#: .././mainwin.py:7656
msgid "Watch on _HookTube"
msgstr "Bekijken op _HookTube"
-#: .././mainwin.py:7470
+#: .././mainwin.py:7666
msgid "Watch on _Invidious"
msgstr "Bekijken op _Invidious"
-#: .././mainwin.py:7482
-msgid "Watch on _Website"
-msgstr "Bekijken op _website"
-
-#: .././mainwin.py:7578
+#: .././mainwin.py:7762
msgid "_Delete video(s)"
msgstr "Video('s) verwij_deren"
-#: .././mainwin.py:7642
+#: .././mainwin.py:7826
msgid "Choose a custom download:"
msgstr ""
-#: .././mainwin.py:7715
+#: .././mainwin.py:7899
msgid "_Enable automatic copy/paste"
msgstr "Automatisch kopiëren/plakken inschak_elen"
-#: .././mainwin.py:7727
+#: .././mainwin.py:7911
msgid "_Remember URLs"
msgstr "U_RL's onthouden"
-#: .././mainwin.py:7742
+#: .././mainwin.py:7926
msgid "_Set download options"
msgstr "Downloadopties in_stellen"
-#: .././mainwin.py:7753
+#: .././mainwin.py:7937
msgid "Use _default download options"
msgstr "Stan_daard downloadopties gebruiken"
-#: .././mainwin.py:7765
-msgid "_Edit download options"
-msgstr "Downloadopties aanpass_en"
+#: .././mainwin.py:7949
+msgid "Edit download _options"
+msgstr ""
-#: .././mainwin.py:7779
+#: .././mainwin.py:7963
msgid "Enable _custom downloads"
msgstr "Aangepast downloaden ins_chakelen"
-#: .././mainwin.py:7792
+#: .././mainwin.py:7976
msgid "Custom downloads _preferences..."
msgstr "Aange_paste downloadinstellingen..."
-#: .././mainwin.py:7807 .././config.py:19854
+#: .././mainwin.py:7991 .././config.py:20164
msgid "_Update"
msgstr "Bij_werken"
-#: .././mainwin.py:7857
+#: .././mainwin.py:8041
msgid "_Play video"
msgstr ""
-#: .././mainwin.py:7869
+#: .././mainwin.py:8053
msgid "_Open destination(s)"
msgstr "Bestemming(en) _openen"
-#: .././mainwin.py:7884
+#: .././mainwin.py:8068
msgid "_Re-download"
msgstr ""
-#: .././mainwin.py:7896
+#: .././mainwin.py:8080
msgid "_Stop download"
msgstr ""
-#: .././mainwin.py:7910
+#: .././mainwin.py:8094
msgid "Process with _FFmpeg"
msgstr ""
-#: .././mainwin.py:7927
+#: .././mainwin.py:8111
msgid "_Copy file path"
msgstr ""
#. Copy URL
-#: .././mainwin.py:7939
+#: .././mainwin.py:8123
msgid "Copy UR_L"
msgstr ""
-#: .././mainwin.py:7951
+#: .././mainwin.py:8135
msgid "Copy s_ystem command"
msgstr ""
-#: .././mainwin.py:7967
+#: .././mainwin.py:8151
msgid "Move _up"
msgstr ""
-#: .././mainwin.py:7979
+#: .././mainwin.py:8163
msgid "Move _down"
msgstr ""
-#: .././mainwin.py:7994
+#: .././mainwin.py:8178
msgid "Re_move from list"
msgstr ""
-#: .././mainwin.py:8033
+#: .././mainwin.py:8217
msgid "Mark as _archived"
msgstr "Markeren als ge_archiveerd"
-#: .././mainwin.py:8044
+#: .././mainwin.py:8228
msgid "Mark as not a_rchived"
msgstr "Markeren als niet-gea_rchiveerd"
-#: .././mainwin.py:8058
+#: .././mainwin.py:8242
msgid "Mark as _bookmarked"
msgstr "Toevoegen aan _bladwijzers"
-#: .././mainwin.py:8070
+#: .././mainwin.py:8254
msgid "Mark as not b_ookmarked"
msgstr "Verwijderen uit b_ladwijzers"
-#: .././mainwin.py:8083
+#: .././mainwin.py:8267
msgid "Mark as _favourite"
msgstr "Toevoegen aan _favorieten"
-#: .././mainwin.py:8096
+#: .././mainwin.py:8280
msgid "Mark as not fa_vourite"
msgstr "Verwijderen uit fa_vorieten"
-#: .././mainwin.py:8110
+#: .././mainwin.py:8294
msgid "Mark as _missing"
msgstr "_Markeren als ontbrekend"
-#: .././mainwin.py:8123
+#: .././mainwin.py:8307
msgid "Mark as not m_issing"
msgstr "Markeren als n_iet-ontbrekend"
-#: .././mainwin.py:8140
+#: .././mainwin.py:8324
msgid "Mark as _new"
msgstr "Markeren als _nieuw"
-#: .././mainwin.py:8152
+#: .././mainwin.py:8336
msgid "Mark as not n_ew"
msgstr "Markeren als niet-ni_euw"
-#: .././mainwin.py:8166
+#: .././mainwin.py:8350
msgid "Mark as in _waiting list"
msgstr "Toevoegen aan _wachtlijst"
-#: .././mainwin.py:8178
-msgid "Mark as not in wai_ting list"
-msgstr "Verwijderen uit wachtl_ijst"
+#: .././mainwin.py:8362
+msgid "Mark as not in waiting _list"
+msgstr ""
-#: .././mainwin.py:8230
+#: .././mainwin.py:8414
msgid "D_ownload and watch"
msgstr "D_ownloaden en bekijken"
-#: .././mainwin.py:8339
+#: .././mainwin.py:8446
+msgid "Watch on _website"
+msgstr "Bekijken op _website"
+
+#: .././mainwin.py:8564
msgid "Mark as _not livestreams"
msgstr "Markeren als gee_n livestream"
-#: .././mainwin.py:8405
-msgid "_Download and watch"
-msgstr "_Downloaden en bekijken"
+#: .././mainwin.py:8575
+msgid "_Finalise livestreams"
+msgstr ""
-#: .././mainwin.py:9244
+#: .././mainwin.py:9452
msgid ""
"TRANSLATOR'S NOTE: V = number of videos B = (number of videos) bookmarked D "
"= downloaded F = favourite L = live/livestream M = missing N = new W = in "
@@ -2490,39 +2532,39 @@ msgstr ""
"= downloaded F = favourite L = live/livestream M = missing N = new W = in "
"waiting list E = (number of) errors W = warnings"
-#: .././mainwin.py:9251
+#: .././mainwin.py:9459
msgid "V:"
msgstr "V:"
-#: .././mainwin.py:9252
+#: .././mainwin.py:9460
msgid "B:"
msgstr "B:"
-#: .././mainwin.py:9253
+#: .././mainwin.py:9461
msgid "D:"
msgstr "D:"
-#: .././mainwin.py:9254
+#: .././mainwin.py:9462
msgid "F:"
msgstr "F:"
-#: .././mainwin.py:9255
+#: .././mainwin.py:9463
msgid "L:"
msgstr "L:"
-#: .././mainwin.py:9256
+#: .././mainwin.py:9464
msgid "M:"
msgstr "O:"
-#: .././mainwin.py:9257
+#: .././mainwin.py:9465
msgid "N:"
msgstr "N:"
-#: .././mainwin.py:9258 .././mainwin.py:9269
+#: .././mainwin.py:9466 .././mainwin.py:9477
msgid "W:"
msgstr "W:"
-#: .././mainwin.py:9268
+#: .././mainwin.py:9476
msgid "E:"
msgstr "F:"
@@ -2530,13 +2572,13 @@ msgstr "F:"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:11298 .././mainwin.py:12103 .././mainwin.py:22358
-#: .././mainwin.py:22362 .././mainwin.py:22897 .././mainwin.py:24417
-#: .././mainwin.py:24421 .././mainwin.py:24642
+#: .././mainwin.py:11536 .././mainwin.py:12341 .././mainwin.py:22754
+#: .././mainwin.py:22758 .././mainwin.py:23293 .././mainwin.py:24816
+#: .././mainwin.py:24820 .././mainwin.py:25041
msgid "Waiting"
msgstr "Bezig met wachten"
-#: .././mainwin.py:12979
+#: .././mainwin.py:13220
msgid ""
"TRANSLATOR'S NOTE: Thread means a computer processor thread. If you're not "
"sure how to translate it, just use 'Page #', as in Page #1, Page #2, etc"
@@ -2544,48 +2586,48 @@ msgstr ""
"TRANSLATOR'S NOTE: Thread means a computer processor thread. If you're not "
"sure how to translate it, just use 'Page #', as in Page #1, Page #2, etc"
-#: .././mainwin.py:12986
+#: .././mainwin.py:13227
msgid "Thread"
msgstr "Proces"
-#: .././mainwin.py:12989
+#: .././mainwin.py:13230
msgid "_Summary"
msgstr "_Samenvatting"
-#: .././mainwin.py:13428 .././config.py:14894 .././config.py:21502
+#: .././mainwin.py:13669 .././config.py:14933 .././config.py:21820
msgid "Time"
msgstr "Tijd"
-#: .././mainwin.py:13428
+#: .././mainwin.py:13669
msgid "Container"
msgstr ""
-#: .././mainwin.py:13428 .././config.py:12121 .././downloads.py:6900
+#: .././mainwin.py:13669 .././config.py:12160 .././downloads.py:7030
#: .././media.py:88
msgid "Video"
msgstr "Video"
-#: .././mainwin.py:13428 .././mainwin.py:13429
+#: .././mainwin.py:13669 .././mainwin.py:13670
msgid "Message"
msgstr "Bericht"
-#: .././mainwin.py:13676
+#: .././mainwin.py:13920
msgid "Tartube error"
msgstr "Tartube-fout"
-#: .././mainwin.py:13680
+#: .././mainwin.py:13924
msgid "Tartube warning"
msgstr "Tartube-waarschuwing"
-#: .././mainwin.py:13904
+#: .././mainwin.py:14148
msgid "_Errors"
msgstr "_Fouten"
-#: .././mainwin.py:13908
+#: .././mainwin.py:14152
msgid "Warnings"
msgstr "Waarschuwingen"
-#: .././mainwin.py:14025
+#: .././mainwin.py:14269
msgid ""
"There are not scheduled downloads that don't already contain the channel/"
"playlist/folder"
@@ -2593,141 +2635,141 @@ msgstr ""
"Er zijn niet-ingeplande downloads die niet al de map/afspeellijst/het kanaal "
"bevatten"
-#: .././mainwin.py:15432
+#: .././mainwin.py:15676
msgid "The external folder is not available"
msgstr ""
-#: .././mainwin.py:15434
+#: .././mainwin.py:15678
msgid "The external directory is not available"
msgstr ""
-#: .././mainwin.py:15534
+#: .././mainwin.py:15778
msgid "The URL is not valid"
msgstr "De url is ongeldig"
-#: .././mainwin.py:16731 .././config.py:12521 .././config.py:15495
+#: .././mainwin.py:17047 .././config.py:12560 .././config.py:15534
msgid "Invalid timestamp(s)"
msgstr ""
-#: .././mainwin.py:16904 .././mainwin.py:16913 .././config.py:12372
-#: .././config.py:12380 .././config.py:15391 .././config.py:15399
+#: .././mainwin.py:17220 .././mainwin.py:17229 .././config.py:12411
+#: .././config.py:12419 .././config.py:15430 .././config.py:15438
msgid "Invalid start/stop times"
msgstr ""
-#: .././mainwin.py:19824
+#: .././mainwin.py:20203
msgid "The following items are duplicates:"
msgstr "De volgende items zijn dubbel:"
-#: .././mainwin.py:19974
+#: .././mainwin.py:20353
#, python-brace-format
msgid "The channel contains {0} items, so this action may take a while"
msgstr "Het kanaal bevat {0} items, dus het kan even duren"
-#: .././mainwin.py:19981
+#: .././mainwin.py:20360
#, python-brace-format
msgid "The playlist contains {0} items, so this action may take a while"
msgstr "De afspeellijst bevat {0} items, dus het kan even duren"
-#: .././mainwin.py:19988
+#: .././mainwin.py:20367
#, python-brace-format
msgid "The folder contains {0} items, so this action may take a while"
msgstr "De map bevat {0} items, dus het kan even duren"
-#: .././mainwin.py:20690 .././mainwin.py:21728
+#: .././mainwin.py:21069 .././mainwin.py:22107
msgid "Originally from:"
msgstr "Oorspronkelijke locatie:"
-#: .././mainwin.py:20703 .././mainwin.py:21742
+#: .././mainwin.py:21082 .././mainwin.py:22121
msgid "From channel"
msgstr "Kanaal"
-#: .././mainwin.py:20705 .././mainwin.py:21744
+#: .././mainwin.py:21084 .././mainwin.py:22123
msgid "From playlist"
msgstr "Afspeellijst"
-#: .././mainwin.py:20707 .././mainwin.py:21746
+#: .././mainwin.py:21086 .././mainwin.py:22125
msgid "From folder"
msgstr "Map"
-#: .././mainwin.py:20735
+#: .././mainwin.py:21114
msgid "Livestream has not started yet"
msgstr "De livestream is nog niet begonnen"
-#: .././mainwin.py:20742
+#: .././mainwin.py:21121
msgid "Debut has started"
msgstr "De aanvang is begonnen"
-#: .././mainwin.py:20744
+#: .././mainwin.py:21123
msgid "Debut has not started yet"
msgstr "De aanvang is nog niet begonnen"
-#: .././mainwin.py:20751 .././mainwin.py:20757 .././mainwin.py:21793
-#: .././mainwin.py:21800
+#: .././mainwin.py:21130 .././mainwin.py:21136 .././mainwin.py:22172
+#: .././mainwin.py:22179
msgid "Duration:"
msgstr "Duur:"
-#: .././mainwin.py:20757 .././mainwin.py:20763 .././mainwin.py:20774
-#: .././mainwin.py:21800 .././mainwin.py:21807 .././mainwin.py:21823
-#: .././mainwin.py:24124 .././mainwin.py:24130 .././mainwin.py:24141
-#: .././media.py:555 .././media.py:565 .././media.py:2128 .././media.py:2134
-#: .././media.py:2144
+#: .././mainwin.py:21136 .././mainwin.py:21142 .././mainwin.py:21153
+#: .././mainwin.py:22179 .././mainwin.py:22186 .././mainwin.py:22202
+#: .././mainwin.py:24523 .././mainwin.py:24529 .././mainwin.py:24540
+#: .././media.py:555 .././media.py:565 .././media.py:2120 .././media.py:2126
+#: .././media.py:2136
msgid "unknown"
msgstr "onbekend"
-#: .././mainwin.py:20761 .././mainwin.py:20763 .././mainwin.py:21804
-#: .././mainwin.py:21806
+#: .././mainwin.py:21140 .././mainwin.py:21142 .././mainwin.py:22183
+#: .././mainwin.py:22185
msgid "Size:"
msgstr "Grootte:"
-#: .././mainwin.py:20772 .././mainwin.py:20774 .././mainwin.py:21818
+#: .././mainwin.py:21151 .././mainwin.py:21153 .././mainwin.py:22197
msgid "Date:"
msgstr "Datum:"
-#: .././mainwin.py:21113
+#: .././mainwin.py:21492
msgid "Watch:"
msgstr "Bekijken:"
-#: .././mainwin.py:21182
+#: .././mainwin.py:21561
msgid "Temporary:"
msgstr "Tijdelijk:"
-#: .././mainwin.py:21225
+#: .././mainwin.py:21604
msgid "Marked:"
msgstr "Gemarkeerd:"
-#: .././mainwin.py:21700 .././mainwin.py:21763
+#: .././mainwin.py:22079 .././mainwin.py:22142
msgid "Show the full description"
msgstr "Volledige omschrijving tonen"
-#: .././mainwin.py:21701 .././mainwin.py:21764
+#: .././mainwin.py:22080 .././mainwin.py:22143
msgid "More"
msgstr "Meer"
-#: .././mainwin.py:21713 .././mainwin.py:21772
+#: .././mainwin.py:22092 .././mainwin.py:22151
msgid "Show the short description"
msgstr "Beknopte omschrijving tonen"
-#: .././mainwin.py:21714 .././mainwin.py:21773
+#: .././mainwin.py:22093 .././mainwin.py:22152
msgid "Less"
msgstr "Minder"
-#: .././mainwin.py:21813
+#: .././mainwin.py:22192
msgid "Received:"
msgstr "Ontvangen:"
-#: .././mainwin.py:21842
+#: .././mainwin.py:22221
msgid "Live now:"
msgstr "Nu live:"
-#: .././mainwin.py:21844 .././mainwin.py:24274
+#: .././mainwin.py:22223 .././mainwin.py:24673
msgid "Live soon:"
msgstr "Binnenkort live:"
-#: .././mainwin.py:21853
+#: .././mainwin.py:22232
msgid "Debut now:"
msgstr "Aanvang:"
-#: .././mainwin.py:21855 .././mainwin.py:24276
+#: .././mainwin.py:22234 .././mainwin.py:24675
msgid "Debut soon:"
msgstr "Aanvang binnenkort:"
@@ -2735,14 +2777,14 @@ msgstr "Aanvang binnenkort:"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21862 .././mainwin.py:21864 .././mainwin.py:21868
-#: .././mainwin.py:22144 .././mainwin.py:22146 .././mainwin.py:22150
-#: .././mainwin.py:22622 .././mainwin.py:24155 .././mainwin.py:24157
-#: .././mainwin.py:24161
+#: .././mainwin.py:22241 .././mainwin.py:22243 .././mainwin.py:22247
+#: .././mainwin.py:22540 .././mainwin.py:22542 .././mainwin.py:22546
+#: .././mainwin.py:23018 .././mainwin.py:24554 .././mainwin.py:24556
+#: .././mainwin.py:24560
msgid "Notify"
msgstr "Melden"
-#: .././mainwin.py:21872 .././mainwin.py:22154 .././mainwin.py:24165
+#: .././mainwin.py:22251 .././mainwin.py:22550 .././mainwin.py:24564
msgid "When the livestream starts, notify the user"
msgstr "Toon een melding als de livestream begint"
@@ -2750,13 +2792,13 @@ msgstr "Toon een melding als de livestream begint"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21883 .././mainwin.py:21885 .././mainwin.py:22160
-#: .././mainwin.py:22162 .././mainwin.py:22165 .././mainwin.py:22513
-#: .././mainwin.py:24176 .././mainwin.py:24178
+#: .././mainwin.py:22262 .././mainwin.py:22264 .././mainwin.py:22556
+#: .././mainwin.py:22558 .././mainwin.py:22561 .././mainwin.py:22909
+#: .././mainwin.py:24575 .././mainwin.py:24577
msgid "Alarm"
msgstr "Alarm"
-#: .././mainwin.py:21889 .././mainwin.py:22169 .././mainwin.py:24182
+#: .././mainwin.py:22268 .././mainwin.py:22565 .././mainwin.py:24581
msgid "When the livestream starts, sound an alarm"
msgstr "Speel een geluid af als de livestream begint"
@@ -2764,13 +2806,13 @@ msgstr "Speel een geluid af als de livestream begint"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21894 .././mainwin.py:21896 .././mainwin.py:22175
-#: .././mainwin.py:22177 .././mainwin.py:22180 .././mainwin.py:22659
-#: .././mainwin.py:24187 .././mainwin.py:24189
+#: .././mainwin.py:22273 .././mainwin.py:22275 .././mainwin.py:22571
+#: .././mainwin.py:22573 .././mainwin.py:22576 .././mainwin.py:23055
+#: .././mainwin.py:24586 .././mainwin.py:24588
msgid "Open"
msgstr "Openen"
-#: .././mainwin.py:21900 .././mainwin.py:22184 .././mainwin.py:24193
+#: .././mainwin.py:22279 .././mainwin.py:22580 .././mainwin.py:24592
msgid "When the livestream starts, open it"
msgstr "Open de livestream zodra deze begint"
@@ -2780,14 +2822,14 @@ msgstr "Open de livestream zodra deze begint"
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
#. (Livestream already broadcasting)
-#: .././mainwin.py:21908 .././mainwin.py:21913 .././mainwin.py:21915
-#: .././mainwin.py:22190 .././mainwin.py:22192 .././mainwin.py:22195
-#: .././mainwin.py:22549 .././mainwin.py:24201 .././mainwin.py:24206
-#: .././mainwin.py:24208
+#: .././mainwin.py:22287 .././mainwin.py:22292 .././mainwin.py:22294
+#: .././mainwin.py:22586 .././mainwin.py:22588 .././mainwin.py:22591
+#: .././mainwin.py:22945 .././mainwin.py:24600 .././mainwin.py:24605
+#: .././mainwin.py:24607
msgid "D/L on start"
msgstr "D/L bij begin"
-#: .././mainwin.py:21919 .././mainwin.py:22199 .././mainwin.py:24212
+#: .././mainwin.py:22298 .././mainwin.py:22595 .././mainwin.py:24611
msgid "When the livestream starts, download it"
msgstr "Download de livestream zodra deze begint"
@@ -2795,18 +2837,18 @@ msgstr "Download de livestream zodra deze begint"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21925 .././mainwin.py:21930 .././mainwin.py:21932
-#: .././mainwin.py:22205 .././mainwin.py:22207 .././mainwin.py:22210
-#: .././mainwin.py:22586 .././mainwin.py:24218 .././mainwin.py:24223
-#: .././mainwin.py:24225
+#: .././mainwin.py:22304 .././mainwin.py:22309 .././mainwin.py:22311
+#: .././mainwin.py:22601 .././mainwin.py:22603 .././mainwin.py:22606
+#: .././mainwin.py:22982 .././mainwin.py:24617 .././mainwin.py:24622
+#: .././mainwin.py:24624
msgid "D/L on stop"
msgstr "D/L na afloop"
-#: .././mainwin.py:21936 .././mainwin.py:22214 .././mainwin.py:24229
+#: .././mainwin.py:22315 .././mainwin.py:22610 .././mainwin.py:24628
msgid "When the livestream stops, download it"
msgstr "Download de livestream zodra deze is afgelopen"
-#: .././mainwin.py:21952 .././mainwin.py:24245
+#: .././mainwin.py:22331 .././mainwin.py:24644
msgid "Watch in your media player"
msgstr "Bekijken in andere mediaspeler"
@@ -2814,15 +2856,15 @@ msgstr "Bekijken in andere mediaspeler"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21953 .././mainwin.py:23269 .././mainwin.py:24246
+#: .././mainwin.py:22332 .././mainwin.py:23665 .././mainwin.py:24645
msgid "Player"
msgstr "Speler"
-#: .././mainwin.py:21985 .././mainwin.py:24291
+#: .././mainwin.py:22364 .././mainwin.py:24690
msgid "Download this video"
msgstr "Video downloaden"
-#: .././mainwin.py:22000 .././mainwin.py:24306
+#: .././mainwin.py:22379 .././mainwin.py:24705
msgid ""
"TRANSLATOR'S NOTE: If you want to use &, use & - if you want to use a "
"different word (e.g. French et), then just use that word"
@@ -2830,27 +2872,40 @@ msgstr ""
"TRANSLATOR'S NOTE: If you want to use &, use & - if you want to use a "
"different word (e.g. French et), then just use that word"
-#: .././mainwin.py:22008 .././mainwin.py:24314
+#: .././mainwin.py:22387 .././mainwin.py:24713
msgid "Download and watch in your media player"
msgstr "Download en bekijk in een andere mediaspeler"
-#: .././mainwin.py:22009
+#: .././mainwin.py:22388
msgid "Download & watch"
msgstr "Downloaden en bekijken"
-#: .././mainwin.py:22016
+#: .././mainwin.py:22395
msgid "Not downloaded"
msgstr "Niet gedownload"
-#: .././mainwin.py:22039
+#: .././mainwin.py:22419
+msgid "Watch on website"
+msgstr "Bekijken op website"
+
+#: .././mainwin.py:22420 .././mainwin.py:23708
+msgid "Website"
+msgstr "Website"
+
+#: .././mainwin.py:22435
+#, python-brace-format
+msgid "Watch on {0}"
+msgstr ""
+
+#: .././mainwin.py:22449
msgid "Watch on YouTube"
msgstr "Bekijken op YouTube"
-#: .././mainwin.py:22040 .././mainwin.py:23311
+#: .././mainwin.py:22450
msgid "YouTube"
msgstr "YouTube"
-#: .././mainwin.py:22052
+#: .././mainwin.py:22462
msgid "Watch on HookTube"
msgstr "Bekijken op HookTube"
@@ -2858,11 +2913,11 @@ msgstr "Bekijken op HookTube"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22053 .././mainwin.py:23085
+#: .././mainwin.py:22463 .././mainwin.py:23481
msgid "HookTube"
msgstr "HookTube"
-#: .././mainwin.py:22065
+#: .././mainwin.py:22475
msgid "Watch on Invidious"
msgstr "Bekijken op Invidious"
@@ -2870,7 +2925,7 @@ msgstr "Bekijken op Invidious"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22066 .././mainwin.py:23126
+#: .././mainwin.py:22476 .././mainwin.py:23522
msgid "Invidious"
msgstr "Invidious"
@@ -2878,25 +2933,17 @@ msgstr "Invidious"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22085 .././mainwin.py:23168 .././config.py:17113
-#: .././config.py:20316
+#: .././mainwin.py:22495 .././mainwin.py:23564 .././config.py:17305
+#: .././config.py:20626
msgid "Other"
msgstr "Overig"
-#: .././mainwin.py:22105
-msgid "Watch on website"
-msgstr "Bekijken op website"
-
-#: .././mainwin.py:22106 .././mainwin.py:23313
-msgid "Website"
-msgstr "Website"
-
#. Links not clickable
-#: .././mainwin.py:22117
+#: .././mainwin.py:22513
msgid "No link"
msgstr "Geen link"
-#: .././mainwin.py:22248
+#: .././mainwin.py:22644
msgid "Download to a temporary folder later"
msgstr "Later downloaden naar een tijdelijke map"
@@ -2904,19 +2951,19 @@ msgstr "Later downloaden naar een tijdelijke map"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22249 .././mainwin.py:22266 .././mainwin.py:23044
+#: .././mainwin.py:22645 .././mainwin.py:22662 .././mainwin.py:23440
msgid "Mark for download"
msgstr "Markeren als download"
-#: .././mainwin.py:22254
+#: .././mainwin.py:22650
msgid "Download to a temporary folder"
msgstr "Downloaden naar een tijdelijke map"
-#: .././mainwin.py:22260
+#: .././mainwin.py:22656
msgid "Download to a temporary folder, then watch"
msgstr "Downloaden naar een tijdelijke map, daarna bekijken"
-#: .././mainwin.py:22261 .././mainwin.py:24315
+#: .././mainwin.py:22657 .././mainwin.py:24714
msgid "D/L & watch"
msgstr "D/L en bekijken"
@@ -2924,12 +2971,12 @@ msgstr "D/L en bekijken"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22268 .././mainwin.py:23003
+#: .././mainwin.py:22664 .././mainwin.py:23399
msgid "D/L and watch"
msgstr "D/L en bekijken"
#. Archived/not archived
-#: .././mainwin.py:22289 .././mainwin.py:24350
+#: .././mainwin.py:22685 .././mainwin.py:24749
msgid "Prevent automatic deletion of the video"
msgstr "Automatische verwijdering van video voorkomen"
@@ -2937,13 +2984,13 @@ msgstr "Automatische verwijdering van video voorkomen"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22293 .././mainwin.py:22297 .././mainwin.py:22694
-#: .././mainwin.py:24354 .././mainwin.py:24358 .././mainwin.py:24558
+#: .././mainwin.py:22689 .././mainwin.py:22693 .././mainwin.py:23090
+#: .././mainwin.py:24753 .././mainwin.py:24757 .././mainwin.py:24957
msgid "Archived"
msgstr "Gearchiveerd"
#. Bookmarked/not bookmarked
-#: .././mainwin.py:22302 .././mainwin.py:24363
+#: .././mainwin.py:22698 .././mainwin.py:24762
msgid "Show video in Bookmarks folder"
msgstr "Tonen in bladwijzermap"
@@ -2953,13 +3000,13 @@ msgstr "Tonen in bladwijzermap"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22307 .././mainwin.py:22312 .././mainwin.py:24367
-#: .././mainwin.py:24371 .././mainwin.py:24600
+#: .././mainwin.py:22703 .././mainwin.py:22708 .././mainwin.py:24766
+#: .././mainwin.py:24770 .././mainwin.py:24999
msgid "B/mark"
msgstr "Bladwijzer"
#. Favourite/not favourite
-#: .././mainwin.py:22317 .././mainwin.py:24376
+#: .././mainwin.py:22713 .././mainwin.py:24775
msgid "Show in Favourite Videos folder"
msgstr "Tonen in favorietenmap"
@@ -2967,13 +3014,13 @@ msgstr "Tonen in favorietenmap"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22321 .././mainwin.py:22325 .././mainwin.py:22778
-#: .././mainwin.py:24380 .././mainwin.py:24384 .././config.py:14895
+#: .././mainwin.py:22717 .././mainwin.py:22721 .././mainwin.py:23174
+#: .././mainwin.py:24779 .././mainwin.py:24783 .././config.py:14934
msgid "Favourite"
msgstr "Favoriet"
#. Missing/not missing
-#: .././mainwin.py:22329 .././mainwin.py:24388
+#: .././mainwin.py:22725 .././mainwin.py:24787
msgid "Mark video as removed by creator"
msgstr "Markeren als verwijderd door maker"
@@ -2981,13 +3028,13 @@ msgstr "Markeren als verwijderd door maker"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22333 .././mainwin.py:22337 .././mainwin.py:22820
-#: .././mainwin.py:24392 .././mainwin.py:24396
+#: .././mainwin.py:22729 .././mainwin.py:22733 .././mainwin.py:23216
+#: .././mainwin.py:24791 .././mainwin.py:24795
msgid "Missing"
msgstr "Ontbreekt"
#. New/not new
-#: .././mainwin.py:22342 .././mainwin.py:24401
+#: .././mainwin.py:22738 .././mainwin.py:24800
msgid "Mark video as never watched"
msgstr "Markeren als nooit bekeken"
@@ -2995,13 +3042,13 @@ msgstr "Markeren als nooit bekeken"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22346 .././mainwin.py:22350 .././mainwin.py:22855
-#: .././mainwin.py:24405 .././mainwin.py:24409
+#: .././mainwin.py:22742 .././mainwin.py:22746 .././mainwin.py:23251
+#: .././mainwin.py:24804 .././mainwin.py:24808
msgid "New"
msgstr "Nieuw"
#. In waiting list/not in waiting list
-#: .././mainwin.py:22355 .././mainwin.py:24414
+#: .././mainwin.py:22751 .././mainwin.py:24813
msgid "Show in Waiting Videos folder"
msgstr "Tonen in wachtrijmap"
@@ -3009,23 +3056,23 @@ msgstr "Tonen in wachtrijmap"
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22736
+#: .././mainwin.py:23132
msgid "Bookmarked"
msgstr "In bladwijzers"
-#: .././mainwin.py:24098
+#: .././mainwin.py:24497
msgid "Click to open"
msgstr ""
-#: .././mainwin.py:24286
+#: .././mainwin.py:24685
msgid "TRANSLATOR'S NOTE: D/L means download"
msgstr "TRANSLATOR'S NOTE: D/L means download"
-#: .././mainwin.py:24322
+#: .././mainwin.py:24721
msgid "Can't D/L"
msgstr "Downloaden mislukt"
-#: .././mainwin.py:24343
+#: .././mainwin.py:24742
msgid ""
"TRANSLATOR'S NOTE: This section contains shortened labels: Archive = "
"Archived, B/Mark = Bookmarked, Waiting: In waiting list"
@@ -3033,392 +3080,392 @@ msgstr ""
"TRANSLATOR'S NOTE: This section contains shortened labels: Archive = "
"Archived, B/Mark = Bookmarked, Waiting: In waiting list"
-#: .././mainwin.py:25502
+#: .././mainwin.py:25901
msgid "Invalid URL"
msgstr ""
-#: .././mainwin.py:25513
+#: .././mainwin.py:25912
msgid "Duplicate URL"
msgstr ""
-#: .././mainwin.py:25519
+#: .././mainwin.py:25918
msgid "Failed to add URL"
msgstr ""
-#: .././mainwin.py:25988
+#: .././mainwin.py:26387
msgid "Add many channels/playlists"
msgstr ""
-#: .././mainwin.py:26017 .././mainwin.py:26682 .././mainwin.py:27518
-#: .././mainwin.py:28007
+#: .././mainwin.py:26416 .././mainwin.py:27081 .././mainwin.py:27919
+#: .././mainwin.py:28408
msgid "Enable automatic copy/paste"
msgstr "Automatisch kopiëren/plakken inschakelen"
#. Buttons to add URLs as channels/playlists
-#: .././mainwin.py:26070
+#: .././mainwin.py:26469
msgid "Add channels"
msgstr ""
-#: .././mainwin.py:26074
+#: .././mainwin.py:26473
msgid "Add playlists"
msgstr ""
-#: .././mainwin.py:26087
+#: .././mainwin.py:26486
msgid "Double-click the names/URLs to customise them"
msgstr ""
-#: .././mainwin.py:26095
+#: .././mainwin.py:26494
msgid ""
"HINT: You can also click Media > Reset channel/playlist names..."
"b>"
msgstr ""
-#: .././mainwin.py:26123 .././mainwin.py:29614 .././mainwin.py:31512
-#: .././config.py:3341 .././config.py:5387 .././config.py:5518
+#: .././mainwin.py:26522 .././mainwin.py:30015 .././mainwin.py:31913
+#: .././config.py:3341 .././config.py:5389 .././config.py:5520
msgid "Type"
msgstr "Type"
-#: .././mainwin.py:26123 .././config.py:20023
+#: .././mainwin.py:26522 .././config.py:20333
msgid "URL"
msgstr ""
#. Add more buttons
-#: .././mainwin.py:26154
+#: .././mainwin.py:26553
msgid "Toggle channel/playlist"
msgstr ""
-#: .././mainwin.py:26158
+#: .././mainwin.py:26557
msgid "Delete selected lines"
msgstr ""
-#: .././mainwin.py:26197
+#: .././mainwin.py:26596
msgid "Add to this folder:"
msgstr ""
-#: .././mainwin.py:26530
+#: .././mainwin.py:26929
msgid "Add channel"
msgstr "Kanaal toevoegen"
-#: .././mainwin.py:26549
+#: .././mainwin.py:26948
msgid "Enter the channel name"
msgstr "Voer de kanaalnaam in"
-#: .././mainwin.py:26554
+#: .././mainwin.py:26953
msgid "(Use the channel's real name or a customised name)"
msgstr "(gebruik de echte naam of een zelfgekozen)"
-#: .././mainwin.py:26562
+#: .././mainwin.py:26961
msgid "Copy and paste a link to the channel"
msgstr "Kopieer en plak een link naar het kanaal"
-#: .././mainwin.py:26586
+#: .././mainwin.py:26985
msgid ""
"Before adding the URL for a YouTube channel, first click the Videos tab in "
"your browser!"
msgstr ""
-#: .././mainwin.py:26635
+#: .././mainwin.py:27034
msgid "(Optional) Add this channel inside a folder"
msgstr "(optioneel) Kanaal toevoegen aan map"
-#: .././mainwin.py:26665
+#: .././mainwin.py:27064
msgid "Enable video downloads for this channel"
msgstr ""
-#: .././mainwin.py:26672 .././mainwin.py:27305 .././mainwin.py:27508
-#: .././mainwin.py:27998
+#: .././mainwin.py:27071 .././mainwin.py:27706 .././mainwin.py:27909
+#: .././mainwin.py:28399
msgid "Don't download the videos, just check them"
msgstr ""
-#: .././mainwin.py:26877
+#: .././mainwin.py:27278
msgid "Add dropzone"
msgstr ""
-#: .././mainwin.py:26899
+#: .././mainwin.py:27300
msgid "Create new download options called"
msgstr ""
-#: .././mainwin.py:26911 .././mainwin.py:28184
+#: .././mainwin.py:27312 .././mainwin.py:28585
msgid "Use these download options"
msgstr "Deze downloadopties gebruiken"
-#: .././mainwin.py:26948 .././mainwin.py:28221
+#: .././mainwin.py:27349 .././mainwin.py:28622
msgid "Clone these download options"
msgstr "Deze downloadopties klonen"
-#: .././mainwin.py:27206
+#: .././mainwin.py:27607
msgid "Add folder"
msgstr "Map toevoegen"
-#: .././mainwin.py:27225
+#: .././mainwin.py:27626
msgid "Enter the folder name"
msgstr "Geef de map een naam"
-#: .././mainwin.py:27268
+#: .././mainwin.py:27669
msgid "(Optional) Add this folder inside another folder"
msgstr "(optioneel) Map toevoegen aan andere map"
-#: .././mainwin.py:27299
+#: .././mainwin.py:27700
msgid "Enable video downloads for this folder"
msgstr ""
-#: .././mainwin.py:27392
+#: .././mainwin.py:27793
msgid "Add playlist"
msgstr "Afspeellijst toevoegen"
-#: .././mainwin.py:27411
+#: .././mainwin.py:27812
msgid "Enter the playlist name"
msgstr "Geef de afspeellijst een naam"
-#: .././mainwin.py:27416
+#: .././mainwin.py:27817
msgid "(Use the playlist's real name or a customised name)"
msgstr "(gebruik de echte naam of een zelfgekozen)"
-#: .././mainwin.py:27424
+#: .././mainwin.py:27825
msgid "Copy and paste a link to the playlist"
msgstr "Kopieer en plak een link naar de afspeellijst"
-#: .././mainwin.py:27471
+#: .././mainwin.py:27872
msgid "(Optional) Add this playlist inside a folder"
msgstr "(optioneel) Afspeellijst toevoegen aan map"
-#: .././mainwin.py:27501
+#: .././mainwin.py:27902
msgid "Enable video downloads for this playlist"
msgstr ""
-#: .././mainwin.py:27680
+#: .././mainwin.py:28081
msgid "Reset timestamps"
msgstr ""
-#: .././mainwin.py:27702
+#: .././mainwin.py:28103
msgid "Copy timestamps below, e.g."
msgstr ""
-#: .././mainwin.py:27703
+#: .././mainwin.py:28104
msgid "Introduction"
msgstr ""
-#: .././mainwin.py:27828
+#: .././mainwin.py:28229
msgid "Add videos"
msgstr "Video's toevoegen"
-#: .././mainwin.py:27847
+#: .././mainwin.py:28248
msgid "Copy and paste the links to one or more videos"
msgstr "Kopieer en plak links naar één of meerdere video's"
-#: .././mainwin.py:27853
+#: .././mainwin.py:28254
msgid "Links containing multiple videos will be converted to a channel"
msgstr "Links met meerdere video's worden omgezet naar een kanaal"
-#: .././mainwin.py:27860
+#: .././mainwin.py:28261
msgid "Links containing multiple videos will be converted to a playlist"
msgstr "Links met meerdere video's worden omgezet naar een afspeellijst"
-#: .././mainwin.py:27867
+#: .././mainwin.py:28268
msgid "Links containing multiple videos will be downloaded separately"
msgstr "Links met meerdere video's worden los van elkaar gedownload"
-#: .././mainwin.py:27874
+#: .././mainwin.py:28275
msgid "Links containing multiple videos will not be downloaded at all"
msgstr "Links met meerdere video's worden niet gedownload"
-#: .././mainwin.py:27962
+#: .././mainwin.py:28363
msgid "Add the videos to this folder"
msgstr "Voeg video's toe aan deze map"
-#: .././mainwin.py:27992
+#: .././mainwin.py:28393
msgid "I want to download these videos"
msgstr ""
-#: .././mainwin.py:28152 .././config.py:2156
+#: .././mainwin.py:28553 .././config.py:2156
msgid "Apply download options"
msgstr "Downloadopties toepassen"
-#: .././mainwin.py:28174
+#: .././mainwin.py:28575
msgid "Create new download options"
msgstr "Downloadopties instellen"
-#: .././mainwin.py:28436
+#: .././mainwin.py:28837
msgid "Select a date"
msgstr "Kies een datum"
-#: .././mainwin.py:28541
+#: .././mainwin.py:28942
msgid "Delete channel"
msgstr "Kanaal verwijderen"
-#: .././mainwin.py:28543
+#: .././mainwin.py:28944
msgid "Delete playlist"
msgstr "Afspeellijst verwijderen"
-#: .././mainwin.py:28545
+#: .././mainwin.py:28946
msgid "Delete folder"
msgstr "Map verwijderen"
-#: .././mainwin.py:28548
+#: .././mainwin.py:28949
msgid "Empty channel"
msgstr "Leeg kanaal"
-#: .././mainwin.py:28550
+#: .././mainwin.py:28951
msgid "Empty playlist"
msgstr "Lege afspeellijst"
-#: .././mainwin.py:28552
+#: .././mainwin.py:28953
msgid "Empty folder"
msgstr "Lege map"
-#: .././mainwin.py:28586
+#: .././mainwin.py:28987
msgid "This channel does not contain any videos"
msgstr "Dit kanaal bevat geen video's"
-#: .././mainwin.py:28588
+#: .././mainwin.py:28989
msgid "This playlist does not contain any videos"
msgstr "Deze afspeellijst bevat geen video's"
-#: .././mainwin.py:28590
+#: .././mainwin.py:28991
msgid "This folder doesn't contain anything"
msgstr "Deze map bevat geen video's"
-#: .././mainwin.py:28596
+#: .././mainwin.py:28997
msgid "(but there might be some files in Tartube's data folder)"
msgstr "(wellicht staan er bestanden in Tartube's gegevensmap)"
-#: .././mainwin.py:28609
+#: .././mainwin.py:29010
msgid "This channel contains:"
msgstr "Dit kanaal bevat:"
-#: .././mainwin.py:28611
+#: .././mainwin.py:29012
msgid "This playlist contains:"
msgstr "Deze afspeellijst bevat:"
-#: .././mainwin.py:28613 .././config.py:17086
+#: .././mainwin.py:29014 .././config.py:17278
msgid "This folder contains:"
msgstr "Deze map bevat:"
-#: .././mainwin.py:28620
+#: .././mainwin.py:29021
msgid "1 folder"
msgstr "1 map"
-#: .././mainwin.py:28622
+#: .././mainwin.py:29023
#, python-brace-format
msgid "{0} folders"
msgstr "{0} mappen"
-#: .././mainwin.py:28629
+#: .././mainwin.py:29030
msgid "1 channel"
msgstr "1 kanaal"
-#: .././mainwin.py:28631
+#: .././mainwin.py:29032
#, python-brace-format
msgid "{0} channels"
msgstr "{0} kanalen"
-#: .././mainwin.py:28638
+#: .././mainwin.py:29039
msgid "1 playlist"
msgstr "1 afspeellijst"
-#: .././mainwin.py:28640
+#: .././mainwin.py:29041
#, python-brace-format
msgid "{0} playlists"
msgstr "{0} afspeellijsten"
-#: .././mainwin.py:28647 .././mainwin.py:29687
+#: .././mainwin.py:29048 .././mainwin.py:30088
msgid "1 video"
msgstr "1 video"
-#: .././mainwin.py:28649 .././mainwin.py:29690
+#: .././mainwin.py:29050 .././mainwin.py:30091
#, python-brace-format
msgid "{0} videos"
msgstr "{0} video's"
-#: .././mainwin.py:28662
+#: .././mainwin.py:29063
msgid ""
"Do you want to remove the channel from your filesystem, or do you just want "
"to remove the channel from this list?"
msgstr ""
-#: .././mainwin.py:28666
+#: .././mainwin.py:29067
msgid "Just remove the channel from this list"
msgstr "Kanaal verwijderen van de lijst"
-#: .././mainwin.py:28670
+#: .././mainwin.py:29071
msgid ""
"Do you want to remove the playlist from your filesystem, or do you just "
"want to remove the playlist from this list?"
msgstr ""
-#: .././mainwin.py:28674
+#: .././mainwin.py:29075
msgid "Just remove the playlist from this list"
msgstr "Afspeellijst verwijderen van de lijst"
-#: .././mainwin.py:28678
+#: .././mainwin.py:29079
msgid ""
"Do you want to remove the folder from your filesystem, or do you just want "
"to remove the folder from this list?"
msgstr ""
-#: .././mainwin.py:28682
+#: .././mainwin.py:29083
msgid "Just remove the folder from this list"
msgstr "Map verwijderen van de lijst"
-#: .././mainwin.py:28688
+#: .././mainwin.py:29089
msgid ""
"Do you want to empty the channel on your filesystem, or do you just want to "
"empty the channel in this list?"
msgstr ""
-#: .././mainwin.py:28692
+#: .././mainwin.py:29093
msgid "Just empty the channel in this list"
msgstr "Kanaal verwijderen van de lijst"
-#: .././mainwin.py:28696
+#: .././mainwin.py:29097
msgid ""
"Do you want to empty the playlist on your filesystem, or do you just want to "
"empty the playlist in this list?"
msgstr ""
-#: .././mainwin.py:28700
+#: .././mainwin.py:29101
msgid "Just empty the playlist in this list"
msgstr "Afspeellijst verwijderen van de lijst"
-#: .././mainwin.py:28704
+#: .././mainwin.py:29105
msgid ""
"Do you want to empty the folder on your filesystem, or do you just want to "
"empty the folder in this list?"
msgstr ""
-#: .././mainwin.py:28708
+#: .././mainwin.py:29109
msgid "Just empty the folder in this list"
msgstr "Map verwijderen van de lijst"
-#: .././mainwin.py:28723
+#: .././mainwin.py:29124
msgid "Delete files on your computer"
msgstr ""
-#: .././mainwin.py:28775
+#: .././mainwin.py:29176
msgid "Delete dropzone"
msgstr ""
-#: .././mainwin.py:28793
+#: .././mainwin.py:29194
msgid "Just delete the dropzone"
msgstr ""
-#: .././mainwin.py:28798
+#: .././mainwin.py:29199
msgid "Also delete download options"
msgstr ""
-#: .././mainwin.py:28889
+#: .././mainwin.py:29290
msgid "Duplicate URLs"
msgstr ""
-#: .././mainwin.py:28912
+#: .././mainwin.py:29313
msgid "The following URLs are duplicates:"
msgstr ""
-#: .././mainwin.py:28987
+#: .././mainwin.py:29388
msgid "Export from database"
msgstr "Exporteren uit databank"
-#: .././mainwin.py:29013
+#: .././mainwin.py:29414
msgid ""
"Tartube is ready to export a partial summary of its database, containing a "
"list of videos, channels, playlists and/or folders (but not including the "
@@ -3428,7 +3475,7 @@ msgstr ""
"Deze bevat een lijst met video's, kanalen, afspeellijsten en/of mappen (maar "
"niet de video's zelf)."
-#: .././mainwin.py:29020
+#: .././mainwin.py:29421
msgid ""
"Tartube is ready to export a summary of its database, containing a list of "
"videos, channels, playlists and/or folders (but not including the videos "
@@ -3438,329 +3485,329 @@ msgstr ""
"lijst met video's, kanalen, afspeellijsten en/of mappen (maar niet de "
"video's zelf)."
-#: .././mainwin.py:29036
+#: .././mainwin.py:29437
msgid "Choose what should be included:"
msgstr "Geef aan wat er moet worden opgenomen:"
-#: .././mainwin.py:29044
+#: .././mainwin.py:29445
msgid "Include lists of videos"
msgstr "Videolijsten"
-#: .././mainwin.py:29049
+#: .././mainwin.py:29450
msgid "Include channels"
msgstr "Kanalen"
-#: .././mainwin.py:29054
+#: .././mainwin.py:29455
msgid "Include playlists"
msgstr "Afspeellijsten"
-#: .././mainwin.py:29059
+#: .././mainwin.py:29460
msgid "Preserve folder structure"
msgstr "Mappenstructuur behouden"
-#: .././mainwin.py:29067
+#: .././mainwin.py:29468
msgid "Export as JSON"
msgstr ""
-#: .././mainwin.py:29073
+#: .././mainwin.py:29474
msgid "Export as CSV using separator"
msgstr ""
-#: .././mainwin.py:29100
+#: .././mainwin.py:29501
msgid "Export as plain text"
msgstr "Exporteren naar plattetekstbestand"
-#: .././mainwin.py:29196
+#: .././mainwin.py:29597
msgid "Type extractor code"
msgstr ""
-#: .././mainwin.py:29233
+#: .././mainwin.py:29634
#, python-brace-format
msgid "Type an extractor code in the range {0}-{1}"
msgstr ""
-#: .././mainwin.py:29236
+#: .././mainwin.py:29637
msgid "(mp3, mp4 etc are also acceptable)"
msgstr ""
-#: .././mainwin.py:29242
+#: .././mainwin.py:29643
msgid "e.g. 136 for mp4 720p"
msgstr ""
-#: .././mainwin.py:29367
+#: .././mainwin.py:29768
msgid "Click the Output tab to see available formats"
msgstr ""
-#: .././mainwin.py:29369
+#: .././mainwin.py:29770
msgid "Click the Output tab to see available subtitles"
msgstr ""
-#: .././mainwin.py:29378
+#: .././mainwin.py:29779
msgid "Update general download options"
msgstr ""
-#: .././mainwin.py:29386
+#: .././mainwin.py:29787
msgid "Apply download options to this video only"
msgstr ""
-#: .././mainwin.py:29394
+#: .././mainwin.py:29795
msgid "Update this video's download options"
msgstr ""
-#: .././mainwin.py:29561
+#: .././mainwin.py:29962
msgid "Import into database"
msgstr "Importeren naar databank"
-#: .././mainwin.py:29585
+#: .././mainwin.py:29986
msgid "Choose which items to import"
msgstr "Geef aan welke items moeten worden geïmporteerd"
-#: .././mainwin.py:29606 .././config.py:22527 .././config.py:24485
-#: .././config.py:24763
+#: .././mainwin.py:30007 .././config.py:22901 .././config.py:24980
+#: .././config.py:25258
msgid "Import"
msgstr "Importeren"
-#: .././mainwin.py:29642
+#: .././mainwin.py:30043
msgid "Import videos"
msgstr "Video's importeren"
-#: .././mainwin.py:29647
+#: .././mainwin.py:30048
msgid "Merge channels/playlists/folders"
msgstr "Kanalen/Afspeellijsten/Mappen samenvoegen"
#. Strip of widgets at the bottom
#. Bottom strip
-#: .././mainwin.py:29650 .././mainwin.py:31578 .././mainwin.py:33031
+#: .././mainwin.py:30051 .././mainwin.py:31979 .././mainwin.py:33432
msgid "Select all"
msgstr "Alles selecteren"
-#: .././mainwin.py:29655 .././mainwin.py:31583
+#: .././mainwin.py:30056 .././mainwin.py:31984
msgid "Unselect all"
msgstr "Niets selecteren"
-#: .././mainwin.py:29904
+#: .././mainwin.py:30305
msgid "Mount drive"
msgstr "Schijf aankoppelen"
-#: .././mainwin.py:29929
+#: .././mainwin.py:30330
msgid "The Tartube data folder is set to:"
msgstr "De Tartube-gegevensmap is ingesteld op:"
-#: .././mainwin.py:29942
+#: .././mainwin.py:30343
msgid "...but this folder doesn't exist"
msgstr "...maar deze map bestaat niet"
-#: .././mainwin.py:29945
+#: .././mainwin.py:30346
msgid "...but Tartube cannot write to this folder"
msgstr "...maar Tartube kan niks wegschrijven naar deze map"
-#: .././mainwin.py:29955
+#: .././mainwin.py:30356
msgid "I have mounted the drive, please try again"
msgstr "Ik heb de schijf aangekoppeld; probeer het opnieuw"
-#: .././mainwin.py:29961
+#: .././mainwin.py:30362
msgid "Use this data folder:"
msgstr "Deze gegevensmap gebruiken:"
-#: .././mainwin.py:29988
+#: .././mainwin.py:30389
msgid "Select a different data folder"
msgstr "Kies een andere gegevensmap"
-#: .././mainwin.py:29994
+#: .././mainwin.py:30395
msgid "Use the default data folder"
msgstr "Standaard gegevensmap gebruiken"
-#: .././mainwin.py:30000
+#: .././mainwin.py:30401
msgid "Shut down Tartube"
msgstr "Tartube afsluiten"
#. 'Cancel' button
-#: .././mainwin.py:30007 .././config.py:1118
+#: .././mainwin.py:30408 .././config.py:1118
msgid "Cancel"
msgstr "Annuleren"
#. 'OK' button
-#: .././mainwin.py:30011 .././config.py:1109 .././config.py:2338
-#: .././config.py:13145 .././config.py:13511
+#: .././mainwin.py:30412 .././config.py:1109 .././config.py:2338
+#: .././config.py:13184 .././config.py:13550
msgid "OK"
msgstr "Oké"
-#: .././mainwin.py:30042
+#: .././mainwin.py:30443
msgid "The folder still doesn't exist. Please try a different option"
msgstr "De map bestaat nog steeds niet - kies een andere optie."
-#: .././mainwin.py:30183
+#: .././mainwin.py:30584
msgid "MSYS2 terminal"
msgstr ""
-#: .././mainwin.py:30204
+#: .././mainwin.py:30605
msgid "On MS Windows, Tartube runs in the MSYS2 environment."
msgstr ""
-#: .././mainwin.py:30212
+#: .././mainwin.py:30613
msgid ""
"Advanced users can use the MSYS2 terminal to make changes to the\n"
"environment (for example, to tweak youtube-dl or FFmpeg)"
msgstr ""
-#: .././mainwin.py:30223 .././mainwin.py:30427
+#: .././mainwin.py:30624 .././mainwin.py:30828
msgid "Always show this window"
msgstr ""
-#: .././mainwin.py:30302 .././config.py:437
+#: .././mainwin.py:30703 .././config.py:437
msgid "Downloads"
msgstr "Downloads"
-#: .././mainwin.py:30332
+#: .././mainwin.py:30733
msgid "Nothing happened?"
msgstr ""
-#: .././mainwin.py:30348
+#: .././mainwin.py:30749
msgid "Check the requested format is actually available"
msgstr ""
-#: .././mainwin.py:30353
+#: .././mainwin.py:30754
msgid "(Try converting instead of a direct download)"
msgstr ""
-#: .././mainwin.py:30366
+#: .././mainwin.py:30767
msgid "Check the downloader is installed and updated"
msgstr ""
-#: .././mainwin.py:30371 .././mainwin.py:32621
+#: .././mainwin.py:30772 .././mainwin.py:33022
msgid "Update"
msgstr "Bijwerken"
-#: .././mainwin.py:30377
+#: .././mainwin.py:30778
msgid "Tell Tartube where to find the downloader"
msgstr ""
-#: .././mainwin.py:30382
+#: .././mainwin.py:30783
msgid "Set the downloader's file path"
msgstr ""
-#: .././mainwin.py:30388
+#: .././mainwin.py:30789
msgid "Try a different downloader"
msgstr ""
-#: .././mainwin.py:30394
+#: .././mainwin.py:30795
msgid "Find more help"
msgstr ""
-#: .././mainwin.py:30399
+#: .././mainwin.py:30800
msgid "Read the FAQ"
msgstr ""
-#: .././mainwin.py:30405
+#: .././mainwin.py:30806
msgid "Ask for help"
msgstr ""
-#: .././mainwin.py:30417
+#: .././mainwin.py:30818
msgid ""
"Don't forget to check the Output tab and the\n"
"Errors/Warnings tab for error messages!"
msgstr ""
-#: .././mainwin.py:30585
+#: .././mainwin.py:30986
msgid "Download video clip"
msgstr ""
-#: .././mainwin.py:30587
+#: .././mainwin.py:30988
msgid "Create video clip"
msgstr ""
-#: .././mainwin.py:30614 .././config.py:11059 .././config.py:11699
-#: .././config.py:14362
+#: .././mainwin.py:31015 .././config.py:11098 .././config.py:11738
+#: .././config.py:14401
msgid "Start timestamp (e.g. 15:29)"
msgstr ""
-#: .././mainwin.py:30624 .././config.py:11079 .././config.py:11719
-#: .././config.py:14375
+#: .././mainwin.py:31025 .././config.py:11118 .././config.py:11758
+#: .././config.py:14414
msgid "Stop timestamp (optional)"
msgstr ""
-#: .././mainwin.py:30633 .././config.py:11094 .././config.py:11734
-#: .././config.py:14388
+#: .././mainwin.py:31034 .././config.py:11133 .././config.py:11773
+#: .././config.py:14427
msgid "Clip title (optional)"
msgstr ""
-#: .././mainwin.py:30641
+#: .././mainwin.py:31042
msgid "Download this clip"
msgstr ""
-#: .././mainwin.py:30643
+#: .././mainwin.py:31044
msgid "Create this clip"
msgstr ""
-#: .././mainwin.py:30652
+#: .././mainwin.py:31053
msgid "Download all clips"
msgstr ""
-#: .././mainwin.py:30654
+#: .././mainwin.py:31055
msgid "Create all clips"
msgstr ""
-#: .././mainwin.py:30821
+#: .././mainwin.py:31222
msgid "Download sliced video"
msgstr ""
-#: .././mainwin.py:30823
+#: .././mainwin.py:31224
msgid "Create sliced video"
msgstr ""
-#: .././mainwin.py:30850 .././config.py:11279 .././config.py:11941
-#: .././config.py:14567
+#: .././mainwin.py:31251 .././config.py:11318 .././config.py:11980
+#: .././config.py:14606
msgid "Start (timestamp or seconds)"
msgstr ""
-#: .././mainwin.py:30860 .././config.py:11292 .././config.py:11954
-#: .././config.py:14579
+#: .././mainwin.py:31261 .././config.py:11331 .././config.py:11993
+#: .././config.py:14618
msgid "Stop (optional)"
msgstr ""
-#: .././mainwin.py:30868
+#: .././mainwin.py:31269
msgid "Download and remove this slice"
msgstr ""
-#: .././mainwin.py:30870
+#: .././mainwin.py:31271
msgid "Create this sliced video"
msgstr ""
-#: .././mainwin.py:30885
+#: .././mainwin.py:31286
msgid "Download and remove everything but this slice"
msgstr ""
-#: .././mainwin.py:30893
+#: .././mainwin.py:31294
msgid "Download video with all slices removed"
msgstr ""
-#: .././mainwin.py:30895
+#: .././mainwin.py:31296
msgid "Create video with all slices removed"
msgstr ""
-#: .././mainwin.py:31052
+#: .././mainwin.py:31453
msgid "Set removal time"
msgstr ""
-#: .././mainwin.py:31075
+#: .././mainwin.py:31476
msgid ""
"When videos are checked/downloaded, older videos\n"
"are removed from the Recent Videos folder."
msgstr ""
-#: .././mainwin.py:31086 .././config.py:17291
+#: .././mainwin.py:31487 .././config.py:17483
msgid "Empty the whole folder"
msgstr ""
-#: .././mainwin.py:31093 .././config.py:17300
+#: .././mainwin.py:31494 .././config.py:17492
msgid "Remove videos after days"
msgstr ""
-#: .././mainwin.py:31181
+#: .././mainwin.py:31582
msgid "Stale lockfile"
msgstr "Verouderd vergrendelbestand"
-#: .././mainwin.py:31218
+#: .././mainwin.py:31619
msgid ""
"Failed to load the Tartube database file, because another copy of Tartube "
"seems to be using it"
@@ -3768,11 +3815,11 @@ msgstr ""
"Het Tartube-databankbestand kan niet worden geladen omdat het in gebruik is "
"door een ander Tartube-venster"
-#: .././mainwin.py:31225
+#: .././mainwin.py:31626
msgid "Do you want to load it anyway?"
msgstr "Wil je het bestand tóch laden?"
-#: .././mainwin.py:31231
+#: .././mainwin.py:31632
msgid ""
"(Only click 'Yes' if you are sure that other copies of Tartube are not using "
"the database right now)"
@@ -3780,192 +3827,192 @@ msgstr ""
"(klik alleen op 'Ja' als je zeker weet dat er geen andere Tartube-vensters "
"geopend zijn)"
-#: .././mainwin.py:31243
+#: .././mainwin.py:31644
msgid "Yes, load the file"
msgstr "Ja, bestand laden"
-#: .././mainwin.py:31250
+#: .././mainwin.py:31651
msgid "No, just shut down Tartube"
msgstr "Nee, Tartube afsluiten"
-#: .././mainwin.py:31252
+#: .././mainwin.py:31653
msgid "No, don't load the file"
msgstr "Nee, bestand niet laden"
-#: .././mainwin.py:31338
+#: .././mainwin.py:31739
msgid "Rename channel"
msgstr "Kanaalnaam wijzigen"
-#: .././mainwin.py:31340
+#: .././mainwin.py:31741
msgid "Rename playlist"
msgstr "Afspeellijstnaam wijzigen"
-#: .././mainwin.py:31342
+#: .././mainwin.py:31743
msgid "Rename folder"
msgstr "Mapnaam wijzigen"
-#: .././mainwin.py:31366
+#: .././mainwin.py:31767
msgid "Set the new name for the channel:"
msgstr "Geef het kanaal een nieuwe naam:"
-#: .././mainwin.py:31368
+#: .././mainwin.py:31769
msgid "Set the new name for the playlist:"
msgstr "Geef de afspeellijst een nieuwe naam:"
-#: .././mainwin.py:31370
+#: .././mainwin.py:31771
msgid "Set the new name for the folder:"
msgstr "Geef de map een nieuwe naam:"
-#: .././mainwin.py:31376
+#: .././mainwin.py:31777
msgid "N.B. This procedure will modify your filesystem!\n"
msgstr "Let op: deze app past je bestandssysteem aan!\n"
-#: .././mainwin.py:31446
+#: .././mainwin.py:31847
msgid "Reset channel/playlist names"
msgstr ""
-#: .././mainwin.py:31472
+#: .././mainwin.py:31873
msgid "This list is updated whenever channels/playlists are checked/downloaded"
msgstr ""
-#: .././mainwin.py:31480
+#: .././mainwin.py:31881
msgid "Select which names should be reset to the names on the original website"
msgstr ""
#. 'Reset' button
#. (Signal connect appears below)
-#: .././mainwin.py:31504 .././config.py:1091 .././config.py:5814
-#: .././config.py:5968 .././config.py:22753 .././config.py:23594
-#: .././config.py:23622 .././config.py:24236 .././config.py:24277
-#: .././config.py:24351
+#: .././mainwin.py:31905 .././config.py:1091 .././config.py:5839
+#: .././config.py:5993 .././config.py:23127 .././config.py:24087
+#: .././config.py:24115 .././config.py:24729 .././config.py:24770
+#: .././config.py:24837
msgid "Reset"
msgstr "Standaardwaarden"
-#: .././mainwin.py:31520
+#: .././mainwin.py:31921
msgid "Database name"
msgstr ""
-#: .././mainwin.py:31528
+#: .././mainwin.py:31929
msgid "Original name"
msgstr ""
-#: .././mainwin.py:31738
+#: .././mainwin.py:32139
msgid "Add to scheduled download"
msgstr "Toevoegen aan ingeplande downloads"
-#: .././mainwin.py:31761
+#: .././mainwin.py:32162
msgid "Add the channel to this scheduled download:"
msgstr "Kanaal toevoegen aan ingeplande downloads:"
-#: .././mainwin.py:31763
+#: .././mainwin.py:32164
msgid "Add the playlist to this scheduled download:"
msgstr "Afspeellijst toevoegen aan ingeplande downloads:"
-#: .././mainwin.py:31765
+#: .././mainwin.py:32166
msgid "Add the folder to this scheduled download:"
msgstr "Map toevoegen aan ingeplande downloads:"
-#: .././mainwin.py:31861
+#: .././mainwin.py:32262
msgid "Set download destination"
msgstr "Downloadbestemming instellen"
-#: .././mainwin.py:31906
+#: .././mainwin.py:32307
msgid "This channel normally downloads videos into its own folder"
msgstr ""
-#: .././mainwin.py:31911
+#: .././mainwin.py:32312
msgid "This playlist normally downloads videos into its own folder"
msgstr ""
-#: .././mainwin.py:31916
+#: .././mainwin.py:32317
msgid "This folder normally downloads videos into itself"
msgstr ""
-#: .././mainwin.py:31921
+#: .././mainwin.py:32322
msgid "This channel normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31926
+#: .././mainwin.py:32327
msgid "This playlist normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31931
+#: .././mainwin.py:32332
msgid "This folder normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31941
+#: .././mainwin.py:32342
msgid "Use this location"
msgstr ""
-#: .././mainwin.py:31949
+#: .././mainwin.py:32350
msgid "Choose a different location if:"
msgstr ""
-#: .././mainwin.py:31952
+#: .././mainwin.py:32353
msgid ""
"You want to add a channel and its playlists, without downloading the same "
"video twice"
msgstr ""
-#: .././mainwin.py:31958
+#: .././mainwin.py:32359
msgid ""
"A video creator has channels on both YouTube and BitChute, and you want to "
"add both without downloading the same video twice"
msgstr ""
-#: .././mainwin.py:32058
+#: .././mainwin.py:32459
msgid ""
"Using an external folder is not recommended, in general. Choose an external "
"folder if:"
msgstr ""
-#: .././mainwin.py:32063
+#: .././mainwin.py:32464
msgid ""
"Using an external directory is not recommended, in general. Choose an "
"external directory if:"
msgstr ""
-#: .././mainwin.py:32069
+#: .././mainwin.py:32470
msgid ""
"You want a different application to process the downloaded videos (other "
"applications should not modify Tartube's main data folder)"
msgstr ""
-#: .././mainwin.py:32075
+#: .././mainwin.py:32476
msgid ""
"You want a different application to process the downloaded videos (other "
"applications should not modify Tartube's main data directory)"
msgstr ""
#. (Signal connect appears below)
-#: .././mainwin.py:32092 .././config.py:5564 .././config.py:5810
-#: .././config.py:5964 .././config.py:8044 .././config.py:8065
-#: .././config.py:8086 .././config.py:22749 .././config.py:24120
-#: .././config.py:24232 .././config.py:24273 .././config.py:24347
+#: .././mainwin.py:32493 .././config.py:5566 .././config.py:5835
+#: .././config.py:5989 .././config.py:8069 .././config.py:8090
+#: .././config.py:8111 .././config.py:23123 .././config.py:24613
+#: .././config.py:24725 .././config.py:24766 .././config.py:24833
msgid "Set"
msgstr "Instellen"
-#: .././mainwin.py:32173
+#: .././mainwin.py:32574
msgid "Select an external folder"
msgstr ""
-#: .././mainwin.py:32175
+#: .././mainwin.py:32576
msgid "Select an external directory"
msgstr ""
-#: .././mainwin.py:32195
+#: .././mainwin.py:32596
msgid "An external folder must not be inside Tartube's own data folder"
msgstr ""
-#: .././mainwin.py:32201
+#: .././mainwin.py:32602
msgid "An external directory must not be inside Tartube's own data directory"
msgstr ""
-#: .././mainwin.py:32391
+#: .././mainwin.py:32792
msgid "Set nickname"
msgstr "Bijnaam instellen"
-#: .././mainwin.py:32416
+#: .././mainwin.py:32817
#, python-brace-format
msgid ""
"Set a nickname for the channel '{0}' (or leave it blank to reset the "
@@ -3974,7 +4021,7 @@ msgstr ""
"Stel een bijnaam in voor het kanaal '{0}' (of laat leeg om de standaardnaam "
"te gebruiken)"
-#: .././mainwin.py:32421
+#: .././mainwin.py:32822
#, python-brace-format
msgid ""
"Set a nickname for the playlist '{0}' (or leave it blank to reset the "
@@ -3983,7 +4030,7 @@ msgstr ""
"Stel een bijnaam in voor de afspeellijst '{0}' (of laat leeg om de "
"standaardnaam te gebruiken)"
-#: .././mainwin.py:32426
+#: .././mainwin.py:32827
#, python-brace-format
msgid ""
"Set a nickname for the folder '{0}' (or leave it blank to reset the nickname)"
@@ -3991,120 +4038,120 @@ msgstr ""
"Stel een bijnaam in voor de map '{0}' (of laat leeg om de standaardnaam te "
"gebruiken)"
-#: .././mainwin.py:32486
+#: .././mainwin.py:32887
msgid "Set URL"
msgstr "URL instellen"
-#: .././mainwin.py:32511
+#: .././mainwin.py:32912
#, python-brace-format
msgid "Update the URL for the channel '{0}'"
msgstr "Werk de url bij van het kanaal '{0}'"
-#: .././mainwin.py:32515
+#: .././mainwin.py:32916
#, python-brace-format
msgid "Update the URL for the playlist '{0}'"
msgstr "Werk de url bij van de afspeellijst '{0}'"
-#: .././mainwin.py:32576
+#: .././mainwin.py:32977
msgid "Show system command"
msgstr "Systeemopdracht tonen"
-#: .././mainwin.py:32630
+#: .././mainwin.py:33031
msgid "Copy to clipboard"
msgstr "Kopiëren naar klembord"
-#: .././mainwin.py:32792 .././config.py:23094
+#: .././mainwin.py:33193 .././config.py:23574
msgid "Test"
msgstr "Testen"
-#: .././mainwin.py:32812
+#: .././mainwin.py:33213
msgid "URL of the video to download (optional)"
msgstr "URL van de te downloaden video (optioneel)"
-#: .././mainwin.py:32823
+#: .././mainwin.py:33224
msgid "Command line options (optional)"
msgstr "Opdrachtregelopties (optioneel)"
-#: .././mainwin.py:32901
+#: .././mainwin.py:33302
msgid "Tidy up files"
msgstr "Bestanden opruimen"
-#: .././mainwin.py:32903
+#: .././mainwin.py:33304
msgid "Tidy up channel"
msgstr "Kanaal opruimen"
-#: .././mainwin.py:32905
+#: .././mainwin.py:33306
msgid "Tidy up playlist"
msgstr "Afspeellijst opruimen"
-#: .././mainwin.py:32907
+#: .././mainwin.py:33308
msgid "Tidy up folder"
msgstr "Map opruimen"
-#: .././mainwin.py:32936
+#: .././mainwin.py:33337
msgid "Check that videos are not corrupted"
msgstr "Controleren of video's niet beschadigd zijn"
-#: .././mainwin.py:32941
+#: .././mainwin.py:33342
msgid "Delete corrupted video files"
msgstr "Beschadigde video's verwijderen"
-#: .././mainwin.py:32951
+#: .././mainwin.py:33352
msgid "Check that videos do/don't exist"
msgstr "Controleren of video's wel of niet bestaan"
-#: .././mainwin.py:32958
+#: .././mainwin.py:33359
msgid ""
"Delete downloaded video files (doesn't remove videos from Tartube's database)"
msgstr ""
"Gedownloade videobestanden verwijderen (maar niet uit Tartube's databank)"
-#: .././mainwin.py:32970
+#: .././mainwin.py:33371
msgid "Also delete all video/audio files with the same name"
msgstr "Tevens audio-/videobestanden met dezelfde naam verwijderen"
-#: .././mainwin.py:32978
+#: .././mainwin.py:33379
msgid "Remove no-URL videos from database"
msgstr ""
-#: .././mainwin.py:32982
+#: .././mainwin.py:33383
msgid "Remove duplicate videos from database"
msgstr ""
-#: .././mainwin.py:32987
+#: .././mainwin.py:33388
msgid "Delete all archive files"
msgstr "Alle gearchiveerde bestanden verwijderen"
-#: .././mainwin.py:32991
+#: .././mainwin.py:33392
msgid "Move thumbnails into own folder"
msgstr "Miniaturen verplaatsen naar eigen map"
-#: .././mainwin.py:32996
+#: .././mainwin.py:33397
msgid "Delete all thumbnail files"
msgstr "Alle miniatuurbestanden verwijderen"
-#: .././mainwin.py:33002
+#: .././mainwin.py:33403
msgid "Convert .webp thumbnails to .jpg using FFmpeg"
msgstr ".webp-miniaturen converteren naar .jpg met FFmpeg"
-#: .././mainwin.py:33011
+#: .././mainwin.py:33412
msgid "Move other metadata files into own folder"
msgstr "Overige metagegevensbestanden verplaatsen naar eigen map"
-#: .././mainwin.py:33019
+#: .././mainwin.py:33420
msgid "Delete all description files"
msgstr "Alle omschrijvingsbestanden verwijderen"
-#: .././mainwin.py:33023
+#: .././mainwin.py:33424
msgid "Delete all metadata (JSON) files"
msgstr "Alle metagegevensbestanden (json) verwijderen"
-#: .././mainwin.py:33027
+#: .././mainwin.py:33428
msgid "Delete all annotation files"
msgstr "Alle aantekeningsbestanden verwijderen"
#. (Signal connect appears below)
-#: .././mainwin.py:33036
+#: .././mainwin.py:33437
msgid "Select none"
msgstr "Niets selecteren"
@@ -4112,7 +4159,7 @@ msgstr "Niets selecteren"
msgid "Uploads"
msgstr "Uploads"
-#: .././config.py:439 .././config.py:14050
+#: .././config.py:439 .././config.py:14089
msgid "File size"
msgstr "Bestandsgrootte"
@@ -4164,7 +4211,7 @@ msgstr "Weken"
msgid "Days"
msgstr "Dagen"
-#: .././config.py:540 .././config.py:17780
+#: .././config.py:540 .././config.py:17972
msgid "Hours"
msgstr "Uren"
@@ -4205,7 +4252,7 @@ msgstr "Toepassen"
msgid "Apply changes without closing the window"
msgstr "Pas toe zonder het venster te sluiten"
-#: .././config.py:1112 .././config.py:13148 .././config.py:13514
+#: .././config.py:1112 .././config.py:13187 .././config.py:13553
msgid "Apply changes"
msgstr "Wijzigingen toepassen"
@@ -4241,7 +4288,7 @@ msgstr "Afspeellijst-url"
msgid "Video URL"
msgstr "Video-url"
-#: .././config.py:2138 .././config.py:7148
+#: .././config.py:2138 .././config.py:7173
msgid "_Options"
msgstr "_Opties"
@@ -4265,7 +4312,7 @@ msgstr "Huidig venster sluiten"
msgid "Custom download settings"
msgstr ""
-#: .././config.py:3005 .././config.py:4570 .././config.py:10247
+#: .././config.py:3005 .././config.py:4570 .././config.py:10286
msgid "_Name"
msgstr "_Naam"
@@ -4320,7 +4367,8 @@ msgstr ""
msgid "Completely reset all settings to their default values"
msgstr ""
-#: .././config.py:3163
+#. Add this tab...
+#: .././config.py:3163 .././config.py:7151
msgid "_Subtitles"
msgstr ""
@@ -4350,15 +4398,15 @@ msgid ""
"any subtitles):"
msgstr ""
-#: .././config.py:3226 .././config.py:7222
+#: .././config.py:3226 .././config.py:7247
msgid "Add language"
msgstr "Taal toevoegen"
-#: .././config.py:3238 .././config.py:7240
+#: .././config.py:3238 .././config.py:7265
msgid "Remove language"
msgstr "Taal verwijderen"
-#: .././config.py:3276 .././config.py:11607 .././config.py:23208
+#: .././config.py:3276 .././config.py:11646
msgid "_Clips"
msgstr ""
@@ -4382,7 +4430,7 @@ msgstr ""
msgid "Remove slices from the video using SponsorBlock data (requires FFmpeg)"
msgstr ""
-#: .././config.py:3341 .././config.py:17817 .././config.py:18125
+#: .././config.py:3341 .././config.py:18009 .././config.py:18317
msgid "Remove"
msgstr "Verwijderen"
@@ -4423,8 +4471,8 @@ msgid "Minimum delay to apply (in minutes; randomises the actual delay)"
msgstr ""
"Minimale vertraging (in minuten - dit leidt tot een willekeurige vertraging)"
-#: .././config.py:3501
-msgid "Mirrors"
+#: .././config.py:3501 .././config.py:24061
+msgid "_Mirrors"
msgstr ""
#: .././config.py:3506
@@ -4447,13 +4495,13 @@ msgstr ""
msgid "Obtain the video from this YouTube front-end:"
msgstr ""
-#: .././config.py:3556 .././config.py:23600
+#: .././config.py:3556 .././config.py:24093
msgid "Type the exact text that replaces youtube.com e.g."
msgstr ""
"Voer de letterlijke tekst in die youtube.com moet vervangen. Voorbeeld:"
-#: .././config.py:3579 .././config.py:22848
-msgid "Li_vestreams"
+#: .././config.py:3579
+msgid "L_ivestreams"
msgstr ""
#: .././config.py:3583
@@ -4476,8 +4524,8 @@ msgstr ""
msgid "Only download finished livestreams"
msgstr ""
-#: .././config.py:3678 .././config.py:4060 .././config.py:8476
-#: .././config.py:9286 .././config.py:12658 .././config.py:13054
+#: .././config.py:3678 .././config.py:4060 .././config.py:8501
+#: .././config.py:9325 .././config.py:12697 .././config.py:13093
msgid "This procedure cannot be reversed. Are you sure you want to continue?"
msgstr ""
"Dit kan niet ongedaan worden gemaakt. Weet je zeker dat je wilt doorgaan?"
@@ -4544,7 +4592,7 @@ msgid "Completely reset all download options to their default values"
msgstr "Zet alle downloadopties terug op hun standaardwaarden"
#. Add this tab...
-#: .././config.py:4769 .././config.py:4780 .././config.py:22169
+#: .././config.py:4769 .././config.py:4780 .././config.py:22487
msgid "_Downloads"
msgstr "_Downloads"
@@ -4595,7 +4643,7 @@ msgstr ""
msgid "_Playlists"
msgstr "Afs_peellijsten"
-#: .././config.py:4970 .././config.py:18176 .././config.py:21851
+#: .././config.py:4970 .././config.py:18368 .././config.py:22169
msgid "_Limits"
msgstr ""
@@ -4649,7 +4697,7 @@ msgid "E_xternal"
msgstr ""
#. Add this tab...
-#: .././config.py:5141 .././config.py:19183
+#: .././config.py:5141 .././config.py:19386
msgid "_Files"
msgstr "_Bestanden"
@@ -4673,11 +4721,11 @@ msgstr "Bestandsuitvoersjabloon"
msgid "Add to template:"
msgstr "Toevoegen aan sjabloon:"
-#: .././config.py:5234 .././config.py:13735
+#: .././config.py:5234 .././config.py:13774
msgid "Video properties"
msgstr "Video-informatie"
-#: .././config.py:5236 .././config.py:14020
+#: .././config.py:5236 .././config.py:14059
msgid "Video ID"
msgstr "ID"
@@ -4705,191 +4753,191 @@ msgstr "Licentie"
msgid "Age restriction (years)"
msgstr "Leeftijdsbeperking (jaar)"
-#: .././config.py:5244
-msgid "Is a livestream"
-msgstr "Is een livestream"
-
#: .././config.py:5245
-msgid "Autonumber videos, starting at 0"
-msgstr "Video's automatisch nummeren, beginnend bij 0"
+msgid "Autonumber videos"
+msgstr ""
#: .././config.py:5247
+msgid "Autonumber videos (playlists)"
+msgstr ""
+
+#: .././config.py:5249
msgid "Creator/uploader"
msgstr "Maker/Uploader"
-#: .././config.py:5249
+#: .././config.py:5251
msgid "Full name of video uploader"
msgstr "Volledige naam van uploader"
-#: .././config.py:5250
+#: .././config.py:5252
msgid "Uploader ID"
msgstr ""
-#: .././config.py:5251
+#: .././config.py:5253
msgid "Nickname/ID of video uploader"
msgstr "Bijnaam/ID van uploader"
-#: .././config.py:5252
+#: .././config.py:5254
msgid "Channel name"
msgstr "Kanaalnaam"
-#: .././config.py:5253
+#: .././config.py:5255
msgid "Channel ID"
msgstr "Kanaal-id"
-#: .././config.py:5254
+#: .././config.py:5256
msgid "Playlist name"
msgstr "Afspeellijstnaam"
-#: .././config.py:5255 .././config.py:16317
+#: .././config.py:5257 .././config.py:16357
msgid "Playlist ID"
msgstr "Afspeellijst-id"
-#: .././config.py:5256
+#: .././config.py:5258
msgid "Video index in playlist"
msgstr "Video-index op afspeellijst"
-#: .././config.py:5258
+#: .././config.py:5260
msgid "Date/time/location"
msgstr "Datum/Tijd/Locatie"
-#: .././config.py:5260
+#: .././config.py:5262
msgid "Release date (YYYYMMDD)"
msgstr "Uitgebracht op (JJJJMMDD)"
-#: .././config.py:5261
+#: .././config.py:5263
msgid "Release time (UNIX timestamp)"
msgstr "Uitgebracht om (UNIX-tijdstempel)"
-#: .././config.py:5262
+#: .././config.py:5264
msgid "Upload data (YYYYMMDD)"
msgstr "Uploaddatums (JJJJMMDD)"
-#: .././config.py:5263
+#: .././config.py:5265
msgid "Video length (seconds)"
msgstr "Duur (in seconden)"
-#: .././config.py:5264
+#: .././config.py:5266
msgid "Filming location"
msgstr "Opnamelocatie"
-#: .././config.py:5266 .././config.py:5268
+#: .././config.py:5268 .././config.py:5270
msgid "Video format"
msgstr "Videoformaat"
-#: .././config.py:5269
+#: .././config.py:5271
msgid "Video format code"
msgstr "Videoformaatcode"
-#: .././config.py:5270
+#: .././config.py:5272
msgid "Video width"
msgstr "Videobreedte"
-#: .././config.py:5271
+#: .././config.py:5273
msgid "Video height"
msgstr "Videohoogte"
-#: .././config.py:5273
+#: .././config.py:5275
msgid "Video frame rate"
msgstr "Videoframesnelheid"
-#: .././config.py:5274
+#: .././config.py:5276
msgid "Average video/audio bitrate (KiB/s)"
msgstr "Gemiddelde audio-/videobitsnelheid (in KiB/s)"
-#: .././config.py:5275
+#: .././config.py:5277
msgid "Average video bitrate (KiB/s)"
msgstr "Gemiddelde videobitsnelheid (in KiB/s)"
-#: .././config.py:5276
+#: .././config.py:5278
msgid "Average audio bitrate (KiB/s)"
msgstr "Gemiddelde audiobitsnelheid (in KiB/s)"
-#: .././config.py:5278
+#: .././config.py:5280
msgid "Ratings/comments"
msgstr "Waarderingen/Reacties"
-#: .././config.py:5280
+#: .././config.py:5282
msgid "Number of views"
msgstr "Aantal weergaven"
-#: .././config.py:5281
+#: .././config.py:5283
msgid "Number of positive ratings"
msgstr "Aantal positieve waarderingen"
-#: .././config.py:5282
+#: .././config.py:5284
msgid "Number of negative ratings"
msgstr "Aantal negatieve waarderingen"
-#: .././config.py:5283
+#: .././config.py:5285
msgid "Average rating"
msgstr "Gemiddelde waardering"
-#: .././config.py:5284
+#: .././config.py:5286
msgid "Number of reposts"
msgstr "Aantal keer gedeeld"
-#: .././config.py:5285
+#: .././config.py:5287
msgid "Number of comments"
msgstr "Aantal reacties"
-#: .././config.py:5321 .././config.py:5430 .././config.py:5573
-#: .././config.py:17811 .././config.py:18115 .././config.py:21549
-#: .././config.py:22518 .././config.py:24476 .././config.py:24754
+#: .././config.py:5323 .././config.py:5432 .././config.py:5575
+#: .././config.py:18003 .././config.py:18307 .././config.py:21867
+#: .././config.py:22892 .././config.py:24971 .././config.py:25249
msgid "Add"
msgstr "Toevoegen"
-#: .././config.py:5354
+#: .././config.py:5356
msgid "_Override"
msgstr ""
-#: .././config.py:5361
+#: .././config.py:5363
msgid "List of output filename templates"
msgstr ""
-#: .././config.py:5368
+#: .././config.py:5370
msgid "Overrides the output template in the 'File names' tab"
msgstr ""
-#: .././config.py:5387
+#: .././config.py:5389
msgid "Template"
msgstr ""
-#: .././config.py:5406 .././config.py:5537
+#: .././config.py:5408 .././config.py:5539
msgid "Output type"
msgstr ""
-#: .././config.py:5419
+#: .././config.py:5421
msgid "Output template"
msgstr ""
-#: .././config.py:5441 .././config.py:5584 .././config.py:21585
-#: .././config.py:22576 .././config.py:24534 .././config.py:24812
+#: .././config.py:5443 .././config.py:5586 .././config.py:21903
+#: .././config.py:22950 .././config.py:25029 .././config.py:25307
msgid "Delete"
msgstr "Verwijderen"
-#: .././config.py:5450 .././config.py:5593 .././config.py:20135
-#: .././config.py:22592 .././config.py:24550 .././config.py:24828
+#: .././config.py:5452 .././config.py:5595 .././config.py:20445
+#: .././config.py:22966 .././config.py:25045 .././config.py:25323
msgid "Refresh list"
msgstr "Lijst verversen"
-#: .././config.py:5493
+#: .././config.py:5495
msgid "_Paths"
msgstr ""
-#: .././config.py:5500
+#: .././config.py:5502
msgid "List of output paths"
msgstr ""
-#: .././config.py:5518
+#: .././config.py:5520
msgid "Path"
msgstr ""
-#: .././config.py:5552
+#: .././config.py:5554
msgid "Output path"
msgstr ""
-#: .././config.py:5636
+#: .././config.py:5638
msgid "_Filesystem"
msgstr "_Bestandssysteem"
@@ -4901,11 +4949,11 @@ msgstr "Bestandssysteemopties"
msgid "Restrict filenames to ASCII characters"
msgstr "Bestandsnamen beperken tot ascii-tekens"
-#: .././config.py:5657
+#: .././config.py:5659
msgid "Use the server's file modification time"
msgstr "Aanpassingstijd van server gebruiken"
-#: .././config.py:5664
+#: .././config.py:5666
msgid "Download all videos into this folder"
msgstr "Alle video's downloaden naar deze map"
@@ -4918,106 +4966,118 @@ msgid "Limit filename length (excluding extension) to this many characters"
msgstr ""
#: .././config.py:5755
+msgid "WARNING: The filename length includes the length of the folder name!"
+msgstr ""
+
+#: .././config.py:5760
+msgid "WARNING: The filename length includes the length of the directory nam!e"
+msgstr ""
+
+#: .././config.py:5772
+msgid "Do not overwrite any files"
+msgstr ""
+
+#: .././config.py:5780
msgid "Overwrite all video and metadata files (includes '--no-continue')"
msgstr ""
-#: .././config.py:5764
+#: .././config.py:5789
msgid "Write playlist metadata in addition to video metadata"
msgstr ""
-#: .././config.py:5772
+#: .././config.py:5797
msgid "Write all fields, including private fields, to the .info.json file"
msgstr ""
-#: .././config.py:5794
+#: .././config.py:5819
msgid "_Cookies"
msgstr "_Cookies"
-#: .././config.py:5801
+#: .././config.py:5826
msgid "Cookies options"
msgstr "Cookie-opties"
-#: .././config.py:5806
+#: .././config.py:5831
msgid "Path to the downloader's cookie jar file"
msgstr "Pad naar downloader's cookie-jarbestand:"
-#: .././config.py:5861
+#: .././config.py:5886
msgid "Cookie options"
msgstr ""
-#: .././config.py:5866
+#: .././config.py:5891
msgid "Do not read/dump cookies from/to the cookiejar file"
msgstr ""
-#: .././config.py:5873
+#: .././config.py:5898
msgid "Do not load cookies from browser"
msgstr ""
-#: .././config.py:5884
+#: .././config.py:5909
msgid "Retrieve cookies from browser"
msgstr ""
-#: .././config.py:5902
+#: .././config.py:5927
msgid "Browser"
msgstr ""
-#: .././config.py:5920
+#: .././config.py:5945
msgid "Chromium keyring"
msgstr ""
-#: .././config.py:5939
+#: .././config.py:5964
msgid "Browser profile name (optional)"
msgstr ""
-#: .././config.py:5952
+#: .././config.py:5977
msgid "Browser profile path (optional)"
msgstr ""
-#: .././config.py:6144
+#: .././config.py:6169
msgid "_Shortcuts"
msgstr ""
-#: .././config.py:6150
+#: .././config.py:6175
msgid "Internet shortcut options"
msgstr ""
-#: .././config.py:6156
+#: .././config.py:6181
msgid "Write an internet shortcut file (.url, .webloc or .desktop)"
msgstr ""
-#: .././config.py:6163
+#: .././config.py:6188
msgid "Write a Windows internet shortcut file (.url)"
msgstr ""
-#: .././config.py:6170
+#: .././config.py:6195
msgid "Write a macOS inernet shortcut file (.webloc)"
msgstr ""
-#: .././config.py:6177
+#: .././config.py:6202
msgid "Write a Linux internet shortcut file (.desktop)"
msgstr ""
-#: .././config.py:6197
+#: .././config.py:6222
msgid "_Write/move"
msgstr ""
-#: .././config.py:6204
+#: .././config.py:6229
msgid "File write options"
msgstr "Wegschrijfopties"
-#: .././config.py:6209
+#: .././config.py:6234
msgid "Write video's description to a .description file"
msgstr "Video-omschrijving wegschrijven naar .description-bestand"
-#: .././config.py:6216
+#: .././config.py:6241
msgid "Write video's metadata to an .info.json file"
msgstr "Video-metagegevens wegschrijven naar .info.json-bestand"
-#: .././config.py:6224
+#: .././config.py:6249
msgid "Write video's annotations to an .annotations.xml file"
msgstr "Video-aantekeningen wegschrijven naar .annotations.xml-bestand"
-#: .././config.py:6233
+#: .././config.py:6258
msgid ""
"Annotations are not downloaded when checking videos/channels/playlists/"
"folders"
@@ -5025,111 +5085,111 @@ msgstr ""
"Aantekeningen worden niet gedownload bij het controleren van video's, "
"kanalen, afspeellijsten en mappen"
-#: .././config.py:6240
+#: .././config.py:6265
msgid "Write the video's thumbnail to the same folder"
msgstr "Videominiatuur wegschrijven naar dezelfde map"
-#: .././config.py:6248
+#: .././config.py:6273
msgid "File move options"
msgstr "Verplaatsopties"
-#: .././config.py:6253
+#: .././config.py:6278
msgid "Move video's description file into a sub-folder"
msgstr "Video-omschrijvingsbestand verplaatsen naar onderliggende map"
-#: .././config.py:6259
+#: .././config.py:6284
msgid "Write video's metadata file into a sub-folder"
msgstr "Video-metagegevensbestand wegschrijven naar onderliggende map"
-#: .././config.py:6265
+#: .././config.py:6290
msgid "Write video's annotations file into a sub-folder"
msgstr "Video-aantekeningenbestand wegschrijven naar onderliggende map"
-#: .././config.py:6271
+#: .././config.py:6296
msgid "Write the video's thumbnail into a sub-folder"
msgstr "Videominiatuur wegschrijven naar onderliggende map"
-#: .././config.py:6290
+#: .././config.py:6315
msgid "_Keep"
msgstr ""
-#: .././config.py:6296
+#: .././config.py:6321
msgid "Options during real (not simulated) downloads"
msgstr "Opties tijdens echte (niet-gesimuleerde) downloads"
-#: .././config.py:6302 .././config.py:6333
+#: .././config.py:6327 .././config.py:6358
msgid "Keep the description file after the download has finished"
msgstr ""
-#: .././config.py:6308 .././config.py:6339
+#: .././config.py:6333 .././config.py:6364
msgid "Keep the metadata file after the download has finished"
msgstr ""
-#: .././config.py:6314 .././config.py:6345
+#: .././config.py:6339 .././config.py:6370
msgid "Keep the annotations file after the download has finished"
msgstr ""
-#: .././config.py:6320 .././config.py:6351
+#: .././config.py:6345 .././config.py:6376
msgid "Keep the thumbnail file after the download has finished"
msgstr ""
-#: .././config.py:6327
+#: .././config.py:6352
msgid "Options during simulated (not real) downloads"
msgstr "Opties tijdens gesimuleerde (niet echte) downloads"
#. Add this tab...
-#: .././config.py:6365
+#: .././config.py:6390
msgid "F_ormats"
msgstr "F_ormaten"
-#: .././config.py:6402
+#: .././config.py:6427
msgid "Preferred format options"
msgstr "Voorkeursformaatopties"
-#: .././config.py:6449
+#: .././config.py:6474
msgid "If you want a specific format, install FFmpeg and use the Convert tab!"
msgstr ""
-#: .././config.py:6456
+#: .././config.py:6481
msgid "Recognised video/audio formats"
msgstr "Ondersteunde audio-/videoformaten"
-#: .././config.py:6471
+#: .././config.py:6496
msgid "Add format"
msgstr "Formaat toevoegen"
-#: .././config.py:6484
+#: .././config.py:6509
msgid "Type extractor code directly"
msgstr ""
-#: .././config.py:6489
+#: .././config.py:6514
msgid "List of preferred formats"
msgstr "Lijst met voorkeursformaten"
-#: .././config.py:6502
+#: .././config.py:6527
msgid "Remove format"
msgstr "Formaat verwijderen"
-#: .././config.py:6569
+#: .././config.py:6594
msgid "If a merge is required after post-processing, output to this format:"
msgstr ""
"Als er een samenvoeging moet plaatsvinden na het verwerken, schrijf dan weg "
"naar het volgende formaat:"
-#: .././config.py:6602
+#: .././config.py:6627
msgid "_Preferred"
msgstr "_Voorkeur"
#. Add this tab...
-#: .././config.py:6622 .././config.py:7361
+#: .././config.py:6647 .././config.py:7386
msgid "_Advanced"
msgstr "Ge_avanceerd"
-#: .././config.py:6630
+#: .././config.py:6655
msgid "Multiple format options"
msgstr "Meerdere formaatopties"
-#: .././config.py:6639
+#: .././config.py:6664
msgid ""
"Multiple formats will not be downloaded, because an archive file will be "
"created"
@@ -5137,315 +5197,310 @@ msgstr ""
"Meerdere formaten worden niet gedownload omdat er een archiefbestand wordt "
"aangemaakt"
-#: .././config.py:6642
+#: .././config.py:6667
msgid "The archive file can be disabled in the System Preferences window"
msgstr "Het archiefbestand kan worden uitgeschakeld in het instellingenvenster"
-#: .././config.py:6651
+#: .././config.py:6676
msgid ""
"For each video, download the first available format from the preferred list"
msgstr ""
"Gebruik bij elke video het eerst beschikbare formaat van de voorkeurslijst"
-#: .././config.py:6665
+#: .././config.py:6690
msgid ""
"From the preferred list, download the first format that's available for all "
"videos"
msgstr ""
"Gebruik bij alle video's het eerst beschikbare formaat van de voorkeurslijst"
-#: .././config.py:6679
+#: .././config.py:6704
msgid "For each video, download all available formats from the preferred list"
msgstr "Gebruik bij elke video alle beschikbare formaten van de voorkeurslijst"
-#: .././config.py:6692
+#: .././config.py:6717
msgid "Download all available formats for all videos"
msgstr "Gebruik alle beschikbare formaten bij alle video's"
-#: .././config.py:6725 .././config.py:6745
+#: .././config.py:6750 .././config.py:6770
msgid "Other format options"
msgstr "Overige formaatopties"
-#: .././config.py:6730
+#: .././config.py:6755
msgid "Prefer free video formats, unless one is specified above"
msgstr "Voorkeur voor vrije videoformaten, tenzij anders opgegeven"
-#: .././config.py:6737
+#: .././config.py:6762
msgid "Do not download DASH-related data for YouTube videos"
msgstr "Download geen DASH-gerelateerde gegevens bij YouTube-video's"
-#: .././config.py:6752
+#: .././config.py:6777
msgid "Check formats selected are actually downloadable (Experimental)"
msgstr ""
-#: .././config.py:6762
+#: .././config.py:6787
msgid ""
"Allow unplayable formats to be listed and downloaded (also disables post-"
"processing)"
msgstr ""
-#: .././config.py:6778
+#: .././config.py:6803
msgid "_Convert"
msgstr ""
-#: .././config.py:6783
+#: .././config.py:6808
msgid "Convert to video"
msgstr ""
-#: .././config.py:6788
+#: .././config.py:6813
msgid "Convert downloaded video to another format"
msgstr ""
-#: .././config.py:6802
+#: .././config.py:6827
msgid "Convert to audio"
msgstr ""
-#: .././config.py:6808
+#: .././config.py:6833
msgid ""
"Download each video, extract the sound, and then discard the original video"
msgstr ""
-#: .././config.py:6813
+#: .././config.py:6838
msgid "(requires that FFmpeg or AVConv is installed on your system)"
msgstr "(vereist FFmpeg of AVConv)"
-#: .././config.py:6824
+#: .././config.py:6849
msgid "Use this audio format:"
msgstr "Audioformaat:"
-#: .././config.py:6840
+#: .././config.py:6865
msgid "Use this audio quality:"
msgstr "Audiokwaliteit:"
-#: .././config.py:6846 .././config.py:6945
+#: .././config.py:6871 .././config.py:6970
msgid "High"
msgstr "Hoog"
-#: .././config.py:6848 .././config.py:6947
+#: .././config.py:6873 .././config.py:6972
msgid "Low"
msgstr "Laag"
#. Add this tab...
-#: .././config.py:6868
+#: .././config.py:6893
msgid "_Post-processing"
msgstr "Na_verwerking"
#. Add this tab...
-#: .././config.py:6886 .././config.py:13892 .././config.py:16157
-#: .././config.py:16978 .././config.py:17599 .././config.py:18980
+#: .././config.py:6911 .././config.py:13931 .././config.py:16197
+#: .././config.py:17170 .././config.py:17791 .././config.py:19183
msgid "_General"
msgstr "Al_gemeen"
-#: .././config.py:6894 .././config.py:7054 .././config.py:7329
+#: .././config.py:6919 .././config.py:7079 .././config.py:7354
msgid "Post-processing options"
msgstr "Naverwerkingsopties"
-#: .././config.py:6900
+#: .././config.py:6925
msgid "Post-process video files to convert them to audio-only files"
msgstr "Videobestanden naverwerken om te converteren naar audiobestanden"
-#: .././config.py:6908
+#: .././config.py:6933
msgid "Prefer AVConv over FFmpeg"
msgstr "Voorkeur voor AVConv"
-#: .././config.py:6917
+#: .././config.py:6942
msgid "Prefer FFmpeg over AVConv (default)"
msgstr "Voorkeur voor FFmpeg (standaard)"
-#: .././config.py:6926
+#: .././config.py:6951
msgid "Audio format of the post-processed file"
msgstr "Audioformaat van naverwerkt bestand"
-#: .././config.py:6940
+#: .././config.py:6965
msgid "Audio quality of the post-processed file"
msgstr "Audiokwaliteit van naverwerkt bestand"
-#: .././config.py:6958
+#: .././config.py:6983
msgid "Encode video to another format, if necessary"
msgstr "Video converteren naar ander formaat (indien nodig)"
-#: .././config.py:6971
+#: .././config.py:6996
msgid "Arguments to pass to post-processor"
msgstr "Aanvullende opties voor naverwerking"
-#: .././config.py:6982
+#: .././config.py:7007
msgid "Keep original file after processing it"
msgstr "Oorspronkelijk bestand bewaren na verwerken"
-#: .././config.py:6990
+#: .././config.py:7015
msgid "Merge subtitles file with video (.mp4 only)"
msgstr "Ondertiteling samenvoegen met video (alleen .mp4)"
-#: .././config.py:7002
+#: .././config.py:7027
msgid "Embed thumbnail in audio file as cover art"
msgstr "Miniatuur instellen als hoes van audiobestand"
-#: .././config.py:7009
+#: .././config.py:7034
msgid "Write metadata to the video file"
msgstr "Metagegevens wegschrijven naar videobestand"
-#: .././config.py:7016
+#: .././config.py:7041
msgid "Automatically correct known faults of the file"
msgstr "Automatisch bekende bestandsfouten repareren"
-#: .././config.py:7022
+#: .././config.py:7047
msgid "Do nothing"
msgstr "Niets doen"
-#: .././config.py:7023
+#: .././config.py:7048
msgid "Warn, but do nothing"
msgstr "Waarschuwen, maar niets doen"
-#: .././config.py:7024
+#: .././config.py:7049
msgid "Fix if possible, otherwise warn"
msgstr "Indien mogelijk repareren, anders waarschuwen"
-#: .././config.py:7047
+#: .././config.py:7072
msgid "_yt-dlp"
msgstr ""
-#: .././config.py:7059
+#: .././config.py:7084
msgid "Remux video into another container if necessary"
msgstr ""
-#: .././config.py:7078
+#: .././config.py:7103
msgid "Embed metadata including chapter markers (if supported by format)"
msgstr ""
-#: .././config.py:7087
+#: .././config.py:7112
msgid "Convert thumbnails to another format"
msgstr ""
-#: .././config.py:7102
+#: .././config.py:7127
msgid "Split video into multiple files based on internal chapters"
msgstr ""
-#: .././config.py:7111
+#: .././config.py:7136
msgid "N.B. The 'chapter' prefix can be used in the 'Output' and 'Paths' tabs"
msgstr ""
-#. Add this tab...
-#: .././config.py:7126
-msgid "S_ubtitles"
-msgstr "Ondert_iteling"
-
-#: .././config.py:7152
+#: .././config.py:7177
msgid "Subtitles options"
msgstr "Ondertitelopties"
-#: .././config.py:7158
+#: .././config.py:7183
msgid "Don't download the subtitles file"
msgstr "Geen ondertitelbestand downloaden"
-#: .././config.py:7169
+#: .././config.py:7194
msgid "Download the automatic subtitles file (YouTube only)"
msgstr "Ondertitelbestand automatisch downloaden (alleen YouTube)"
-#: .././config.py:7182
-msgid "Download all available subtitles files"
-msgstr "Alle beschikbare ondertitelbestanden downloaden"
+#: .././config.py:7207
+msgid "Download all available subtitle files"
+msgstr ""
-#: .././config.py:7195
-msgid "Download subtitles file for these languages:"
-msgstr "Ondertitelbestanden downloaden van de volgende talen:"
+#: .././config.py:7220
+msgid "Download subtitle file for these languages:"
+msgstr ""
-#: .././config.py:7303
+#: .././config.py:7328
msgid "_More options"
msgstr "_Meer opties"
-#: .././config.py:7309
+#: .././config.py:7334
msgid "Subtitle format options"
msgstr "Ondertitelformaatopties"
-#: .././config.py:7315
+#: .././config.py:7340
msgid "Preferred subtitle format(s), e.g. 'srt', 'vtt', 'srt/ass/vtt/lrc/best'"
msgstr "Voorkeursondertitelformaat, bijv. 'srt', 'vtt', 'srt/ass/vtt/lrc/best'"
-#: .././config.py:7334
+#: .././config.py:7359
msgid "Applies to .mp4 videos only; requires FFmpeg/AVConv"
msgstr "Alleen van toepassing op .mp4-video's - vereist FFmpeg of AVConv"
-#: .././config.py:7341
+#: .././config.py:7366
msgid "During post-processing, merge subtitles file with video"
msgstr "Ondertitelbestand samenvoegen met video tijdens naverwerking"
-#: .././config.py:7388
+#: .././config.py:7413
msgid "_Configurations"
msgstr ""
-#: .././config.py:7395
+#: .././config.py:7420
msgid "Configuration file options"
msgstr ""
-#: .././config.py:7400
+#: .././config.py:7425
msgid "Use the downloader's configuration file"
msgstr ""
-#: .././config.py:7411 .././config.py:7597
+#: .././config.py:7436 .././config.py:7622
msgid "File loaded from:"
msgstr ""
-#: .././config.py:7422 .././config.py:7608
+#: .././config.py:7447 .././config.py:7633
msgid "Save file"
msgstr ""
-#: .././config.py:7468
+#: .././config.py:7493
msgid "_Authentication"
msgstr "_Authenticatie"
-#: .././config.py:7475
+#: .././config.py:7500
msgid "Authentication options"
msgstr "_Authenticatie-opties"
-#: .././config.py:7480
+#: .././config.py:7505
msgid "Username with which to log in"
msgstr "Gebruikersnaam"
-#: .././config.py:7491
+#: .././config.py:7516
msgid "Password with which to log in"
msgstr "Wachtwoord"
-#: .././config.py:7502
+#: .././config.py:7527
msgid "Password required for this URL"
msgstr "Wachtwoord vereist bij deze url"
-#: .././config.py:7513
+#: .././config.py:7538
msgid "Two-factor authentication code"
msgstr "Code van authenticatie in twee stappen"
-#: .././config.py:7525
+#: .././config.py:7550
msgid "Adobe Pass multiple-system operator (TV provider) identifier"
msgstr ""
-#: .././config.py:7538
+#: .././config.py:7563
msgid " Adobe Pass multiple-system operator account login"
msgstr ""
-#: .././config.py:7549
+#: .././config.py:7574
msgid "Adobe Pass multiple-system operator account password"
msgstr ""
-#: .././config.py:7573
+#: .././config.py:7598
msgid "._netrc"
msgstr ""
-#: .././config.py:7580
+#: .././config.py:7605
msgid ".netrc options"
msgstr ""
-#: .././config.py:7585
+#: .././config.py:7610
msgid "Use .netrc authentication data"
msgstr ".netrc-authenticatiegegevens gebruiken"
-#: .././config.py:7657
+#: .././config.py:7682
msgid "N_etwork"
msgstr ""
-#: .././config.py:7662
+#: .././config.py:7687
msgid "Network options"
msgstr "Netwerkopties"
-#: .././config.py:7668
+#: .././config.py:7693
msgid ""
"Use this HTTP/HTTPS proxy (if set, overrides the proxies in Tartube's "
"preferences window"
@@ -5453,79 +5508,79 @@ msgstr ""
"HTTP-/HTTPS-proxy gebruiken (indien ingesteld overschrijft dit de waarde in "
"het instellingenvenster)"
-#: .././config.py:7681
+#: .././config.py:7706
msgid "Time to wait for socket connection, before giving up"
msgstr "Wachttijd voor socketverbinding alvorens op te geven"
-#: .././config.py:7692
+#: .././config.py:7717
msgid "Bind with this Client-side IP address"
msgstr "Koppelen aan ip-adres aan clientzijde"
-#: .././config.py:7703
+#: .././config.py:7728
msgid "Connect using IPv4 only"
msgstr "Alleen verbinden middels ipv4"
-#: .././config.py:7710
+#: .././config.py:7735
msgid "Connect using IPv6 only"
msgstr "Alleen verbinden middels ipv6"
-#: .././config.py:7730
+#: .././config.py:7755
msgid "_Geo-restriction"
msgstr "_Geografische beperking"
-#: .././config.py:7737
+#: .././config.py:7762
msgid "Geo-restriction options"
msgstr "Geografische opties"
-#: .././config.py:7742
+#: .././config.py:7767
msgid "Use this proxy to verify IP address"
msgstr "Proxy gebruiken om ip-adres te verifiëren"
-#: .././config.py:7753
+#: .././config.py:7778
msgid "Bypass using fake X-Forwarded-For HTTP header"
msgstr "Omzeilen middels geveinsde X-Forwarded-For http-kop"
-#: .././config.py:7760
+#: .././config.py:7785
msgid "Don't bypass using fake HTTP header"
msgstr "Niet omzeilen middels geveinsde http-kop"
-#: .././config.py:7767
+#: .././config.py:7792
msgid "Bypass geo-restriction with ISO 3166-2 country code"
msgstr "Geografische beperking omzeilen middels ISO 3166-2-landcode"
-#: .././config.py:7778
+#: .././config.py:7803
msgid "Bypass with explicit IP block in CIDR notation"
msgstr "Omzeilen middels expliciete ip-blokkade in CIDR-notatie"
-#: .././config.py:7806 .././config.py:7896
+#: .././config.py:7831 .././config.py:7921
msgid "Workaround options"
msgstr "Omzeilopties"
-#: .././config.py:7811
+#: .././config.py:7836
msgid "Custom user agent"
msgstr "Aangepaste gebruikersagent"
-#: .././config.py:7822
+#: .././config.py:7847
msgid "Custom referer if video access has restricted domain"
msgstr "Aangepaste verwijzing als videotoegang een beperkt domein bevat"
-#: .././config.py:7833
+#: .././config.py:7858
msgid "Minimum seconds to sleep before each download"
msgstr "Minimumaantal seconden wachttijd alvorens te downloaden"
-#: .././config.py:7846
+#: .././config.py:7871
msgid "Maximum seconds to sleep before each download"
msgstr "Maximumaantal seconden wachttijd alvorens te downloaden"
-#: .././config.py:7867
+#: .././config.py:7892
msgid "Force this encoding (experimental)"
msgstr "Encodering afdwingen (experimenteel)"
-#: .././config.py:7878
+#: .././config.py:7903
msgid "Suppress HTTPS certificate validation"
msgstr "HTTPS-certificaatgoedkeuring onderdrukken"
-#: .././config.py:7886
+#: .././config.py:7911
msgid ""
"Use an unencrypted connection to retrieve information about videos (YouTube "
"only)"
@@ -5533,91 +5588,91 @@ msgstr ""
"Onbeveiligde verbinding gebruiken om video-informatie op te halen (alleen "
"YouTube)"
-#: .././config.py:7902
+#: .././config.py:7927
msgid "Number of seconds to sleep between requests during data extraction"
msgstr ""
-#: .././config.py:7917
+#: .././config.py:7942
msgid "Number of seconds to sleep before each download (or minimum time)"
msgstr ""
-#: .././config.py:8003
+#: .././config.py:8028
msgid "Video age options"
msgstr ""
-#: .././config.py:8008
+#: .././config.py:8033
msgid "Download videos suitable for this age"
msgstr "Video's downloaden voor bepaalde leeftijdscategorie"
-#: .././config.py:8029
+#: .././config.py:8054
msgid "Video date options"
msgstr "Datumopties"
-#: .././config.py:8034
+#: .././config.py:8059
msgid "Only videos uploaded on this date"
msgstr "Alleen video's geüpload op de volgende datum"
-#: .././config.py:8055
+#: .././config.py:8080
msgid "Only videos uploaded before this date"
msgstr "Alleen video's geüpload vóór de volgende datum"
-#: .././config.py:8076
+#: .././config.py:8101
msgid "Only videos uploaded after this date"
msgstr "Alleen video's geüpload ná de volgende datum"
-#: .././config.py:8107
+#: .././config.py:8132
msgid "External downloader options"
msgstr "Extern downloadprogramma"
-#: .././config.py:8112
+#: .././config.py:8137
msgid "Use this external downloader"
msgstr "Extern downloadprogramma gebruiken"
-#: .././config.py:8130
+#: .././config.py:8155
msgid "Arguments to pass to external downloader"
msgstr "Aanvullende opties voor extern downloadprogramma"
-#: .././config.py:8151
+#: .././config.py:8176
msgid "Video filtering options"
msgstr "Videofiters"
-#: .././config.py:8156
+#: .././config.py:8181
msgid "Download only matching titles (regex or caseless substring)"
msgstr "Alleen overeenkomende titels downloaden (reguliere uitdrukkingen)"
-#: .././config.py:8168
+#: .././config.py:8193
msgid "Don't download only matching titles (regex or caseless substring)"
msgstr "Niet alleen overeenkomende titels downloaden (reguliere uitdrukkingen)"
-#: .././config.py:8181
+#: .././config.py:8206
msgid "Generic video filter, for example:"
msgstr "Algemeen videofilter, bijvoorbeeld:"
-#: .././config.py:8201
+#: .././config.py:8226
msgid "Prefer HLS (HTTP Live Streaming)"
msgstr "Voorkeur voor hls (http-livestreaming)"
-#: .././config.py:8208
+#: .././config.py:8233
msgid "Prefer FFMpeg over native HLS downloader"
msgstr "Voorkeur voor FFmpeg boven hls-downloader"
-#: .././config.py:8215
+#: .././config.py:8240
msgid "Include advertisements (experimental feature)"
msgstr "Reclame ook downloaden (experimenteel)"
-#: .././config.py:8222
+#: .././config.py:8247
msgid "Ignore errors and continue the download operation"
msgstr "Fouten negeren en downloaden voortzetten"
-#: .././config.py:8229
+#: .././config.py:8254
msgid "Number of retries"
msgstr "Aantal pogingen"
-#: .././config.py:8251
+#: .././config.py:8276
msgid "Playlist options"
msgstr "Afspeellijstopties"
-#: .././config.py:8257
+#: .././config.py:8282
msgid ""
"Channels and playlists are handled in the same way, so these options can be "
"used with both"
@@ -5625,72 +5680,72 @@ msgstr ""
"Kanalen en afspeellijsten worden hetzelfde behandeld, dus zijn deze opties "
"van toepassing op beide"
-#: .././config.py:8264
+#: .././config.py:8289
msgid "Start downloading playlist from index"
msgstr "Afspeellijst downloaden vanaf index"
-#: .././config.py:8276
+#: .././config.py:8301
msgid "Stop downloading playlist at index"
msgstr "Afspeellijst downloaden tot aan index"
-#: .././config.py:8288
+#: .././config.py:8313
msgid "Abort operation after downloading this many videos"
msgstr "Afbreken na downloaden van het volgend aantal video's"
-#: .././config.py:8300
+#: .././config.py:8325
msgid "Abort downloading the playlist if an error occurs"
msgstr ""
"Afbreken als tijdens het downloaden van de afspeellijst een fout optreedt"
-#: .././config.py:8307
+#: .././config.py:8332
msgid "Download playlist in reverse order"
msgstr "Afspeellijst downloaden in omgekeerde volgorde"
-#: .././config.py:8314
+#: .././config.py:8339
msgid "Download playlist in random order"
msgstr "Afspeellijst downloaden in willekeurige volgorde"
-#: .././config.py:8331
+#: .././config.py:8356
msgid "Video size limit options"
msgstr "Bestandsgroottelimieten"
-#: .././config.py:8336
+#: .././config.py:8361
msgid "Minimum file size for video downloads"
msgstr "Minimale bestandsgrootte van videodownloads"
-#: .././config.py:8354
+#: .././config.py:8379
msgid "Maximum file size for video downloads"
msgstr "Maximale bestandsgrootte van videodownloads"
-#: .././config.py:8382
+#: .././config.py:8407
msgid "Video views options"
msgstr "Videoweergaven"
-#: .././config.py:8387
+#: .././config.py:8412
msgid "Minimum number of views"
msgstr "Minimumaantal weergaven"
-#: .././config.py:8399
+#: .././config.py:8424
msgid "Maximum number of views"
msgstr "Maximumaantal weergaven"
-#: .././config.py:8503
+#: .././config.py:8528
msgid "Select the cookie jar file"
msgstr "Kies het cookie-jarbestand"
-#: .././config.py:8634
+#: .././config.py:8659
msgid "Select the browser profile"
msgstr ""
-#: .././config.py:8727
+#: .././config.py:8752
msgid "Could not save the downloader's configuration file"
msgstr ""
-#: .././config.py:8738
+#: .././config.py:8763
msgid "Downloader's configuration file saved"
msgstr ""
-#: .././config.py:8994
+#: .././config.py:9033
msgid ""
"This option won't work unless the format is also added to the list of "
"preferred formats above"
@@ -5698,19 +5753,19 @@ msgstr ""
"Deze optie werkt niet als het formaat is toegevoegd aan bovenstaande lijst "
"met voorkeursformaten"
-#: .././config.py:9132
+#: .././config.py:9171
msgid "Unrecognised extractor code"
msgstr ""
-#: .././config.py:9250
+#: .././config.py:9289
msgid "Could not save the .netrc file"
msgstr ""
-#: .././config.py:9267
+#: .././config.py:9306
msgid ".netrc file saved"
msgstr ""
-#: .././config.py:9325
+#: .././config.py:9364
msgid ""
"Fewer download options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
@@ -5718,12 +5773,12 @@ msgstr ""
"Als je op 'Toepassen' of 'Standaardwaarden' klikt (of het venster opnieuw "
"opent), worden er minder downloadopties getoond"
-#: .././config.py:9335
+#: .././config.py:9374
msgid "Show advanced download options (when window re-opens)"
msgstr ""
"Uitgebreide downloadopties tonen (als het venster opnieuw wordt geopend)"
-#: .././config.py:9348
+#: .././config.py:9387
msgid ""
"More download options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
@@ -5731,73 +5786,73 @@ msgstr ""
"Als je op 'Toepassen' of 'Standaardwaarden' klikt (of het venster opnieuw "
"opent), worden er meer downloadopties getoond"
-#: .././config.py:9358
+#: .././config.py:9397
msgid "Hide advanced download options (when window re-opens)"
msgstr ""
"Uitgebreide downloadopties verbergen (als het venster opnieuw wordt geopend)"
-#: .././config.py:9828
+#: .././config.py:9867
msgid "Select the output folder"
msgstr ""
-#: .././config.py:9830
+#: .././config.py:9869
msgid "Select the output directory"
msgstr ""
-#: .././config.py:9880
+#: .././config.py:9919
msgid "FFmpeg options"
msgstr "FFmpeg-opties"
#. Replace the 'OK' button with a 'Process files' button
-#: .././config.py:10233 .././config.py:13459
+#: .././config.py:10272 .././config.py:13498
msgid "Process files"
msgstr "Bestanden verwerken"
-#: .././config.py:10235 .././config.py:13461
+#: .././config.py:10274 .././config.py:13500
msgid "Process the files with FFmpeg"
msgstr "Verwerk de bestanden met FFmpeg"
-#: .././config.py:10251
+#: .././config.py:10290
msgid "Name for these FFmpeg options"
msgstr "Naam van FFmpeg-opties"
-#: .././config.py:10269
+#: .././config.py:10308
msgid "Extra command line options (e.g. --help)"
msgstr "Aanvullende opdrachtregelopties (bijv. --help)"
-#: .././config.py:10280
+#: .././config.py:10319
msgid "System command, based on all FFmpeg options in this window:"
msgstr "Systeemopdracht, op basis van alle FFmpeg-opties binnen dit venster:"
-#: .././config.py:10311
+#: .././config.py:10350
msgid "Show fewer FFmpeg options"
msgstr "Minder FFmpeg-opties tonen"
-#: .././config.py:10313
+#: .././config.py:10352
msgid "Show more FFmpeg options"
msgstr "Meer FFmpeg-opties tonen"
-#: .././config.py:10323
+#: .././config.py:10362
msgid "Import current FFmpeg options into this window"
msgstr "Importeer huidige FFmpeg-opties naar dit venster"
-#: .././config.py:10338
+#: .././config.py:10377
msgid "Completely reset all FFmpeg options to their default values"
msgstr "Zet alle FFmpeg-opties terug op hun standaardwaarden"
-#: .././config.py:10354
+#: .././config.py:10393
msgid "Add to end of filename:"
msgstr "Toevoegen achter bestandsnaam:"
-#: .././config.py:10364
+#: .././config.py:10403
msgid "If regex matches filename:"
msgstr "Als regex overeenkomt met bestandsnaam:"
-#: .././config.py:10378
+#: .././config.py:10417
msgid "...then apply substitution:"
msgstr "...pas dan vervanging toe:"
-#: .././config.py:10391
+#: .././config.py:10430
msgid ""
"If the video/audio file is renamed, also rename the thumbnail (but not vice-"
"versa)"
@@ -5805,55 +5860,55 @@ msgstr ""
"Als het audio- of videobestand van naam wijzigt, wijzig dan ook de naam van "
"de miniatuur (maar niet vice-versa)"
-#: .././config.py:10402
+#: .././config.py:10441
msgid "Change file extension:"
msgstr "Bestandsextensie aanpassen:"
-#: .././config.py:10416
+#: .././config.py:10455
msgid "After changing the file extension, delete the original file"
msgstr "Oorspronkelijk bestand verwijderen na aanpassen van extensie"
-#: .././config.py:10487
+#: .././config.py:10526
msgid "_Settings"
msgstr "In_stellingen"
-#: .././config.py:10500
+#: .././config.py:10539
msgid "Downloaded video/audio"
msgstr "Gedownloade audio/video"
-#: .././config.py:10509
+#: .././config.py:10548
msgid "with audio"
msgstr "met audio"
-#: .././config.py:10522 .././config.py:10599 .././config.py:12121
+#: .././config.py:10561 .././config.py:10638 .././config.py:12160
msgid "Thumbnail"
msgstr "Miniatuurvoorbeeld"
-#: .././config.py:10534
+#: .././config.py:10573
msgid "Output"
msgstr ""
-#: .././config.py:10563
+#: .././config.py:10602
msgid "Video clip"
msgstr ""
-#: .././config.py:10575
+#: .././config.py:10614
msgid "Video slice"
msgstr ""
-#: .././config.py:10587
+#: .././config.py:10626
msgid "Merge video/audio"
msgstr ""
-#: .././config.py:10697
+#: .././config.py:10736
msgid "Audio bitrate"
msgstr "Audiobitsnelheid"
-#: .././config.py:10711
+#: .././config.py:10750
msgid "How to set the quality"
msgstr "Kwaliteit instellen"
-#: .././config.py:10716
+#: .././config.py:10755
msgid ""
"FFmpeg always encodes according to a Rate Factor that specifies the quality "
"of the result."
@@ -5861,7 +5916,7 @@ msgstr ""
"FFmpeg gebruikt altijd op basis van de snelheidsfactor die de kwaliteit "
"aangeeft."
-#: .././config.py:10719
+#: .././config.py:10758
msgid ""
"Instead of directly specifying the Rate Factor, an average bit rate can be "
"specified. FFmpeg will then determine the optimal Rate Factor in a first "
@@ -5870,7 +5925,7 @@ msgstr ""
"In plaats daarvan kan een gemiddelde bitsnelheid worden ingesteld. FFmpeg "
"bepaalt dan de optimale snelheidsfactor bij de eerste overdracht."
-#: .././config.py:10723
+#: .././config.py:10762
msgid ""
"In fact the first pass is only used for determining the Rate Factor, no "
"other data is carried over into the second pass."
@@ -5878,7 +5933,7 @@ msgstr ""
"De eerste overdracht wordt alleen gebruikt om de factor te bepalen en niet "
"om andere gegevens over te dragen."
-#: .././config.py:10726
+#: .././config.py:10765
msgid ""
"Specifying an average bitrate but running only one pass is possible, but not "
"recommended. FFmpeg would then encode the beginning of the video with a "
@@ -5889,193 +5944,193 @@ msgstr ""
"aanbevolen. FFmpeg werkt dan alleen het begin van de video af met een "
"willekeurige snelheidsfactor en past het einde aan om het doel te bereiken."
-#: .././config.py:10739
+#: .././config.py:10778
msgid "Manual rate factor"
msgstr "Aangepaste snelheidsfactor"
-#: .././config.py:10748
+#: .././config.py:10787
msgid "Determine from target bitrate (2-Pass)"
msgstr "Bepalen op basis van doelbitsnelheid (2-pass)"
-#: .././config.py:10758
+#: .././config.py:10797
msgid "Rate factor"
msgstr "Snelheidsfactor"
-#: .././config.py:10767
+#: .././config.py:10806
msgid "Lossless"
msgstr "Lossless"
-#: .././config.py:10767
+#: .././config.py:10806
msgid "Large file"
msgstr "Groot bestand"
-#: .././config.py:10789
+#: .././config.py:10828
msgid "Bad quality"
msgstr "Slechte kwaliteit"
-#: .././config.py:10789
+#: .././config.py:10828
msgid "Small file"
msgstr "Klein bestand"
-#: .././config.py:10796
+#: .././config.py:10835
msgid "Name of dummy file"
msgstr "Naam van rekwisietbestand"
-#: .././config.py:10800
+#: .././config.py:10839
msgid "A dummy file is created during the first pass."
msgstr "Er wordt tijdens de eerste overdracht een rekwisietbestand aangemaakt."
-#: .././config.py:10804
+#: .././config.py:10843
msgid "Use the output file"
msgstr "Uitvoerbestand gebruiken"
-#: .././config.py:10805
+#: .././config.py:10844
msgid "Dummy"
msgstr "Rekwisiet"
-#: .././config.py:10806
+#: .././config.py:10845
msgid "/dev/null (Linux)"
msgstr "/dev/null (Linux)"
-#: .././config.py:10807
+#: .././config.py:10846
msgid "NUL (MS Windows)"
msgstr "NUL (MS Windows)"
-#: .././config.py:10819
+#: .././config.py:10858
msgid "Patience preset"
msgstr "Geduldsinstelling"
-#: .././config.py:10824
+#: .././config.py:10863
msgid "Ultra fast"
msgstr "Ontzettend snel"
-#: .././config.py:10825
+#: .././config.py:10864
msgid "Super fast"
msgstr "Heel erg snel"
-#: .././config.py:10826
+#: .././config.py:10865
msgid "Very fast"
msgstr "Erg snel"
-#: .././config.py:10827 .././config.py:10925
+#: .././config.py:10866 .././config.py:10964
msgid "Faster"
msgstr "Sneller"
-#: .././config.py:10828
+#: .././config.py:10867
msgid "Fast"
msgstr "Snel"
-#: .././config.py:10829
+#: .././config.py:10868
msgid "Medium (default)"
msgstr "Gemiddeld (standaard)"
-#: .././config.py:10830
+#: .././config.py:10869
#, python-format
msgid "Slow (file about 5-10% smaller than medium)"
msgstr "Langzaam (ongeveer 5-10% kleiner bestand dan gemiddeld)"
-#: .././config.py:10831
+#: .././config.py:10870
#, python-format
msgid "Slower (file about 15% smaller than medium)"
msgstr "Langzamer (ongeveer 15% kleiner bestand dan gemiddeld)"
-#: .././config.py:10832
+#: .././config.py:10871
#, python-format
msgid "Very slow (file about 17% smaller than medium)"
msgstr "Erg langzaam (ongeveer 17% kleiner bestand dan gemiddeld)"
-#: .././config.py:10843
+#: .././config.py:10882
msgid "GPU encoding"
msgstr ""
-#: .././config.py:10859
+#: .././config.py:10898
msgid "Hardware acceleration"
msgstr ""
-#: .././config.py:10919
+#: .././config.py:10958
msgid "Palette:"
msgstr "Palet:"
-#: .././config.py:10926
+#: .././config.py:10965
msgid "Uses dithering to a standard palette provided by FFmpeg"
msgstr "Gebruikt ruisonderdrukking op basis van een standaardpalet van FFmpeg"
-#: .././config.py:10927
+#: .././config.py:10966
msgid "Can cause dithering artefacts and slight banding"
msgstr "Kan vervormingen en lichte verkleuringen veroorzaken"
-#: .././config.py:10936
+#: .././config.py:10975
msgid "Better"
msgstr "Beter"
-#: .././config.py:10937
+#: .././config.py:10976
msgid "Determines an optimized palette for the video"
msgstr "Stelt een geoptimaliseerd palet vast voor de video"
-#: .././config.py:10938
+#: .././config.py:10977
msgid "Uses two passes and a temporary file for the palette"
msgstr "Gebruikt twee overdrachten en een tijdelijk bestand voor het palet"
-#: .././config.py:10993 .././config.py:11629
+#: .././config.py:11032 .././config.py:11668
msgid "Split videos using their own timestamps"
msgstr ""
-#: .././config.py:11002 .././config.py:11640
+#: .././config.py:11041 .././config.py:11679
msgid "Split videos using these timestamps"
msgstr ""
-#: .././config.py:11036 .././config.py:11221 .././config.py:11676
-#: .././config.py:11883 .././config.py:14343 .././config.py:14524
+#: .././config.py:11075 .././config.py:11260 .././config.py:11715
+#: .././config.py:11922 .././config.py:14382 .././config.py:14563
msgid "Start"
msgstr ""
-#: .././config.py:11036 .././config.py:11676 .././config.py:14343
+#: .././config.py:11075 .././config.py:11715 .././config.py:14382
msgid "Clip title"
msgstr ""
-#: .././config.py:11107 .././config.py:11747 .././config.py:14403
+#: .././config.py:11146 .././config.py:11786 .././config.py:14442
msgid "Add timestamp"
msgstr ""
-#: .././config.py:11116 .././config.py:11756 .././config.py:14414
+#: .././config.py:11155 .././config.py:11795 .././config.py:14453
msgid "Delete timestamp"
msgstr ""
-#: .././config.py:11126 .././config.py:11766 .././config.py:14423
+#: .././config.py:11165 .././config.py:11805 .././config.py:14462
msgid "Clip preferences"
msgstr ""
-#: .././config.py:11178 .././config.py:11836
+#: .././config.py:11217 .././config.py:11875
msgid "Use the videos' own slice data"
msgstr ""
-#: .././config.py:11187 .././config.py:11847
+#: .././config.py:11226 .././config.py:11886
msgid "Use this slice data"
msgstr ""
-#: .././config.py:11221 .././config.py:11244 .././config.py:11883
-#: .././config.py:11906 .././config.py:14524 .././config.py:14543
+#: .././config.py:11260 .././config.py:11283 .././config.py:11922
+#: .././config.py:11945 .././config.py:14563 .././config.py:14582
msgid "Category"
msgstr ""
-#: .././config.py:11221 .././config.py:11264 .././config.py:11883
-#: .././config.py:11926 .././config.py:14524 .././config.py:14555
+#: .././config.py:11260 .././config.py:11303 .././config.py:11922
+#: .././config.py:11965 .././config.py:14563 .././config.py:14594
msgid "Action Type"
msgstr ""
-#: .././config.py:11308 .././config.py:11970 .././config.py:14594
+#: .././config.py:11347 .././config.py:12009 .././config.py:14633
msgid "Add slice"
msgstr ""
-#: .././config.py:11318
+#: .././config.py:11357
msgid "Delete sliuce"
msgstr ""
-#: .././config.py:11329 .././config.py:11992 .././config.py:14615
+#: .././config.py:11368 .././config.py:12031 .././config.py:14654
msgid "SponsorBlock settings"
msgstr ""
-#: .././config.py:11432
+#: .././config.py:11471
msgid ""
"This merges a video and audio file with the same name into a single video "
"file,\n"
@@ -6084,94 +6139,94 @@ msgstr ""
"Hiermee voeg je een audio- en videobestand samen onder dezelfde naam,\n"
"met toevoeging van de op het tabblad 'Bestand' opgegeven extensie"
-#: .././config.py:11473
+#: .././config.py:11512
msgid "The thumbnail's format can be changed in the File tab"
msgstr "Het miniatuurformaat kan worden aangepast op het tabblad 'Bestand'"
-#: .././config.py:11488
+#: .././config.py:11527
msgid "_Optimisations"
msgstr "_Optimalisaties"
-#: .././config.py:11493
+#: .././config.py:11532
msgid ""
"Optimise for fast seeking (shorter keyframe interval, about 10% larger file)"
msgstr ""
"Optimaliseren voor snel doorspoelen (kortere frames, ongeveer 10% groter "
"bestand)"
-#: .././config.py:11501
+#: .././config.py:11540
msgid "Input video is a high-quality movie"
msgstr "Invoervideo is van hoge kwaliteit"
-#: .././config.py:11507
+#: .././config.py:11546
msgid "Input video is an animated movie"
msgstr "Invoervideo is een tekenfilm"
-#: .././config.py:11513
+#: .././config.py:11552
msgid "Input video contains film grain"
msgstr "Invoervideo bevat spikkels"
-#: .././config.py:11519
+#: .././config.py:11558
msgid "Input video is an image slideshow"
msgstr "Invoervideo is een diavoorstelling"
-#: .././config.py:11525
+#: .././config.py:11564
msgid "Optimise for really weak CPU playback devices"
msgstr "Optimaliseren voor zwakke processoren (cpu's)"
-#: .././config.py:11532
+#: .././config.py:11571
msgid "Optimise for really old devices (requires rate factor above 0)"
msgstr ""
"Optimaliseren voor zeer oude apparaten (vereist een factor hoger dan 0)"
-#: .././config.py:11543
+#: .././config.py:11582
msgid ""
"Move headers to beginning of file (so it can play while still downloading)"
msgstr ""
"Koppen verplaatsen naar begin van bestand (om te kijken tijdens het "
"downloaden)"
-#: .././config.py:11551
+#: .././config.py:11590
msgid "Fast encoding and low latency streaming"
msgstr "Snel encoderen en streamen op lage snelheid"
-#: .././config.py:11557
+#: .././config.py:11596
msgid "Limit bitrate (Mbit/s)"
msgstr "Bitsnelheid beperken (Mbit/s)"
-#: .././config.py:11574
+#: .././config.py:11613
msgid "Assuming a receiving buffer (seconds)"
msgstr "Ontvangbuffer (in seconden)"
-#: .././config.py:11619
+#: .././config.py:11658
msgid "Split the video(s) to create video clips"
msgstr ""
-#: .././config.py:11819 .././config.py:14492 .././config.py:23411
+#: .././config.py:11858 .././config.py:14531
msgid "_Slices"
msgstr ""
-#: .././config.py:11826
+#: .././config.py:11865
msgid "Remove slices from the video(s)"
msgstr ""
-#: .././config.py:11980 .././config.py:14606
+#: .././config.py:12019 .././config.py:14645
msgid "Delete slice"
msgstr ""
-#: .././config.py:12102
+#: .././config.py:12141
msgid "List of videos to be processed"
msgstr "Lijst met te verwerken video's"
-#: .././config.py:12164
+#: .././config.py:12203
msgid "Show video properties and timestamps"
msgstr ""
-#: .././config.py:12173
+#: .././config.py:12212
msgid "Remove video from list"
msgstr "Video verwijderen van lijst"
-#: .././config.py:13098
+#: .././config.py:13137
msgid ""
"Fewer FFmpeg options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
@@ -6179,12 +6234,12 @@ msgstr ""
"Als je op 'Toepassen' of 'Standaardwaarden' klikt (of het venster opnieuw "
"opent), worden er minder FFmpeg-opties getoond"
-#: .././config.py:13108
+#: .././config.py:13147
msgid "Show more FFmpeg options (when window re-opens)"
msgstr ""
"Uitgebreide FFmpeg-opties tonen (als het venster opnieuw wordt geopend)"
-#: .././config.py:13125
+#: .././config.py:13164
msgid ""
"More FFmpeg options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
@@ -6192,231 +6247,231 @@ msgstr ""
"Als je op 'Toepassen' of 'Standaardwaarden' klikt (of het venster opnieuw "
"opent), worden er meer FFmpeg-opties getoond"
-#: .././config.py:13135
+#: .././config.py:13174
msgid "Show fewer FFmpeg options (when window re-opens)"
msgstr "Minder FFmpeg-opties tonen (als het venster opnieuw wordt geopend)"
-#: .././config.py:13896 .././config.py:16161 .././config.py:16982
-#: .././config.py:17604
+#: .././config.py:13935 .././config.py:16201 .././config.py:17174
+#: .././config.py:17796
msgid "General properties"
msgstr "Algemene informatie"
-#: .././config.py:13946
+#: .././config.py:13985
msgid "Set the file (if this is the wrong one)"
msgstr "Bestand instellen (als dit het verkeerde is)"
-#: .././config.py:13957
+#: .././config.py:13996
msgid "Video downloaded"
msgstr ""
-#: .././config.py:13964
+#: .././config.py:14003
msgid "Video unwatched"
msgstr ""
-#: .././config.py:13971
+#: .././config.py:14010
msgid "Video has been split from an original"
msgstr ""
-#: .././config.py:13978
+#: .././config.py:14017
msgid "Video is archived"
msgstr "De video is gearchiveerd"
-#: .././config.py:13985
+#: .././config.py:14024
msgid "Video is bookmarked"
msgstr "De video is toegevoegd aan de bladwijzers"
-#: .././config.py:13992
+#: .././config.py:14031
msgid "Video is favourite"
msgstr "De video is toegevoegd aan de favorieten"
-#: .././config.py:13999
+#: .././config.py:14038
msgid "Video is in waiting list"
msgstr "De video staat op de wachtlijst"
-#: .././config.py:14006
+#: .././config.py:14045
msgid "Video is blocked/censored/age-restricted"
msgstr ""
-#: .././config.py:14013
+#: .././config.py:14052
msgid "Always simulate download of this video"
msgstr "Downloaden altijd simuleren"
-#: .././config.py:14078
+#: .././config.py:14117
msgid "Receive time"
msgstr "Ontvangen om"
-#: .././config.py:14092
+#: .././config.py:14131
msgid "Subtitles"
msgstr ""
-#: .././config.py:14125
+#: .././config.py:14164
msgid "_Live"
msgstr ""
-#: .././config.py:14130
+#: .././config.py:14169
msgid "Livestream properties"
msgstr "Livestreaminformatie"
-#: .././config.py:14135
+#: .././config.py:14174
msgid "Livestream status"
msgstr "Livestreamstatus"
-#: .././config.py:14146
+#: .././config.py:14185
msgid "Waiting to start"
msgstr "Bezig met wachten op begin"
-#: .././config.py:14150
+#: .././config.py:14189
msgid "Livestream has finished"
msgstr ""
-#: .././config.py:14152
+#: .././config.py:14191
msgid "Not a livestream"
msgstr "Is geen livestream"
-#: .././config.py:14155
+#: .././config.py:14194
msgid "Livestream message"
msgstr "Livestreambericht"
-#: .././config.py:14170
+#: .././config.py:14209
msgid "Video is pre-recorded"
msgstr "De video is van tevoren opgenomen"
-#: .././config.py:14182
+#: .././config.py:14221
msgid "Livestream actions"
msgstr "Livestreamacties"
-#: .././config.py:14189
+#: .././config.py:14228
msgid "When the livestream starts, show a desktop notification"
msgstr "Melding tonen als de livestream begint"
-#: .././config.py:14198
+#: .././config.py:14237
msgid "When the livestream starts, play an alarm"
msgstr "Geluid afspelen als de livestream begint"
-#: .././config.py:14208
+#: .././config.py:14247
msgid "When the livestream starts, open it in the system's web browser"
msgstr "Livestream openen in webbrowser zodra deze begint"
-#: .././config.py:14220
+#: .././config.py:14259
msgid "When the livestream starts, begin downloading it immediately"
msgstr "Downloaden starten als de livestream begint"
-#: .././config.py:14231 .././config.py:23127
+#: .././config.py:14270 .././config.py:23607
msgid "When a livestream stops, download it (overwriting any earlier file)"
msgstr ""
"Downloaden stoppen als de livestream begint (eerdere bestanden worden "
"overschreven)"
-#: .././config.py:14247
+#: .././config.py:14286
msgid "_Description"
msgstr "_Omschrijving"
-#: .././config.py:14252
+#: .././config.py:14291
msgid "Video description"
msgstr "Video-omschrijving"
-#: .././config.py:14265
+#: .././config.py:14304
msgid "Update from the description file, and set the line length to:"
msgstr ""
-#: .././config.py:14285
+#: .././config.py:14324
msgid "Clear the description (does not modify the file)"
msgstr ""
-#: .././config.py:14312
+#: .././config.py:14351
msgid "_Timestamps"
msgstr ""
-#: .././config.py:14317
+#: .././config.py:14356
msgid "Timestamps"
msgstr ""
-#: .././config.py:14323
+#: .././config.py:14362
msgid "Timestamps can be used to download or create video clips"
msgstr ""
-#: .././config.py:14439
+#: .././config.py:14478
msgid "Reset list using copied text"
msgstr ""
-#: .././config.py:14447
+#: .././config.py:14486
msgid "Reset list using video description"
msgstr ""
-#: .././config.py:14497
+#: .././config.py:14536
msgid "Video slices"
msgstr ""
-#: .././config.py:14503
+#: .././config.py:14542
msgid "SponsorBlock provides a list of slices that can be removed from a video"
msgstr ""
-#: .././config.py:14677 .././config.py:23502
+#: .././config.py:14716
msgid "_Comments"
msgstr ""
-#: .././config.py:14688
+#: .././config.py:14727
msgid "Total comments:"
msgstr ""
-#: .././config.py:14727
+#: .././config.py:14766
msgid "Show formatted list"
msgstr ""
-#: .././config.py:14738
+#: .././config.py:14777
msgid "Show comment times as text"
msgstr ""
-#: .././config.py:14748
+#: .././config.py:14787
msgid "Show comment timestamps"
msgstr ""
-#: .././config.py:14786 .././config.py:14894
+#: .././config.py:14825 .././config.py:14933
msgid "Author"
msgstr ""
-#: .././config.py:14793 .././config.py:14894
+#: .././config.py:14832 .././config.py:14933
msgid "Comment"
msgstr ""
-#: .././config.py:14801 .././config.py:14895
+#: .././config.py:14840 .././config.py:14934
msgid "Uploader"
msgstr ""
-#: .././config.py:14843
+#: .././config.py:14882
msgid "Update from the metadata file"
msgstr ""
-#: .././config.py:14865
+#: .././config.py:14904
msgid "Clear comments (does not modify the file)"
msgstr ""
-#: .././config.py:14894
+#: .././config.py:14933
msgid "Likes"
msgstr ""
-#: .././config.py:15295 .././config.py:16517
+#: .././config.py:15334 .././config.py:16582
msgid "Errors / Warnings"
msgstr "Fouten/Waarschuwingen"
-#: .././config.py:15301
+#: .././config.py:15340
msgid "Error messages produced the last time this video was checked/downloaded"
msgstr ""
"Foutmeldingen tijdens de laatste keer dat de video is gecontroleerd/"
"gedownload"
-#: .././config.py:15317
+#: .././config.py:15356
msgid ""
"Warning messages produced the last time this video was checked/downloaded"
msgstr ""
"Waarschuwingen tijdens de laatste keer dat de video is gecontroleerd/"
"gedownload"
-#: .././config.py:15830
+#: .././config.py:15869
msgid "Select the correct video/audio file"
msgstr "Kies het juiste audio- of videobestand"
-#: .././config.py:15856
+#: .././config.py:15895
msgid ""
"The replacement video/audio file must be in the same channel, playlist or "
"folder"
@@ -6424,430 +6479,451 @@ msgstr ""
"Het vervangende bestand moet op hetzelfde kanaal of dezelfde afspeellijst of "
"map staan"
-#: .././config.py:15874
+#: .././config.py:15913
msgid "You must select a valid video/audio file"
msgstr "Kies het juiste audio- of videobestand"
-#: .././config.py:16032
+#: .././config.py:16071
msgid "Channel properties"
msgstr "Kanaalinformatie"
-#: .././config.py:16035
+#: .././config.py:16074
msgid "Playlist properties"
msgstr "Afspeellijstinformatie"
-#: .././config.py:16176
+#: .././config.py:16216
msgid "Don't add videos in this channel to Tartube's database"
msgstr ""
-#: .././config.py:16180
+#: .././config.py:16220
msgid "Don't add videos in this playlist to Tartube's database"
msgstr ""
-#: .././config.py:16191
+#: .././config.py:16231
msgid "Always simulate download of videos in this channel"
msgstr "Downloaden op dit kanaal altijd simuleren"
-#: .././config.py:16193
+#: .././config.py:16233
msgid "Always simulate download of videos in this playlist"
msgstr "Downloaden op deze afspeellijst altijd simuleren"
-#: .././config.py:16203
+#: .././config.py:16243
msgid "Disable checking/downloading for this channel"
msgstr "Controleren/Downloaden op dit kanaal uitschakelen"
-#: .././config.py:16205
+#: .././config.py:16245
msgid "Disable checking/downloading for this playlist"
msgstr "Controleren/Downloaden op deze afspeellijst uitschakelen"
-#: .././config.py:16215
+#: .././config.py:16255
msgid "This channel is marked as a favourite"
msgstr "Dit kanaal staat in je favorieten"
-#: .././config.py:16217
+#: .././config.py:16257
msgid "This playlist is marked as a favourite"
msgstr "Deze afspeellijst staat in je favorieten"
-#: .././config.py:16227
+#: .././config.py:16267
msgid "Total videos"
msgstr "Totaal aantal video's"
-#: .././config.py:16251
+#: .././config.py:16291
msgid "Favourite videos"
msgstr "Favoriete video's"
-#: .././config.py:16263
+#: .././config.py:16303
msgid "Downloaded videos"
msgstr "Gedownloade video's"
-#: .././config.py:16285
-msgid "_Associated Playlists"
+#: .././config.py:16325
+msgid "Associated _Playlists"
msgstr ""
-#: .././config.py:16290
+#: .././config.py:16330
msgid "Associated playlists"
msgstr ""
-#: .././config.py:16296
+#: .././config.py:16336
msgid ""
"When a video is associated with a playlist, the playlist's ID is stored here"
msgstr ""
-#: .././config.py:16317
+#: .././config.py:16357
msgid "Playlist Title"
msgstr ""
-#: .././config.py:16336
+#: .././config.py:16376
msgid "Set the channel as the download destination"
msgstr ""
-#: .././config.py:16343
+#: .././config.py:16383
msgid "Add selected playlist"
msgstr ""
-#: .././config.py:16352
+#: .././config.py:16392
msgid "Add all playlists"
msgstr ""
-#: .././config.py:16360
+#: .././config.py:16400
msgid "Download preferences"
msgstr ""
#. (This button works even if mainapp.TartubeApp.store_playlist_id_flag
#. is False)
-#: .././config.py:16376
+#: .././config.py:16416
msgid "Reset list using metadata file"
msgstr ""
-#: .././config.py:16407
+#: .././config.py:16447
msgid "Unnamed playlist"
msgstr ""
-#: .././config.py:16423 .././config.py:17225 .././config.py:20453
+#: .././config.py:16463 .././config.py:17417 .././config.py:20763
msgid "_History"
msgstr "Gesc_hiedenis"
-#: .././config.py:16428 .././config.py:17230 .././config.py:20460
+#: .././config.py:16468 .././config.py:17422 .././config.py:20770
msgid "Download history"
msgstr "Downloadgeschiedenis"
-#: .././config.py:16442 .././config.py:17244 .././config.py:20474
+#: .././config.py:16482 .././config.py:17436 .././config.py:20784
msgid "Draw"
msgstr "Tekenen"
-#: .././config.py:16470
+#: .././config.py:16510
msgid "_RSS feed"
msgstr "_RSS-feed"
-#: .././config.py:16474
-msgid "RSS feed"
-msgstr "RSS-feed"
+#: .././config.py:16515
+msgid "RSS feed (used to detect livestreams)"
+msgstr ""
-#: .././config.py:16480
+#: .././config.py:16521
msgid ""
"If Tartube cannot detect the channel's RSS feed, you can enter the URL here"
msgstr ""
"Als Tartube geen rss-feed kan achterhalen, kun je hier de feedurl opgeven"
-#: .././config.py:16485
+#: .././config.py:16526
msgid ""
"If Tartube cannot detect the playlist's RSS feed, you can enter the URL here"
msgstr ""
"Als Tartube geen rss-feed kan achterhalen, kun je hier de feedurl opgeven"
-#: .././config.py:16490
-msgid "(The feed is used to detect livestreams on compatible websites)"
+#: .././config.py:16545
+msgid "Open in web browser"
+msgstr ""
+
+#: .././config.py:16550
+msgid "Set to default feed"
+msgstr ""
+
+#: .././config.py:16557
+msgid "Reset feed"
+msgstr ""
+
+#: .././config.py:16564
+msgid ""
+"N.B. The Set to default feed button won't work if the RSS feed was "
+"obtained from video metadata"
msgstr ""
-"(de feed wordt gebruikt om livestreams van compatibele sites te achterhalen)"
-#: .././config.py:16523
+#: .././config.py:16588
msgid ""
"Error messages produced the last time this channel was checked/downloaded"
msgstr ""
"Foutmeldingen tijdens de laatste keer dat dit kanaal is gecontroleerd/"
"gedownload"
-#: .././config.py:16528
+#: .././config.py:16593
msgid ""
"Error messages produced the last time this playlist was checked/downloaded"
msgstr ""
"Foutmeldingen tijdens de laatste keer dat deze afspeellijst is gecontroleerd/"
"gedownload"
-#: .././config.py:16547
+#: .././config.py:16612
msgid ""
"Warning messages produced the last time this channel was checked/downloaded"
msgstr ""
"Waarschuwingen tijdens de laatste keer dat dit kanaal is gecontroleerd/"
"gedownload"
-#: .././config.py:16552
+#: .././config.py:16617
msgid ""
"Warning messages produced the last time this playlist was checked/downloaded"
msgstr ""
"Waarschuwingen tijdens de laatste keer dat deze afspeellijst is "
"gecontroleerd/gedownload"
-#: .././config.py:16638
+#: .././config.py:16706
+msgid "Unable to extrapolate the URL for this playlist"
+msgstr ""
+
+#: .././config.py:16719
msgid "The playlist is already in Tartube's database"
msgstr ""
-#: .././config.py:16660
+#: .././config.py:16741
msgid "Unable to create new playlist"
msgstr ""
-#: .././config.py:16679
+#: .././config.py:16760
#, python-brace-format
msgid "Added playlist '{0}' to Tartube's database"
msgstr ""
#. Show confirmation
-#: .././config.py:16771
+#: .././config.py:16862
#, python-brace-format
msgid "Playlists added: {0}"
msgstr ""
-#: .././config.py:16772
+#: .././config.py:16863
#, python-brace-format
msgid "Playlists not added: {0}"
msgstr ""
-#: .././config.py:16859
+#: .././config.py:16998
+msgid "Could not set the RSS feed"
+msgstr ""
+
+#: .././config.py:17051
msgid "Folder properties"
msgstr "Mapinformatie"
-#: .././config.py:16995
+#: .././config.py:17187
msgid "Don't add videos to Tartube's database"
msgstr ""
-#: .././config.py:17002
+#: .././config.py:17194
msgid "Always simulate download of videos"
msgstr "Downloaden altijd simuleren"
-#: .././config.py:17009
+#: .././config.py:17201
msgid "Disable checking/downloading"
msgstr ""
-#: .././config.py:17016
+#: .././config.py:17208
msgid "This folder is marked as a favourite"
msgstr "Deze map staat in je favorieten"
-#: .././config.py:17023
+#: .././config.py:17215
msgid "This folder is hidden"
msgstr "Deze map is verborgen"
-#: .././config.py:17030
+#: .././config.py:17222
msgid "This folder can't be deleted by the user"
msgstr "Deze map kan niet worden verwijderd door de gebruiker"
-#: .././config.py:17037
+#: .././config.py:17229
msgid "This is a system-controlled folder"
msgstr "Dit is een systeemmap"
-#: .././config.py:17044
+#: .././config.py:17236
msgid "All contents deleted when Tartube shuts down"
msgstr "Na het afsluiten wordt alle inhoud verwijderd"
-#: .././config.py:17051
+#: .././config.py:17243
msgid "Restrictions:"
msgstr ""
-#: .././config.py:17062
+#: .././config.py:17254
msgid "Can only contain videos"
msgstr ""
-#: .././config.py:17064
+#: .././config.py:17256
msgid "Can contain folders and videos"
msgstr ""
-#: .././config.py:17066
+#: .././config.py:17258
msgid "Can contain anything"
msgstr ""
-#: .././config.py:17076 .././config.py:20277
+#: .././config.py:17268 .././config.py:20587
msgid "_Statistics"
msgstr "_Statistieken"
-#: .././config.py:17081 .././config.py:20284
+#: .././config.py:17273 .././config.py:20594
msgid "Statistics"
msgstr "Statistieken"
-#: .././config.py:17102 .././config.py:20305
+#: .././config.py:17294 .././config.py:20615
msgid "Downloaded"
msgstr "Gedownload"
-#: .././config.py:17146
+#: .././config.py:17338
msgid "Sub-folders"
msgstr "Onderliggende mappen"
-#: .././config.py:17168
+#: .././config.py:17360
msgid "Recalculate"
msgstr "Herberekenen"
-#: .././config.py:17272
+#: .././config.py:17464
msgid "_Recent Videos"
msgstr ""
-#: .././config.py:17277
+#: .././config.py:17469
msgid "Recent videos"
msgstr ""
-#: .././config.py:17283
+#: .././config.py:17475
msgid ""
"When videos are checked/downloaded, older videos are removed from this folder"
msgstr ""
-#: .././config.py:17454
+#: .././config.py:17646
msgid "Scheduled download"
msgstr "Ingeplande download"
-#: .././config.py:17609 .././config.py:21536
+#: .././config.py:17801 .././config.py:21854
msgid "Scheduled download name"
msgstr "Naam van ingeplande download"
-#: .././config.py:17621
+#: .././config.py:17813
msgid "Download mode"
msgstr "Downloadmodus"
-#: .././config.py:17626
+#: .././config.py:17818
msgid "Check channels, playlist and folders"
msgstr "Kanalen, afspeellijsten en mappen controleren"
-#: .././config.py:17627
+#: .././config.py:17819
msgid "Download channels, playlists and folders"
msgstr "Kanalen, afspeellijsten, mappen downloaden"
-#: .././config.py:17628
+#: .././config.py:17820
msgid "Perform a custom download"
msgstr "Aangepast downloaden"
-#: .././config.py:17640
+#: .././config.py:17832
msgid "Custom download name"
msgstr ""
-#: .././config.py:17697 .././config.py:21477
+#: .././config.py:17889 .././config.py:21795
msgid "_Start"
msgstr "_Beginnen"
-#: .././config.py:17702
+#: .././config.py:17894
msgid "Start conditions"
msgstr ""
-#: .././config.py:17707 .././config.py:21502
+#: .././config.py:17899 .././config.py:21820
msgid "Start mode"
msgstr "Beginmodus"
-#: .././config.py:17712
+#: .././config.py:17904
msgid "Perform this download at regular intervals"
msgstr "Download uitvoeren op bepaalde tijdstippen"
-#: .././config.py:17713
+#: .././config.py:17905
msgid "Perform this download when Tartube starts"
msgstr "Download uitvoeren na het openen van Tartube"
-#: .././config.py:17715
+#: .././config.py:17907
msgid "Perform this download some time after Tartube starts"
msgstr ""
-#: .././config.py:17718
+#: .././config.py:17910
msgid "Perform this download at specified times"
msgstr ""
-#: .././config.py:17719
+#: .././config.py:17911
msgid "Disable this scheduled download"
msgstr "Planning uitschakelen"
-#: .././config.py:17793
+#: .././config.py:17985
msgid "Minutes"
msgstr ""
-#: .././config.py:17920
+#: .././config.py:18112
msgid "Interval time"
msgstr ""
-#: .././config.py:17930
+#: .././config.py:18122
msgid "Start times"
msgstr ""
-#: .././config.py:17971
+#: .././config.py:18163
msgid "_Conflicts"
msgstr ""
-#: .././config.py:17975
+#: .././config.py:18167
msgid "Conflict settings"
msgstr ""
-#: .././config.py:17980
+#: .././config.py:18172
msgid "If another scheduled download is running:"
msgstr "Als er al een ingeplande download actief is:"
-#: .././config.py:17987
+#: .././config.py:18179
msgid "Add channels, playlists and folders to the end of the queue"
msgstr "Kanalen, afspeellijsten en mappen toevoegen aan einde van wachtrij"
-#: .././config.py:17993
+#: .././config.py:18185
msgid "Add channels, playlists and folders to the beginning of the queue"
msgstr "Kanalen, afspeellijsten en mappen toevoegen aan begin van wachtrij"
-#: .././config.py:18000
+#: .././config.py:18192
msgid "Do nothing, just wait until the next scheduled download time"
msgstr "Niks doen tot aan het volgende tijdstip"
-#: .././config.py:18015
+#: .././config.py:18207
msgid "This scheduled download takes priority over others"
msgstr "Deze ingeplande download heeft hoge prioriteit"
-#: .././config.py:18018
+#: .././config.py:18210
msgid "Other scheduled downloads won't start until this one is finished"
msgstr "Andere ingeplande downloads beginnen pas als deze is afgerond"
-#: .././config.py:18038
+#: .././config.py:18230
msgid "Media to download"
msgstr "De te downloaden media"
-#: .././config.py:18044
+#: .././config.py:18236
msgid "Check/download everything"
msgstr "Alles controleren/downloaden"
-#: .././config.py:18052
+#: .././config.py:18244
msgid "Only check/download the media below"
msgstr "Alleen onderstaande media controleren/downloaden"
-#: .././config.py:18066
+#: .././config.py:18258
msgid ""
"Hint: you can drag and drop channels, playlists and your own folders here"
msgstr "Tip: je kunt kanalen, afspeellijsten en mappen hierheen slepen"
-#: .././config.py:18181 .././config.py:21858
+#: .././config.py:18373 .././config.py:22176
msgid "Performance limits"
msgstr "Prestatiebeperkingen"
-#: .././config.py:18186 .././config.py:21863
+#: .././config.py:18378 .././config.py:22181
msgid "Limits are applied when you start downloading a video/channel/playlist"
msgstr ""
-#: .././config.py:18192
+#: .././config.py:18384
msgid ""
"These limits override the default and alternative limits specified elsewhere"
msgstr ""
-#: .././config.py:18198 .././config.py:21869 .././config.py:21940
+#: .././config.py:18390 .././config.py:22187 .././config.py:22258
msgid "Limit simultaneous downloads to"
msgstr "Aantal gelijktijdige downloads beperken tot"
-#: .././config.py:18213 .././config.py:21887 .././config.py:21962
+#: .././config.py:18405 .././config.py:22205 .././config.py:22280
msgid "Limit download speed to"
msgstr "Downloadsnelheid beperken tot"
-#: .././config.py:18240
+#: .././config.py:18432
msgid "_Other"
msgstr ""
-#: .././config.py:18244
+#: .././config.py:18436
msgid "Other settings"
msgstr ""
-#: .././config.py:18250
+#: .././config.py:18442
msgid ""
"Ignore time-saving preferences, and check/download the whole channel/"
"playlist/folder"
@@ -6855,237 +6931,238 @@ msgstr ""
"Tijdbesparende maatregelen negeren en kanaal/afspeellijst/map volledig "
"controleren/downloaden"
-#: .././config.py:18258
+#: .././config.py:18450
msgid "Shut down Tartube when this scheduled download has finished"
msgstr "Tartube afsluiten nadat deze download is afgerond"
-#: .././config.py:18682
+#: .././config.py:18874
msgid "System preferences"
msgstr "Algemene instellingen"
-#: .././config.py:19002
+#: .././config.py:19205
msgid "_Language"
msgstr "Taa_l"
-#: .././config.py:19007
+#: .././config.py:19210
msgid "Language preferences"
msgstr "Taalinstellingen"
-#: .././config.py:19012
+#: .././config.py:19215
msgid "Language"
msgstr "Taal"
-#: .././config.py:19052
+#: .././config.py:19255
msgid "_Modules"
msgstr "_Modules"
-#: .././config.py:19057
+#: .././config.py:19260
msgid "Gtk library"
msgstr "GTK-bibliotheek"
-#: .././config.py:19062
+#: .././config.py:19265
msgid "Current version of the system's Gtk library"
msgstr "De huidige versie van de GTK-bibliotheek op dit systeem"
-#: .././config.py:19077
+#: .././config.py:19280
msgid "Module availability"
msgstr "Aanwezigheid van modules"
-#: .././config.py:19083
+#: .././config.py:19286
msgid "feedparser module is available (required for detecting livestreams)"
msgstr ""
"De feedparser-module is aanwezig (vereist voor het detecteren van "
"livestreams)"
-#: .././config.py:19092
+#: .././config.py:19295
msgid "matplotlib module is available (draws graphs)"
msgstr "De matplotlib-module is beschikbaar (om grafieken te tonen)"
-#: .././config.py:19100
+#: .././config.py:19303
msgid "moviepy module is available (finds the length of videos, if unknown)"
msgstr ""
"De moviepy-module is aanwezig (vereist voor het achterhalen van de duur van "
"video's)"
-#: .././config.py:19110
+#: .././config.py:19313
msgid "playsound module is available (sound an alarm when a livestream starts)"
msgstr ""
"De playsound-module is aanwezig (vereist voor het afspelen van een geluid "
"aan het begin van een livestream)"
-#: .././config.py:19120
+#: .././config.py:19323
msgid ""
"XDG module is available (saves the config file in the standard location)"
msgstr ""
"De xdg-module is aanwezig (vereist voor het opslaan van het "
"configuratiebestand op de standaardlocatie)"
-#: .././config.py:19130
+#: .././config.py:19333
msgid ""
"Notify module is available (shows desktop notifications; Linux/*BSD only)"
msgstr ""
"De notify-module is aanwezig (vereist voor het tonen van meldingen op Linux "
"en *BSD)"
-#: .././config.py:19140
+#: .././config.py:19343
msgid "Module preferences"
msgstr "Module-instellingen"
-#: .././config.py:19146
+#: .././config.py:19349
msgid ""
"Use 'moviepy' module to get a video's duration, if not known (may be slow)"
msgstr ""
"'moviepy'-module gebruiken om de duur van video's te achterhalen (kan "
"langzaam zijn)"
-#: .././config.py:19158
+#: .././config.py:19361
msgid "Timeout applied when moviepy checks a video file"
msgstr "De time-out die wordt gebruikt bij het achterhalen met moviepy"
-#: .././config.py:19214
+#: .././config.py:19417
msgid "_Device"
msgstr "_Apparaat"
-#: .././config.py:19219
+#: .././config.py:19422
msgid "Device preferences"
msgstr "Apparaatinstellingen"
-#: .././config.py:19224
-msgid "Size of device (in Mb)"
-msgstr "Totale ruimte op apparaat (in mb)"
+#: .././config.py:19427
+msgid "Size of device"
+msgstr ""
-#: .././config.py:19236
-msgid "Free space on device (in Mb)"
-msgstr "Vrije ruimte op apparaat (in mb)"
+#: .././config.py:19444
+msgid "Free space on device"
+msgstr ""
-#: .././config.py:19248
-msgid "Warn user if disk space is less than"
-msgstr "Waarschuwen als schijfruimte minder is dan"
+#: .././config.py:19462
+msgid ""
+"Before checking/downloading videos, warn user if disk space is less than"
+msgstr ""
-#: .././config.py:19266
+#: .././config.py:19487
msgid "Halt downloads if disk space is less than"
msgstr "Downloads onderbreken als schijfruimte minder is dan"
-#: .././config.py:19316
+#: .././config.py:19542
msgid "_Config"
msgstr ""
-#: .././config.py:19320
+#: .././config.py:19546
msgid "Configuration preferences"
msgstr "Configuratie-instellingen"
-#: .././config.py:19325
+#: .././config.py:19551
msgid "Tartube configuration file loaded from"
msgstr ""
-#: .././config.py:19337
+#: .././config.py:19563
msgid "Default location for Tartube configuration"
msgstr ""
-#: .././config.py:19349
+#: .././config.py:19575
msgid "Alternative location for Tartube configuration"
msgstr ""
-#: .././config.py:19373
+#: .././config.py:19599
msgid "D_atabase"
msgstr "D_atabank"
-#: .././config.py:19378
+#: .././config.py:19604
msgid "Database preferences"
msgstr "Databankinstellingen"
-#: .././config.py:19383
+#: .././config.py:19609
msgid "Current data folder"
msgstr ""
-#: .././config.py:19396
+#: .././config.py:19622
msgid "Current database"
msgstr ""
-#: .././config.py:19413
+#: .././config.py:19639
msgid "Recent data folders"
msgstr "Recente gegevensmappen"
-#: .././config.py:19429
+#: .././config.py:19655
msgid "Add new database"
msgstr "Nieuwe databank toevoegen"
-#: .././config.py:19431
+#: .././config.py:19657
msgid "Change to a different data folder"
msgstr "Kies een andere gegevensmap"
-#: .././config.py:19438
+#: .././config.py:19664
msgid "Check and repair database"
msgstr "Databank controleren en repareren"
-#: .././config.py:19441
+#: .././config.py:19667
msgid "Check for inconsistencies, and repair them"
msgstr "Controleer op fouten en herstel ze"
-#: .././config.py:19446
+#: .././config.py:19672
msgid "Dump database to JSON"
msgstr ""
-#: .././config.py:19449
+#: .././config.py:19675
msgid "Convert databases to JSON, even when Tartube can't load them"
msgstr ""
-#: .././config.py:19454
+#: .././config.py:19680
msgid "Switch to this database"
msgstr ""
-#: .././config.py:19456
+#: .././config.py:19682
msgid "Switch to the selected data folder"
msgstr "Gekozen gegevensmap gebruiken"
-#: .././config.py:19466
+#: .././config.py:19692
msgid "Forget"
msgstr "Wissen"
-#: .././config.py:19469
+#: .././config.py:19695
msgid "Remove the selected data folder from the list"
msgstr "Verwijder de geselecteerde map van de lijst"
-#: .././config.py:19479
+#: .././config.py:19705
msgid "Forget all"
msgstr "Alle mappen wissen"
-#: .././config.py:19482
+#: .././config.py:19708
msgid "Forget every folder in this list (except the current one)"
msgstr "Verwijder alle mappen van de lijst (behalve de huidige)"
-#: .././config.py:19496
+#: .././config.py:19722
msgid "Move the selected folder up the list"
msgstr "Geselecteerde map omhoog verplaatsen"
-#: .././config.py:19505
+#: .././config.py:19731
msgid "Move the selected folder down the list"
msgstr "Geselecteerde map omlaag verplaatsen"
-#: .././config.py:19533
+#: .././config.py:19759
msgid ""
"On startup, load the first database on the list (not the most recently-use "
"one)"
msgstr ""
"Laad bij het opstarten de eerste databank op de lijst (niet de meest recente)"
-#: .././config.py:19543
+#: .././config.py:19769
msgid "If one database is in use, try to load others"
msgstr "Andere databank laden als huidige in gebruik is"
-#: .././config.py:19551
+#: .././config.py:19777
msgid "New databases are added to this list"
msgstr ""
-#: .././config.py:19596
+#: .././config.py:19822
msgid "_Backups"
msgstr "_Back-ups"
-#: .././config.py:19601
+#: .././config.py:19827
msgid "Backup preferences"
msgstr "Back-upinstellingen"
-#: .././config.py:19606
+#: .././config.py:19832
msgid ""
"When saving a database file, Tartube makes a backup copy of it (in case "
"something goes wrong)"
@@ -7093,476 +7170,505 @@ msgstr ""
"Tijdens het opslaan van een databankbestand, maakt Tartube er een "
"reservekopie van voor als er iets misgaat"
-#: .././config.py:19615
+#: .././config.py:19841
msgid "Delete the backup file as soon as the save procedure is finished"
msgstr "Back-upbestand verwijderen als opslaan voltooid is"
-#: .././config.py:19625
+#: .././config.py:19851
msgid "Keep the backup file, replacing any previous backup file"
msgstr "Back-upbestand behouden en vorige overschrijven"
-#: .././config.py:19636
+#: .././config.py:19862
msgid ""
"Make a new backup file once per day, after the day's first save procedure"
msgstr ""
"Eenmaal per dag een back-upbestand maken, één dag na de eerste keer opslaan"
-#: .././config.py:19647
+#: .././config.py:19873
msgid "Make a new backup file for every save procedure"
msgstr "Back-upbestand maken, elke keer na het opslaan"
-#: .././config.py:19681
+#: .././config.py:19907
msgid "Export preferences"
msgstr ""
-#: .././config.py:19686
+#: .././config.py:19912
msgid "Separator used in CSV exports"
msgstr ""
-#: .././config.py:19728
-msgid "Automatic video deletion preferences"
-msgstr "Instellingen omtrent automatische videoverwijdering"
+#: .././config.py:19954
+msgid "Automatic video deletion/removal preferences"
+msgstr ""
+
+#: .././config.py:19960
+msgid ""
+"Deleted videos are re-downloaded without an archive file. See the Operations "
+"> Archive tab"
+msgstr ""
+
+#: .././config.py:19967
+msgid "Automatically delete downloaded videos"
+msgstr ""
+
+#: .././config.py:19983 .././config.py:20007 .././formats.py:444
+msgid "days"
+msgstr "dagen"
+
+#: .././config.py:19989
+msgid "Remove downloaded videos from the database (but don't delete files)"
+msgstr ""
+
+#: .././config.py:20012
+msgid "Only delete/remove videos which have been watched"
+msgstr ""
-#: .././config.py:19733
-msgid "Automatically delete downloaded videos after this many days"
-msgstr "Gedownloade video's automatisch verwijderen na x aantal dagen"
+#: .././config.py:20024
+msgid "Delete/remove files:"
+msgstr ""
-#: .././config.py:19747
-msgid "...but only delete videos which have been watched"
-msgstr "...maar alleen bekeken video's"
+#: .././config.py:20030
+msgid "When the database is loaded"
+msgstr ""
-#: .././config.py:19771
+#: .././config.py:20037
+msgid "After every download operation"
+msgstr ""
+
+#: .././config.py:20081
msgid "Video matching preferences"
msgstr "Instellingen omtrent video-overeenkomsten"
-#: .././config.py:19776
+#: .././config.py:20086
msgid "When matching videos on the filesystem:"
msgstr "Bij het overeenkomen van video's op het bestandssysteem:"
-#: .././config.py:19782
+#: .././config.py:20092
msgid "The video names must match exactly"
msgstr "Alleen de videonamen overeen laten komen"
-#: .././config.py:19789
+#: .././config.py:20099
msgid "The first # characters must match exactly"
msgstr "Alleen eerste x aantal tekens overeen laten komen"
-#: .././config.py:19803
+#: .././config.py:20113
msgid "Ignore the last # characters; the remaining name must match exactly"
msgstr "Laatste x aantal tekens negeren en de rest overeen laten komen"
-#: .././config.py:19861
+#: .././config.py:20171
msgid "Update video descriptions"
msgstr ""
-#: .././config.py:19868
+#: .././config.py:20178
msgid "These procedures might take a long time on a large database"
msgstr ""
-#: .././config.py:19875
+#: .././config.py:20185
msgid "Update from description files, and set the line lengths to:"
msgstr ""
-#: .././config.py:19894
+#: .././config.py:20204
msgid "Clear descriptions (does not modify the description files)"
msgstr ""
-#: .././config.py:19917
+#: .././config.py:20227
msgid "Video timestamps"
msgstr ""
-#: .././config.py:19921
+#: .././config.py:20231
msgid "Extract timestamps for all videos"
msgstr ""
-#: .././config.py:19929
+#: .././config.py:20239
msgid "Remove timestamps from all videos"
msgstr ""
-#: .././config.py:19939 .././config.py:23509
+#: .././config.py:20249 .././config.py:23989
msgid "Video comments"
msgstr ""
-#: .././config.py:19943
+#: .././config.py:20253
msgid "Extract comments for all videos"
msgstr ""
-#: .././config.py:19951
+#: .././config.py:20261
msgid "Remove comments from all videos"
msgstr ""
-#: .././config.py:19961
+#: .././config.py:20271
msgid ""
"Comments are extracted from each video's metadata file, so this procedure "
"may take a long time"
msgstr ""
-#: .././config.py:19981
-msgid "_URLs"
+#: .././config.py:20291
+msgid "U_RLs"
msgstr ""
-#: .././config.py:19988
+#: .././config.py:20298
msgid "Update channel/playlist URLs"
msgstr ""
-#: .././config.py:19993
+#: .././config.py:20303
msgid "Confirm every change"
msgstr ""
-#: .././config.py:20076
+#: .././config.py:20386
msgid "Pattern"
msgstr ""
-#: .././config.py:20087
+#: .././config.py:20397
msgid "Substitution"
msgstr ""
-#: .././config.py:20098
+#: .././config.py:20408
msgid "This pattern is a regex"
msgstr ""
-#: .././config.py:20110
+#: .././config.py:20420
msgid "Search and replace text in the selected URLs"
msgstr ""
-#: .././config.py:20125
+#: .././config.py:20435
msgid "Open URLs"
msgstr ""
-#: .././config.py:20224
+#: .././config.py:20534
msgid "Temporary folder preferences"
msgstr "Instellingen omtrent tijdelijke mappen"
-#: .././config.py:20229
+#: .././config.py:20539
msgid "Empty temporary folders when Tartube shuts down"
msgstr "Tijdelijke mappen legen na het afsluiten"
-#: .././config.py:20238
+#: .././config.py:20548
msgid "(N.B. Temporary folders are always emptied when Tartube starts up)"
msgstr "(let op: tijdelijke mappen worden sowieso geleegd bij het openen)"
-#: .././config.py:20246
+#: .././config.py:20556
msgid "Open temporary folders (on the desktop) when Tartube shuts down"
msgstr "Tijdelijke mappen openen na het afsluiten"
-#: .././config.py:20289
+#: .././config.py:20599
msgid "The Tartube database contains:"
msgstr "De Tartube-databank bevat:"
-#: .././config.py:20349
+#: .././config.py:20659
msgid "Custom folders"
msgstr "Aangepaste mappen"
-#: .././config.py:20372
+#: .././config.py:20682
msgid "Calculate"
msgstr "Berekenen"
#. Add this tab...
-#: .././config.py:20503
+#: .././config.py:20813
msgid "_Windows"
msgstr "_Vensters"
-#: .././config.py:20532
+#: .././config.py:20842
msgid "_Main window"
msgstr "_Hoofdvenster"
-#: .././config.py:20539
+#: .././config.py:20849
msgid "Main window preferences"
msgstr "Hoofdvensterinstellingen"
-#: .././config.py:20544
+#: .././config.py:20854
msgid "Remember size of the main window"
msgstr ""
-#: .././config.py:20552
+#: .././config.py:20862
msgid "Remember slider positions"
msgstr ""
-#: .././config.py:20561
+#: .././config.py:20871
msgid "Reset both"
msgstr ""
-#: .././config.py:20577
+#: .././config.py:20887
msgid "Don't show the main window toolbar"
msgstr "Geen werkbalk tonen op hoofdvenster"
-#: .././config.py:20585
+#: .././config.py:20895
msgid "Don't show labels in the main window toolbar"
msgstr "Geen werkbalklabels tonen op hoofdvenster"
-#: .././config.py:20603
+#: .././config.py:20913
msgid ""
"Replace stock icons with custom icons (in case stock icons are not visible)"
msgstr ""
"Standaardpictogrammen vervangen door aangepaste (als de "
"standaardpictogrammen niet worden getoond)"
-#: .././config.py:20613
+#: .././config.py:20923
msgid "Show tooltips for videos, channels, playlists and folders"
msgstr "Hulpballonnen tonen bij video's, kanalen, afspeellijsten en mappen"
-#: .././config.py:20621
+#: .././config.py:20931
msgid "Show errors/warnings in tooltips (but not in the Videos tab)"
msgstr ""
"Fouten/Waarschuwingen tonen in hulpballonnen (maar niet op het tabblad "
"'Video's')"
-#: .././config.py:20639
+#: .././config.py:20949
msgid "Disable the download buttons in the toolbar and the Videos tab"
msgstr ""
-#: .././config.py:20649
+#: .././config.py:20959
msgid "In the Progress tab, hide finished downloads"
msgstr ""
-#: .././config.py:20658
+#: .././config.py:20968
msgid "Show downloads in reverse order"
msgstr ""
-#: .././config.py:20666
+#: .././config.py:20976
msgid "When Tartube starts, automatically open the Classic Mode tab"
msgstr "Automatisch opstarten in klassieke modus"
-#: .././config.py:20680
+#: .././config.py:20990
msgid ""
"In the Classic Mode tab, when adding URLs, remove duplicates rather than "
"retaining them"
msgstr "Duplicaten verwijderen tijdens toevoegen van url's in klassieke modus"
-#: .././config.py:20694
-msgid "In the Errors/Warnings tab, don't reset the tab text when it is clicked"
+#: .././config.py:21004
+msgid ""
+"In the Errors/Warnings tab, don't reset the tab title when it is clicked"
msgstr ""
-"Herstel de tabbladtekst niet na aanklikken op het tabblad 'Fouten/"
-"Waarschuwingen'"
-#: .././config.py:20721
+#: .././config.py:21031
msgid "Video Index (left side of the Videos tab)"
msgstr "Video-index (links van het tabblad 'Video's')"
-#: .././config.py:20726
+#: .././config.py:21036
msgid "Show a 'Custom download all' button"
msgstr ""
-#: .././config.py:20734
+#: .././config.py:21044
+msgid "While checking/downloading videos, show free disk space"
+msgstr ""
+
+#: .././config.py:21052
msgid "Allow each row to be marked for checking/downloading"
msgstr ""
-#: .././config.py:20742
+#: .././config.py:21060
msgid "Show smaller icons"
msgstr ""
-#: .././config.py:20751
+#: .././config.py:21069
msgid ""
"Show detailed statistics about the videos in each channel / playlist / folder"
msgstr ""
-#: .././config.py:20762
+#: .././config.py:21080
msgid ""
"After clicking on a folder, automatically expand/collapse the tree around it"
msgstr "Boomstructuur van map automatisch in-/uitklappen na aanklikken"
-#: .././config.py:20773
+#: .././config.py:21091
msgid "Expand the whole tree, not just the level beneath the clicked folder"
msgstr "Boomstructuur volledig uitklappen na aanklikken"
-#: .././config.py:20794
+#: .././config.py:21112
msgid "Video Catalogue (right side of the Videos tab)"
msgstr "Videocatalogus (rechts van het tabblad 'Video's')"
-#: .././config.py:20800
+#: .././config.py:21118
msgid "Show 'today' and 'yesterday' as the date, when possible"
msgstr "'Vandaag' en 'Gisteren' tonen als datum (indien mogelijk)"
-#: .././config.py:20808
+#: .././config.py:21126
msgid "Show livestreams with a different background colour"
msgstr "Andere achtergrondkleur gebruiken bij livestreams"
-#: .././config.py:20816
+#: .././config.py:21134
msgid "Use same background colours for livestream and debut videos"
msgstr ""
"Dezelfde achtergrondkleur gebruiken voor livestream- en aanvangsvideo's"
-#: .././config.py:20837
+#: .././config.py:21155
msgid "Channel and playlist names are clickable (grid mode only)"
msgstr ""
-#: .././config.py:20857
+#: .././config.py:21175
msgid "_Drag"
msgstr "Ver_slepen"
-#: .././config.py:20861
+#: .././config.py:21179
msgid "Drag and drop preferences"
msgstr "Instellingen omtrent slepen-en-neerzetten"
-#: .././config.py:20867
+#: .././config.py:21185
msgid "When dragging and dropping videos to an external application..."
msgstr "Bij het verslepen van video's naar een extern programma..."
-#: .././config.py:20873
+#: .././config.py:21191
msgid "Transfer the video's full file path"
msgstr "Volledige videopad delen"
-#: .././config.py:20881
+#: .././config.py:21199
msgid "Transfer the video's source URL"
msgstr "Video-bronurl delen"
-#: .././config.py:20889
+#: .././config.py:21207
msgid "Transfer the video's name"
msgstr "Videonaam delen"
-#: .././config.py:20897
+#: .././config.py:21215
msgid "Transfer the thumbnail's full file path"
msgstr "Volledige videominiatuurpad delen"
-#: .././config.py:20918
+#: .././config.py:21236
msgid "_Tray"
msgstr ""
-#: .././config.py:20924
+#: .././config.py:21242
msgid "System tray preferences"
msgstr "Systeemvakinstellingen"
-#: .././config.py:20929
+#: .././config.py:21247
msgid "Show Tartube in the system tray"
msgstr ""
-#: .././config.py:20938
+#: .././config.py:21256
msgid "Start Tartube in the system tray"
msgstr ""
-#: .././config.py:20949
+#: .././config.py:21267
msgid "Close to the tray, rather than closing the application"
msgstr "Minimaliseren naar systeemvak in plaats van afsluiten"
-#: .././config.py:20961
+#: .././config.py:21279
msgid ""
"After closing to the tray, restore the window's position (does not work on "
"Wayland)"
msgstr ""
-#: .././config.py:21004
+#: .././config.py:21322
msgid "D_ialogues"
msgstr "D_ialoogvensters"
-#: .././config.py:21010
+#: .././config.py:21328
msgid "Dialogue window preferences"
msgstr "Dialoogvensterinstellingen"
-#: .././config.py:21015
+#: .././config.py:21333
msgid "When adding channels/playlists, keep the dialogue window open"
msgstr "Dialoogvenster openhouden na toevoegen van kanalen en afspeellijsten"
-#: .././config.py:21025
+#: .././config.py:21343
msgid "When the dialogue window opens, add URLs from the system clipboard"
msgstr "URL's van klembord toevoegen aan geopend dialoogvenster"
-#: .././config.py:21046
+#: .././config.py:21364
msgid "When adding YouTube channels, remind the user to copy the correct URL"
msgstr ""
-#: .././config.py:21058
+#: .././config.py:21376
msgid "Debugging preferences"
msgstr "Foutopsporingsinstellingen"
-#: .././config.py:21064
+#: .././config.py:21382
msgid ""
"Temporarily disable message dialogue windows (display messages in terminal "
"instead)"
msgstr ""
-#: .././config.py:21088
+#: .././config.py:21406
msgid "_Colours"
msgstr ""
-#: .././config.py:21095
+#: .././config.py:21413
msgid "Video catalogue colour preferences"
msgstr ""
-#: .././config.py:21103
+#: .././config.py:21421
msgid "Waiting livestreams"
msgstr ""
-#: .././config.py:21109
+#: .././config.py:21427
msgid "Broadcasting livestreams"
msgstr ""
-#: .././config.py:21115
+#: .././config.py:21433
msgid "Waiting debut videos"
msgstr ""
-#: .././config.py:21121
+#: .././config.py:21439
msgid "Broadcasting debut videos"
msgstr ""
-#: .././config.py:21127
+#: .././config.py:21445
msgid "Selected videos"
msgstr ""
-#: .././config.py:21133
+#: .././config.py:21451
msgid "Selected waiting videos"
msgstr ""
-#: .././config.py:21139
+#: .././config.py:21457
msgid "Selected broadcasting videos"
msgstr ""
-#: .././config.py:21145
+#: .././config.py:21463
msgid "Drag and Drop notification"
msgstr ""
-#: .././config.py:21151
+#: .././config.py:21469
msgid "Drag and Drop background 1"
msgstr ""
-#: .././config.py:21157
+#: .././config.py:21475
msgid "Drag and Drop background 2"
msgstr ""
-#: .././config.py:21188
+#: .././config.py:21506
msgid "Custom colour:"
msgstr ""
-#: .././config.py:21211
+#: .././config.py:21529
msgid "Default colour:"
msgstr ""
-#: .././config.py:21248
+#: .././config.py:21566
msgid "_Errors/Warnings"
msgstr "Fout_en/Waarschuwingen"
-#: .././config.py:21254
+#: .././config.py:21572
msgid "Errors/Warnings tab preferences"
msgstr "Instellingen omtrent fouten en waarschuwingen"
-#: .././config.py:21354
+#: .././config.py:21672
msgid "_Websites"
msgstr "_Websites"
-#: .././config.py:21361
+#: .././config.py:21679
msgid "YouTube error/warning preferences"
msgstr "Instellingen omtrent YouTube-fouten/-waarschuwingen van"
-#: .././config.py:21366
+#: .././config.py:21684
msgid "Ignore YouTube copyright errors"
msgstr "Copyrightfouten negeren"
-#: .././config.py:21374
+#: .././config.py:21692
msgid "Ignore YouTube age-restriction errors"
msgstr "Leeftijdsbeperkingen negeren"
-#: .././config.py:21382
+#: .././config.py:21700
msgid "Ignore YouTube deletion by uploader errors"
msgstr "'Verwijderd door uploader' negeren"
-#: .././config.py:21390
+#: .././config.py:21708
msgid "Ignore YouTube payment errors"
msgstr "Betaalfouten negeren"
-#: .././config.py:21399
+#: .././config.py:21717
msgid "General preferences"
msgstr "Algemene instellingen"
-#: .././config.py:21405
+#: .././config.py:21723
msgid ""
"Ignore any errors/warnings which match lines in this list (applies to all "
"websites)"
@@ -7570,74 +7676,74 @@ msgstr ""
"Alle fouten/waarschuwingen op deze lijst negeren (van toepassing op alle "
"websites)"
-#: .././config.py:21419
+#: .././config.py:21737
msgid "These are ordinary strings"
msgstr "Dit zijn normale tekenreeksen"
-#: .././config.py:21426
+#: .././config.py:21744
msgid "These are regular expressions (regexes)"
msgstr "Dit zijn reguliere uitdrukkingen (regexes)"
#. Add this tab...
-#: .././config.py:21455
+#: .././config.py:21773
msgid "_Scheduling"
msgstr "_Inplannen"
-#: .././config.py:21482
+#: .././config.py:21800
msgid "Scheduled download preferences"
msgstr "Planinstellingen omtrent downloads"
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Priority"
msgstr "Prioriteit"
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Whole"
msgstr "Geheel"
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Shutdown"
msgstr "Afsluiten"
-#: .././config.py:21503
+#: .././config.py:21821
msgid "D/L All"
msgstr "Alles downloaden"
-#: .././config.py:21504
+#: .././config.py:21822
msgid "Join mode"
msgstr "Samenvoegmodus"
-#: .././config.py:21558 .././config.py:22540 .././config.py:24498
-#: .././config.py:24776
+#: .././config.py:21876 .././config.py:22914 .././config.py:24993
+#: .././config.py:25271
msgid "Edit"
msgstr "Bewerken"
-#: .././config.py:21630 .././formats.py:1023
+#: .././config.py:21948 .././formats.py:1209
msgid "Custom"
msgstr "Aangepast"
-#: .././config.py:21673
+#: .././config.py:21991
msgid "S_top"
msgstr "A_fbreken"
-#: .././config.py:21678
+#: .././config.py:21996
msgid "Scheduled stop preferences"
msgstr "Planinstellingen omtrent afbreken"
-#: .././config.py:21683
+#: .././config.py:22001
msgid "Stop all download operations after this much time"
msgstr "Alle downloads afbreken na opgegeven verstreken tijd"
-#: .././config.py:21731
+#: .././config.py:22049
msgid "Stop all download operations after this many videos"
msgstr "Alle downloads afbreken na opgegeven aantal video's"
-#: .././config.py:21758
+#: .././config.py:22076
msgid "Stop all download operations after this much disk space"
msgstr ""
"Alle downloads afbreken na opgegeven hoeveelheid gebruikte schijfruimte"
-#: .././config.py:21801
+#: .././config.py:22119
msgid ""
"N.B. Disk space is estimated. This setting does not apply to simulated "
"downloads"
@@ -7645,93 +7751,99 @@ msgstr ""
"Let op: de gebruikte schijfruimte is een schatting en is niet van toepassing "
"op simulaties."
-#: .././config.py:21913
+#: .././config.py:22231
msgid "Overriding video format options, limit video resolution to"
msgstr "Videoresolutie gedwongen beperken tot"
-#: .././config.py:21935
+#: .././config.py:22253
msgid "Alternative performance limits"
msgstr ""
-#: .././config.py:21993
+#: .././config.py:22311
msgid "Alternative limits apply between"
msgstr ""
-#: .././config.py:22033
+#: .././config.py:22351
msgid "and"
msgstr ""
-#: .././config.py:22061
+#: .././config.py:22379
msgid "On days"
msgstr ""
-#: .././config.py:22094
+#: .././config.py:22412
msgid "_Stop"
msgstr ""
-#: .././config.py:22101
+#: .././config.py:22419
msgid "Time-saving settings"
msgstr "Tijdbesparende instellingen"
-#: .././config.py:22107
+#: .././config.py:22425
msgid ""
-"Stop checking/downloading a channel/playlist when it starts sending videos "
-"you already have"
+"Stop checking/downloading a channel/playlist when it finds videos you "
+"already have"
msgstr ""
-"Kanalen/Afspeellijsten niet meer controleren na toevoegen van reeds "
-"aanwezige video's"
-#: .././config.py:22118
+#: .././config.py:22436
msgid "Stop after this many videos (when checking)"
msgstr "Afbreken na opgegeven aantal video's (bij controles)"
-#: .././config.py:22133
+#: .././config.py:22451
msgid "Stop after this many videos (when downloading)"
msgstr "Afbreken na opgegeven aantal video's (tijdens downloaden)"
-#: .././config.py:22176
+#: .././config.py:22494
msgid "Download operation preferences"
msgstr "Downloadactie-instellingen"
-#: .././config.py:22182
+#: .././config.py:22500
msgid "Automatically update downloader before every download operation"
msgstr "Downloader automatisch bijwerken vóór elke downloadactie"
-#: .././config.py:22194
+#: .././config.py:22512
msgid "Automatically save files at the end of all operations"
msgstr "Bestanden automatisch opslaan na afronden"
-#: .././config.py:22204
+#: .././config.py:22522
msgid "For simulated downloads, don't check a video in a folder more than once"
msgstr "Video's eenmalig controleren tijdens simulaties"
-#: .././config.py:22215
+#: .././config.py:22533
msgid "If a download stalls, restart it after this many minutes"
msgstr "Onderbroken downloads herstarten na opgegeven aantal minuten"
-#: .././config.py:22237
+#: .././config.py:22557
msgid "Maximum restarts after a stalled download (0 for no maximum)"
msgstr "Maximaal aantal herstartingen na onderbroken download (0 = onbeperkt)"
-#: .././config.py:22270
-msgid "When checking videos, apply a 60-second timeout"
-msgstr "Time-out van 60 seconden hanteren bij controles"
+#: .././config.py:22590
+msgid "Apply a timeout (in minutes) when checking a video"
+msgstr ""
+
+#: .././config.py:22604
+msgid "Without comments"
+msgstr ""
-#: .././config.py:22279
+#: .././config.py:22620
+msgid "With comments"
+msgstr ""
+
+#: .././config.py:22653
msgid "Assign anonymous error/warning messages to the most probable video"
msgstr ""
-#: .././config.py:22290
+#: .././config.py:22664
msgid "Add censored, age-restricted and other blocked videos to the database"
msgstr ""
-#: .././config.py:22301
+#: .././config.py:22675
msgid ""
"Extract playlist IDs from each video, and store them in the parent channel/"
"playlist"
msgstr ""
-#: .././config.py:22312
+#: .././config.py:22686
msgid ""
"Convert .webp thumbnails into .jpg thumbnails (using FFmpeg) after "
"downloading them"
@@ -7739,23 +7851,23 @@ msgstr ""
".webp-miniaturen converteren naar .jpg-miniaturen (middels FFmpeg) na het "
"downloaden"
-#: .././config.py:22335
+#: .././config.py:22709
msgid "_Ignore"
msgstr ""
-#: .././config.py:22342
+#: .././config.py:22716
msgid "Ignore downloader errors/warnings"
msgstr ""
-#: .././config.py:22347
+#: .././config.py:22721
msgid "TRANSLATOR'S NOTE: These error messages are always in English"
msgstr "TRANSLATOR'S NOTE: These error messages are always in English"
-#: .././config.py:22351
+#: .././config.py:22725
msgid "Ignore 'Child process exited with non-zero code' errors"
msgstr "'Onderliggend proces is gestopt met niet-nulcode'-fouten negeren"
-#: .././config.py:22360
+#: .././config.py:22734
msgid ""
"Ignore 'Unable to download video data' and 'Unable to extract video data' "
"errors"
@@ -7763,73 +7875,73 @@ msgstr ""
"'Kan videogegevens niet ophalen' en 'Kan videogegevens niet extraheren' "
"negeren"
-#: .././config.py:22370
+#: .././config.py:22744
msgid "Ignore 'Did not get any data blocks' errors"
msgstr "'Geen gegevensblokken verkregen' negeren"
-#: .././config.py:22379
+#: .././config.py:22753
msgid "Ignore 'Requested formats are incompatible for merge' warnings"
msgstr "'De opgevraagde formaten kunnen niet worden samengevoegd' negeren"
-#: .././config.py:22388
+#: .././config.py:22762
msgid "Ignore 'No video formats found' errors"
msgstr "'Geen videoformaten aangetroffen' negeren"
-#: .././config.py:22396
+#: .././config.py:22770
msgid "Ignore 'There are no annotations to write' warnings"
msgstr "'Geen weg te schrijven aantekeningen' negeren"
-#: .././config.py:22404
+#: .././config.py:22778
msgid "Ignore 'Video doesn't have subtitles' warnings"
msgstr "'De video bevat geen ondertiteling' negeren"
-#: .././config.py:22412
+#: .././config.py:22786
msgid "Ignore 'A channel/user page was given' warnings"
msgstr ""
-#: .././config.py:22420
+#: .././config.py:22794
msgid "Ignore 'There's no playlist description to write' warnings"
msgstr ""
-#: .././config.py:22429
+#: .././config.py:22803
msgid ""
"Ignore 'Unable to download video thumbnail: HTTP Error 404: Not Fuund' "
"warnings"
msgstr ""
-#: .././config.py:22451
+#: .././config.py:22825
msgid "_Custom"
msgstr "_Aangepast"
-#: .././config.py:22456
+#: .././config.py:22830
msgid "Custom downloads"
msgstr ""
-#: .././config.py:22477 .././config.py:24433
+#: .././config.py:22851 .././config.py:24928
msgid "Classic Mode"
msgstr "Klassieke modus"
-#: .././config.py:22549 .././config.py:24507 .././config.py:24785
+#: .././config.py:22923 .././config.py:25002 .././config.py:25280
msgid "Export"
msgstr "Exporteren"
-#: .././config.py:22558 .././config.py:24516 .././config.py:24794
+#: .././config.py:22932 .././config.py:25011 .././config.py:25289
msgid "Clone"
msgstr "Klonen"
-#: .././config.py:22567 .././config.py:24525
+#: .././config.py:22941 .././config.py:25020
msgid "Use in Classic Mode tab"
msgstr "Toevoegen aan klassieke modus"
-#: .././config.py:22670
+#: .././config.py:23044
msgid "_Archive"
msgstr ""
-#: .././config.py:22678
+#: .././config.py:23052
msgid "Archive file preferences"
msgstr ""
-#: .././config.py:22684
+#: .././config.py:23058
msgid ""
"Allow downloader to create its own archive file (so deleted videos are not "
"re-downloaded)"
@@ -7837,353 +7949,398 @@ msgstr ""
"Downloader toestaan eigen archiefbestand te maken (zodat verwijderde video's "
"niet nogmaals worden gedownload)"
-#: .././config.py:22703
+#: .././config.py:23077
msgid "Store the archive file in the same location as the video"
msgstr ""
-#: .././config.py:22711
+#: .././config.py:23085
msgid ""
"N.B. Archive files are never stored in system folders like 'Unsorted Videos'"
msgstr ""
-#: .././config.py:22720
+#: .././config.py:23094
msgid "Store the archive file in Tartube's data directory"
msgstr ""
-#: .././config.py:22731
+#: .././config.py:23105
msgid "Store the archive file at this location:"
msgstr ""
-#: .././config.py:22811
+#: .././config.py:23185
msgid "Classic Mode tab preferences"
msgstr ""
-#: .././config.py:22817
+#: .././config.py:23191
msgid "Create an archive file when downloading from the Classic Mode tab"
msgstr ""
-#: .././config.py:22828
+#: .././config.py:23202
msgid ""
"This setting should only be enabled when downloading channels and playlists"
msgstr ""
-#: .././config.py:22856
+#: .././config.py:23222
+msgid "Li_vestreams"
+msgstr ""
+
+#: .././config.py:23230
msgid "Livestream preferences (compatible websites only)"
msgstr "Livestreaminstellingen (alleen compatibele websites)"
-#: .././config.py:22862
+#: .././config.py:23236
msgid "Detect livestreams announced within this many days"
msgstr "Livestreams binnen opgegeven aantal dagen detecteren"
-#: .././config.py:22877
+#: .././config.py:23251
msgid "How often to check the status of livestreams (in minutes)"
msgstr ""
"Hoe vaak de livestreamstatussen moeten worden gecontroleerd (in minuten)"
-#: .././config.py:22896
+#: .././config.py:23270
msgid "Check more frequently when a livestream is due to start"
msgstr "Vaker controleren als livestream op het punt staat te beginnen"
-#: .././config.py:22939
-msgid "Broadcast preferences (compatible websites only)"
-msgstr "Uitzendinstellingen (alleen compatibele websites)"
+#: .././config.py:23313
+msgid "Broadcasting livestream preferences (compatible websites only)"
+msgstr ""
-#: .././config.py:22946
+#: .././config.py:23321
msgid ""
-"Use Youtube Stream Capture to download broadcasting livestreams (requires "
-"aria2)"
+"These settings apply when downloading videos individually, for example with "
+"a custom download"
+msgstr ""
+
+#: .././config.py:23337
+msgid "Download using:"
+msgstr ""
+
+#: .././config.py:23352
+msgid ".m3u manifest"
+msgstr ""
+
+#: .././config.py:23380
+msgid "Replace a partially-downloaded livestream"
+msgstr ""
+
+#: .././config.py:23387
+msgid "Resume a partially-downloaded livestream"
msgstr ""
-"YouTube-streamopname gebruiken om livestreams te downloaden (vereist aria2)"
-#: .././config.py:22957
+#: .././config.py:23421
msgid ""
-"N.B. If this option is not selected, youtube-dl will still try to download "
-"livestreams"
+"Bypass usual limits on simultaneous downloads, so that all livestreams can "
+"be downloaded"
msgstr ""
-#: .././config.py:22964
+#: .././config.py:23434
msgid "Timeout after this many minutes of inactivity"
msgstr "Time-out na opgegeven aantal minuten inactiviteit"
-#: .././config.py:22978
-msgid "Number of restarts after a timeout"
-msgstr "Aantal herstartingen na time-out"
-
-#: .././config.py:22993
+#: .././config.py:23450
msgid ""
-"Bypass usual limits on simultaneous downloads, so that all broadcasts can be "
+"When the livestream download is stopped manually, mark the video as "
"downloaded"
msgstr ""
-"Gebruikelijke beperkingen omzeilen tijdens gelijktijdige downloads om alle "
-"livestreams te downloaden"
-#: .././config.py:23039
+#: .././config.py:23464
+msgid ""
+"Check a video before the livestream download (ensures metadata is downloaded)"
+msgstr ""
+
+#: .././config.py:23478
+msgid "N.B. This setting is ignored in the Classic Mode tab"
+msgstr ""
+
+#: .././config.py:23496
+#, python-brace-format
+msgid ""
+"N.B. To prevent {0} from downloading livestreams at all, use a custom "
+"download"
+msgstr ""
+
+#: .././config.py:23502
+msgid "not recommended"
+msgstr ""
+
+#: .././config.py:23519
msgid "Ac_tions"
msgstr ""
-#: .././config.py:23047
+#: .././config.py:23527
msgid "Livestream actions (can be toggled for individual videos)"
msgstr "Livestreamacties (deze kunnen per video worden ingesteld)"
-#: .././config.py:23054
+#: .././config.py:23534
msgid "(currently disabled on MS Windows)"
msgstr "(momenteel uitgeschakeld op Windows)"
-#: .././config.py:23059
+#: .././config.py:23539
msgid "When a livestream starts, show a desktop notification"
msgstr "Melding tonen als een livestream begint"
-#: .././config.py:23073
+#: .././config.py:23553
msgid "When a livestream starts, sound an alarm"
msgstr "Geluid afspelen als een livestream begint"
-#: .././config.py:23096
+#: .././config.py:23576
msgid "Plays the selected sound effect"
msgstr "Gekozen geluidseffect afspelen"
-#: .././config.py:23103
+#: .././config.py:23583
msgid "When a livestream starts, open it in the system's web browser"
msgstr "Livestream openen in webbrowser zodra deze begint"
-#: .././config.py:23115
+#: .././config.py:23595
msgid "When a livestream starts, begin downloading it immediately"
msgstr "Downloaden starten als de livestream begint"
-#: .././config.py:23141
+#: .././config.py:23621
msgid "Desktop notification preferences"
msgstr "Meldingsinstellingen"
-#: .././config.py:23147
+#: .././config.py:23627
msgid "Show a dialogue window at the end of an operation"
msgstr "Dialoogvenster tonen na afronden van acties"
-#: .././config.py:23170
+#: .././config.py:23650
msgid "Don't notify the user at the end of an operation"
msgstr "Geen melding tonen na afronden van acties"
-#: .././config.py:23215
+#: .././config.py:23688
+msgid "Cli_ps"
+msgstr ""
+
+#: .././config.py:23695
msgid "Video clips (requires FFmpeg)"
msgstr ""
-#: .././config.py:23221
+#: .././config.py:23701
msgid ""
"When a video is checked/downloaded, automatically extract timestamps from "
"its metadata file"
msgstr ""
-#: .././config.py:23232
+#: .././config.py:23712
msgid ""
"When a video is checked/downloaded, automatically extract timestamps from "
"its description"
msgstr ""
-#: .././config.py:23242
+#: .././config.py:23722
msgid "If timestamps have already been extracted, replace them"
msgstr ""
-#: .././config.py:23254
+#: .././config.py:23734
msgid ""
"If no timestamps have been extracted, try again before splitting a video"
msgstr ""
-#: .././config.py:23267
+#: .././config.py:23747
msgid "Format of video clip filenames"
msgstr ""
-#: .././config.py:23272
+#: .././config.py:23752
msgid "Number"
msgstr ""
-#: .././config.py:23273
+#: .././config.py:23753
msgid "Clip Title"
msgstr ""
-#: .././config.py:23274
+#: .././config.py:23754
msgid "Number + Clip Title"
msgstr ""
-#: .././config.py:23275
+#: .././config.py:23755
msgid "Clip Title + Number"
msgstr ""
-#: .././config.py:23276
+#: .././config.py:23756
msgid "Original Title"
msgstr ""
-#: .././config.py:23277
+#: .././config.py:23757
msgid "Original Title + Number"
msgstr ""
-#: .././config.py:23278
+#: .././config.py:23758
msgid "Original Title + Clip Title"
msgstr ""
-#: .././config.py:23279
+#: .././config.py:23759
msgid "Original Title + Number + Clip Title"
msgstr ""
-#: .././config.py:23280
+#: .././config.py:23760
msgid "Original Title + Clip Title + Number"
msgstr ""
-#: .././config.py:23307
+#: .././config.py:23787
msgid "Generic title for video clips"
msgstr ""
-#: .././config.py:23324
+#: .././config.py:23804
msgid "Move clips to the Video Clips folder"
msgstr ""
-#: .././config.py:23331
+#: .././config.py:23811
msgid "Keep clips with their original video"
msgstr ""
-#: .././config.py:23344
+#: .././config.py:23824
msgid "...but place new files inside a sub-directory"
msgstr ""
-#: .././config.py:23355
+#: .././config.py:23835
msgid "Add new files to Tartube's database"
msgstr ""
-#: .././config.py:23366
+#: .././config.py:23846
msgid "Use the original video's thumbnail"
msgstr ""
-#: .././config.py:23374
+#: .././config.py:23854
msgid "After splitting a video, open the destination folder"
msgstr ""
-#: .././config.py:23376
+#: .././config.py:23856
msgid "After splitting a video, open the destination directory"
msgstr ""
-#: .././config.py:23388
+#: .././config.py:23868
msgid ""
"After splitting a video, delete the original (ignored for videos in channels/"
"playlists)"
msgstr ""
-#: .././config.py:23418
+#: .././config.py:23891
+msgid "Slic_es"
+msgstr ""
+
+#: .././config.py:23898
msgid "Video slices (requires FFmpeg)"
msgstr ""
-#: .././config.py:23424
+#: .././config.py:23904
msgid ""
"While checking/downloading videos, check each video against the SponsorBlock "
"server"
msgstr ""
-#: .././config.py:23435
+#: .././config.py:23915
msgid "When contacting the server, obfuscate each video's ID (recommended)"
msgstr ""
-#: .././config.py:23449
+#: .././config.py:23929
msgid "If slices have already been extracted, replace the old list"
msgstr ""
-#: .././config.py:23462
+#: .././config.py:23942
msgid ""
"If slices have been extracted, contact the server again before removing more "
"slices from the video"
msgstr ""
-#: .././config.py:23476
+#: .././config.py:23956
msgid ""
"After removing slices from a video, reset all timestamp and slice data "
"(recommended)"
msgstr ""
-#: .././config.py:23515
-msgid "When checking/downloading videos, store comments in the metadata file"
+#: .././config.py:23982
+msgid "C_omments"
+msgstr ""
+
+#: .././config.py:23994
+msgid "When checking videos, store comments in the metadata file"
msgstr ""
-#: .././config.py:23525
+#: .././config.py:24002
+msgid "When downloading videos, store comments in the metadata file"
+msgstr ""
+
+#: .././config.py:24010
msgid ""
"Warning: fetching comments will increase the download time, perhaps by a lot!"
msgstr ""
-#: .././config.py:23531
+#: .././config.py:24016
msgid "Also store comments in the Tartube database"
msgstr ""
-#: .././config.py:23548
+#: .././config.py:24041
msgid ""
"Warning: storing comments will increase the size of Tartube's datbase, "
"perhaps by a lot!"
msgstr ""
-#: .././config.py:23568
-msgid "_Mirrors"
-msgstr ""
-
-#: .././config.py:23575
+#: .././config.py:24068
msgid "Invidious mirror"
msgstr "Invidious-spiegelserver"
-#: .././config.py:23581
+#: .././config.py:24074
msgid "To find an updated list of Invidious mirrors, use any search engine!"
msgstr ""
"Gebruik je favoriete zoekmachine om een lijst met Invidious-spiegelservers "
"te vinden."
-#: .././config.py:23596
+#: .././config.py:24089
msgid "Use the default Invidious mirror"
msgstr ""
-#: .././config.py:23611
+#: .././config.py:24104
msgid "SponsorBlock API mirror"
msgstr ""
-#: .././config.py:23624
+#: .././config.py:24117
msgid "Use the default SponsorBlock URL"
msgstr ""
-#: .././config.py:23641
-msgid "_Proxies"
-msgstr "_Proxy's"
+#: .././config.py:24134
+msgid "P_roxies"
+msgstr ""
-#: .././config.py:23647
+#: .././config.py:24140
msgid "Proxies"
msgstr "Proxy's"
-#: .././config.py:23654
+#: .././config.py:24147
msgid ""
"During a download operation, Tartube will cycle betwween the proxies in this "
"list"
msgstr "Tijdens het downloaden schakelt Tartube tussen proxy's op deze lijst"
-#: .././config.py:23680
-msgid "P_references"
-msgstr "I_nstellingen"
+#: .././config.py:24173
+msgid "Pre_ferences"
+msgstr ""
-#: .././config.py:23687
+#: .././config.py:24180
msgid "URL flexibility preferences"
msgstr "URL-flexibiliteitsinstellingen"
-#: .././config.py:23694
+#: .././config.py:24187
msgid ""
"If a video's URL represents a channel/playlist, not a video, don't download "
"it"
msgstr "Video niet ophalen als url naar een kanaal/afspeellijst leidt"
-#: .././config.py:23703
+#: .././config.py:24196
msgid "...or, download multiple videos into the containing folder"
msgstr "...of meerdere video's downloaden naar bijbehorende map"
-#: .././config.py:23713
+#: .././config.py:24206
msgid "...or, create a new channel, and download the videos into that"
msgstr "...of nieuw kanaal toevoegen en video's daarnaartoe downloaden"
-#: .././config.py:23724
+#: .././config.py:24217
msgid "...or, create a new playlist, and download the videos into that"
msgstr "...of nieuwe afspeellijst toevoegen en video's daarnaartoe downloaden"
-#: .././config.py:23756
+#: .././config.py:24249
msgid "Missing video preferences"
msgstr "Instellingen omtrent ontbrekende video's"
-#: .././config.py:23762
+#: .././config.py:24255
msgid ""
"Add videos which have been removed from a channel/playlist to the Missing "
"Videos folder"
@@ -8191,90 +8348,90 @@ msgstr ""
"Van kanaal/afspeellijst verwijderde video's toevoegen aan map 'Ontbrekende "
"video's'"
-#: .././config.py:23773
+#: .././config.py:24266
msgid "Only add videos that were uploaded within this many days"
msgstr ""
"Alleen video's toevoegen die zijn geüpload binnen het opgegeven aantal dagen"
-#: .././config.py:23847
+#: .././config.py:24340
msgid "_Forks"
msgstr "A_fsplitsingen"
-#: .././config.py:23853
+#: .././config.py:24346
msgid "Forks of youtube-dl"
msgstr "Afsplitsingen van youtube-dl"
-#: .././config.py:23882
+#: .././config.py:24375
msgid "Use yt-dlp"
msgstr ""
-#: .././config.py:23888
+#: .././config.py:24381
msgid "Install without dependencies"
msgstr ""
-#: .././config.py:23889
+#: .././config.py:24382
msgid "(recommended on MS Windows)"
msgstr ""
-#: .././config.py:23920
+#: .././config.py:24413
msgid "Use youtube-dl"
msgstr "youtube-dl gebruiken"
-#: .././config.py:23941
+#: .././config.py:24434
msgid "Other forks"
msgstr ""
-#: .././config.py:23949
+#: .././config.py:24442
msgid "Use this fork:"
msgstr ""
-#: .././config.py:24029
+#: .././config.py:24522
msgid "When using other downloaders, filter out yt-dlp download options"
msgstr ""
-#: .././config.py:24051
-msgid "_File paths"
-msgstr "_Bestandspaden"
+#: .././config.py:24544
+msgid "File _paths"
+msgstr ""
-#: .././config.py:24058
+#: .././config.py:24551
msgid "Downloader file paths"
msgstr "Bestandspaden van downloader"
-#: .././config.py:24064
+#: .././config.py:24557
msgid "Path to the executable"
msgstr "Pad naar uitvoerbaar bestand"
#. (Signal connect appears below)
-#: .././config.py:24070 .././config.py:24240 .././config.py:24281
-#: .././config.py:24355 .././config.py:32023
+#: .././config.py:24563 .././config.py:24733 .././config.py:24774
+#: .././config.py:32696
msgid "Use default path"
msgstr "Standaardpad gebruiken"
-#: .././config.py:24080 .././config.py:32037
+#: .././config.py:24573 .././config.py:32710
msgid "Use local path"
msgstr "Lokaal pad gebruiken"
-#: .././config.py:24087
+#: .././config.py:24580
msgid "Use custom path"
msgstr ""
-#: .././config.py:24096 .././config.py:32049
+#: .././config.py:24589 .././config.py:32722
msgid "Use PyPI path"
msgstr "PyPI-pad gebruiken"
-#: .././config.py:24156
+#: .././config.py:24649
msgid "Command for update operations"
msgstr "Opdracht voor bijwerkacties"
-#: .././config.py:24209
-msgid "_FFmpeg / AVConv"
-msgstr "_FFmpeg/AVConv"
+#: .././config.py:24702
+msgid "FF_mpeg / AVConv"
+msgstr ""
-#: .././config.py:24216
+#: .././config.py:24709
msgid "Post-processor file paths"
msgstr ""
-#: .././config.py:24221
+#: .././config.py:24714
msgid ""
"You only need to set these paths if Tartube cannot find FFmpeg / AVConv "
"automatically"
@@ -8282,334 +8439,322 @@ msgstr ""
"Je hoeft deze paden alleen in te stellen als Tartube FFmpeg of AVConv niet "
"automatisch heeft aangetroffen"
-#: .././config.py:24228
+#: .././config.py:24721
msgid "Path to the FFmpeg executable"
msgstr "Pad naar uitvoerbaar FFmpeg-bestand"
-#: .././config.py:24255
+#: .././config.py:24748 .././config.py:24852
msgid "Install from main menu"
msgstr "Installeren vanuit hoofdmenu"
-#: .././config.py:24269
+#: .././config.py:24762
msgid "Path to the AVConv executable"
msgstr "Pad naar uitvoerbaar AVConv-bestand"
-#: .././config.py:24296
+#: .././config.py:24789
msgid "Not supported on MS Windows"
msgstr "Wordt niet ondersteund op Windows"
-#: .././config.py:24324
-msgid "_Stream Capture"
-msgstr "_Streamopname"
-
-#: .././config.py:24331
-msgid "Youtube Stream Capture file path"
-msgstr "Bestandspad naar YouTube-streamopname"
+#: .././config.py:24817
+msgid "_streamlink"
+msgstr ""
-#: .././config.py:24336
-msgid ""
-"Tartube includes a copy of this script, but you can use a different copy, if "
-"you want"
+#: .././config.py:24824
+msgid "streamlink file path"
msgstr ""
-"Tartube levert een kopie van dit script mee, maar als je wilt kun je een "
-"andere kopie gebruiken"
-#: .././config.py:24343
-msgid "Path to the YT Stream Capture executable"
-msgstr "Pad naar uitvoerbaar bestand van YouTube-streamopname"
+#: .././config.py:24829
+msgid "Path to the streamlink executable"
+msgstr ""
-#: .././config.py:24406
+#: .././config.py:24901
msgid "_Download options"
msgstr "Download_opties"
-#: .././config.py:24413
+#: .././config.py:24908
msgid "List of download options"
msgstr ""
-#: .././config.py:24433
+#: .././config.py:24928
msgid "Videos tab"
msgstr ""
-#: .././config.py:24434
+#: .././config.py:24929
msgid "Dropzone"
msgstr ""
-#: .././config.py:24434
+#: .././config.py:24929
msgid "Applied to media"
msgstr "Toegepast op media"
-#: .././config.py:24640
+#: .././config.py:25135
msgid "_Preferences"
msgstr "_Instellingen"
-#: .././config.py:24647
+#: .././config.py:25142
msgid "Download options preferences"
msgstr "Downloadoptie-instellingen"
-#: .././config.py:24653
+#: .././config.py:25148
msgid ""
"When applying download options to something, clone the general download "
"options"
msgstr "Algemene downloadopties klonen bij toepassing van downloadopties"
-#: .././config.py:24664
+#: .././config.py:25159
msgid "After downloading a video, destroy its download options"
msgstr "Downloadopties vergeten na downloaden van video's"
-#: .././config.py:24686
+#: .././config.py:25181
msgid "_FFmpeg options"
msgstr "_FFmpeg-opties"
-#: .././config.py:24693
+#: .././config.py:25188
msgid "List of FFmpeg options managers"
msgstr "Lijst met FFmpeg-optiebeheerders"
-#: .././config.py:24713
+#: .././config.py:25208
msgid "Current"
msgstr "Huidige"
-#: .././config.py:24803
+#: .././config.py:25298
msgid "Use these options"
msgstr "Deze opties gebruiken"
#. Add this tab...
-#: .././config.py:24893
+#: .././config.py:25388
msgid "O_utput"
msgstr "_Uitvoer"
-#: .././config.py:24917
+#: .././config.py:25412
msgid "_Output tab"
msgstr "_Uitvoertabblad"
-#: .././config.py:24924
+#: .././config.py:25419
msgid "Output tab preferences"
msgstr "Instellingen omtrent uitvoertabblad"
-#: .././config.py:24929
+#: .././config.py:25424
msgid "Display downloader system commands in the Output tab"
msgstr "Systeemopdrachten van downloader tonen op tabblad 'Uitvoer'"
-#: .././config.py:24938
+#: .././config.py:25433
msgid "Display output from downloader's STDOUT in the Output tab"
msgstr "STDOUT-uitvoer van downloader tonen op tabblad 'Uitvoer'"
-#: .././config.py:24947 .././config.py:25114
+#: .././config.py:25442 .././config.py:25609
msgid "...but don't write each video's JSON data"
msgstr "...maar schrijf geen json-gegevens van elke video weg"
-#: .././config.py:24958 .././config.py:25125
+#: .././config.py:25453 .././config.py:25620
msgid "...but don't write each video's download progress"
msgstr "...maar schrijf geen downloadvoortgang van elke video weg"
-#: .././config.py:24977
+#: .././config.py:25472
msgid "Display output from downloader's STDERR in the Output tab"
msgstr "STDERR-uitvoer van downloader tonen op tabblad 'Uitvoer'"
-#: .././config.py:24986
+#: .././config.py:25481
msgid "Limit the size of Output tab pages to"
msgstr "Aantal pagina's op tabblad 'Uitvoer' beperken tot"
-#: .././config.py:25007
+#: .././config.py:25502
msgid "Empty pages in the Output tab at the start of every operation"
msgstr "Pagina's op tabblad 'Uitvoer' legen na elke actie"
-#: .././config.py:25017
+#: .././config.py:25512
msgid ""
"Show a summary of active threads (changes are applied when Tartube restarts)"
msgstr ""
"Samenvatting van actieve processen tonen (herstart om deze wijziging toe te "
"passen)"
-#: .././config.py:25029
+#: .././config.py:25524
msgid "During update/info operations, automatically switch to the Output tab"
msgstr ""
-#: .././config.py:25040
+#: .././config.py:25535
msgid "During a refresh operation, show all matching videos in the Output tab"
msgstr ""
"Alle overeenkomende video's tonen op tabblad 'Uitvoer' tijdens bijwerken"
-#: .././config.py:25051
+#: .././config.py:25546
msgid "...also show all non-matching videos"
msgstr "...en ook niet-overeenkomende video's tonen"
-#: .././config.py:25085
+#: .././config.py:25580
msgid "_Terminal window"
msgstr "_Terminalvenster"
-#: .././config.py:25091
+#: .././config.py:25586
msgid "Terminal window preferences"
msgstr "Terminalvensterinstellingen"
-#: .././config.py:25096
+#: .././config.py:25591
msgid "Write downloader system commands to the terminal window"
msgstr "Systeemopdrachten van downloader tonen in terminalvenster"
-#: .././config.py:25105
+#: .././config.py:25600
msgid "Write output from downloader's STDOUT to the terminal window"
msgstr "STDOUT-uitvoer van downloader tonen in terminalvenster"
-#: .././config.py:25147
+#: .././config.py:25642
msgid "Write output from downloader's STDERR to the terminal window"
msgstr "STDERR-uitvoer van downloader tonen in terminalvenster"
-#: .././config.py:25171
+#: .././config.py:25666
msgid "_Both"
msgstr "_Beide"
-#: .././config.py:25177
+#: .././config.py:25672
msgid ""
"Special preferences (applies to both the Output tab and the terminal window)"
msgstr ""
"Speciale instellingen (van toepassing op het tabblad 'Uitvoer' en het "
"terminalvenster)"
-#: .././config.py:25184
+#: .././config.py:25679
msgid "Downloader writes verbose output (youtube-dl debugging mode)"
msgstr "Uitgebreide uitvoer van downloader (youtube-dl-foutopsporingsmodus)"
-#: .././config.py:25193
-msgid "Youtube Stream Capture writes verbose output"
-msgstr "Uitgebreide uitvoer van streamopname"
-
#. Confirm the result
-#: .././config.py:26010 .././config.py:27956 .././config.py:28013
-#: .././config.py:28701 .././config.py:29938 .././config.py:29983
+#: .././config.py:26632 .././config.py:28586 .././config.py:28643
+#: .././config.py:29440 .././config.py:30677 .././config.py:30722
#: .././refresh.py:482 .././refresh.py:590
msgid "Total videos:"
msgstr "Totaal aantal video's:"
-#: .././config.py:26011 .././config.py:27958 .././config.py:28015
-#: .././config.py:28702 .././config.py:29939 .././config.py:29984
+#: .././config.py:26633 .././config.py:28588 .././config.py:28645
+#: .././config.py:29441 .././config.py:30678 .././config.py:30723
msgid "Videos updated:"
msgstr ""
-#: .././config.py:26248
+#: .././config.py:26845
msgid "Are you sure you want to rename this channel?"
msgstr ""
-#: .././config.py:26250
+#: .././config.py:26847
msgid "Are you sure you want to rename this playlist?"
msgstr ""
-#: .././config.py:26252
+#: .././config.py:26849
msgid "Are you sure you want to rename this folder?"
msgstr ""
-#: .././config.py:26292
+#: .././config.py:26889
msgid "That is not a valid URL"
msgstr ""
-#: .././config.py:26313
+#: .././config.py:26910
msgid "Are you sure you want to update the URL?"
msgstr ""
-#: .././config.py:26360
+#: .././config.py:26957
msgid "The regex is invalid"
msgstr ""
-#: .././config.py:26408
+#: .././config.py:27005
msgid "Are you sure you want to update these URLs?"
msgstr ""
-#: .././config.py:26628
+#: .././config.py:27225
msgid "The default custom download manager cannot be deleted"
msgstr ""
-#: .././config.py:26636
+#: .././config.py:27233
msgid "Are you sure you want to delete this custom download manager?"
msgstr ""
-#: .././config.py:26907
+#: .././config.py:27504
msgid "Are you sure you want to create a new database at this location?"
msgstr ""
"Weet je zeker dat je een nieuwe databank wilt aanmaken op deze locatie?"
-#: .././config.py:27014
+#: .././config.py:27611
msgid "Are you sure you want to forget this database?"
msgstr "Weet je zeker dat je deze databank wilt wissen?"
-#: .././config.py:27049
+#: .././config.py:27646
msgid "Are you sure you want to forget all databases except the current one?"
msgstr "Weet je zeker dat je alle databanken, behalve de huidige, wilt wissen?"
-#: .././config.py:27252
+#: .././config.py:27849
msgid "No database exists at this location:"
msgstr "Er is geen databank op deze locatie:"
-#: .././config.py:27254
+#: .././config.py:27851
msgid "Do you want to create a new one?"
msgstr "Wil je een nieuwe aanmaken?"
-#: .././config.py:27679
+#: .././config.py:28309
msgid "Select a Tartube database file"
msgstr ""
-#: .././config.py:27701
+#: .././config.py:28331
msgid "This file is not loadable (might be corrupted)"
msgstr ""
-#: .././config.py:27712
+#: .././config.py:28342
msgid "This file does is not compatible with Tartube"
msgstr ""
-#: .././config.py:27722
+#: .././config.py:28352
msgid "This file was loaded, but is empty"
msgstr ""
-#: .././config.py:28184
+#: .././config.py:28814
msgid "The current options manager cannot be deleted"
msgstr "De huidige optiebeheerder kan niet worden verwijderd"
-#: .././config.py:28192 .././config.py:29294
+#: .././config.py:28822 .././config.py:30033
msgid "Are you sure you want to delete this options manager?"
msgstr "Weet je zeker dat je deze optiebeheerder wilt verwijderen?"
-#: .././config.py:28366 .././config.py:28757 .././config.py:30763
+#: .././config.py:28996 .././config.py:29496 .././config.py:31502
msgid "The new setting will be applied when Tartube restarts"
msgstr "Herstart Tartube om de instellingen toe te passen"
-#: .././config.py:29286
+#: .././config.py:30025
msgid "The default options manager cannot be deleted"
msgstr "De standaard optiebeheerder kan niet worden verwijderd"
-#: .././config.py:30351
+#: .././config.py:31090
msgid "There is already a scheduled download with that name"
msgstr "Er is al een ingeplande download met die naam"
-#: .././config.py:30398
+#: .././config.py:31137
msgid "Are you sure you want to delete this scheduled download?"
msgstr "Weet je zeker dat je deze ingeplande download wilt verwijderen?"
-#: .././config.py:30583
+#: .././config.py:31322
msgid "Select the location of the archive file"
msgstr ""
-#: .././config.py:30616
+#: .././config.py:31355
msgid "Please select the AVConv executable"
msgstr "Kies het uitvoerbare AVConv-bestand"
-#: .././config.py:30649
+#: .././config.py:31388
msgid "Please select the FFmpeg executable"
msgstr "Kies het uitvoerbare FFmpeg-bestand"
-#: .././config.py:30682
-msgid "Please select the Youtube Stream Capture executable"
-msgstr "Kies het uitvoerbare YouTube-streamopnamebestand"
+#: .././config.py:31421
+msgid "Please select the streamlink executable"
+msgstr ""
-#: .././config.py:31702
+#: .././config.py:32462
msgid "Select the youtube-dl-compatible executable"
msgstr ""
-#: .././config.py:31946
+#: .././config.py:32618
msgid "Database file not loaded"
msgstr "Geen databank geladen"
-#: .././config.py:31966
+#: .././config.py:32638
msgid "Did not try to load the database file"
msgstr "Niet geprobeerd om de databank te laden"
-#: .././config.py:31991
+#: .././config.py:32663
msgid "Database file loaded"
msgstr "Databank geladen"
@@ -8641,9 +8786,9 @@ msgstr ""
msgid "All threads finished"
msgstr "Alle processen zijn afgerond"
-#: .././downloads.py:454 .././downloads.py:1287 .././downloads.py:1298
-#: .././downloads.py:1370 .././downloads.py:1455 .././downloads.py:1493
-#: .././downloads.py:1562
+#: .././downloads.py:454 .././downloads.py:1284 .././downloads.py:1295
+#: .././downloads.py:1367 .././downloads.py:1452 .././downloads.py:1490
+#: .././downloads.py:1578 .././downloads.py:1638
msgid "Thread #"
msgstr "Proces #"
@@ -8663,451 +8808,384 @@ msgstr "Bezig met stoppen van alle werkers"
msgid "Join and collect threads"
msgstr "Processen verzamelen en samenvoegen"
-#: .././downloads.py:1288
+#: .././downloads.py:1285
msgid "Job complete"
msgstr "Taak afgerond"
-#: .././downloads.py:1299
+#: .././downloads.py:1296
msgid "Worker now available again"
msgstr "De werker is weer beschikbaar"
-#: .././downloads.py:1371 .././downloads.py:1494 .././downloads.py:1563
+#: .././downloads.py:1368 .././downloads.py:1491 .././downloads.py:1579
+#: .././downloads.py:1639
msgid "Assigned job:"
msgstr "Toegewezen taak:"
-#: .././downloads.py:1408 .././downloads.py:1412
+#: .././downloads.py:1405 .././downloads.py:1409
msgid "Tartube is restarting a stalled download"
msgstr "Bezig met herstarten van een onderbroken download..."
-#: .././downloads.py:1456
+#: .././downloads.py:1453
msgid "Checking RSS feed"
msgstr "Bezig met controleren van rss-feed"
-#: .././downloads.py:2083
+#: .././downloads.py:2162
msgid "Cannot download videos in a private folder"
msgstr "Video's kunnen niet worden gedownload naar privémappen"
-#: .././downloads.py:3361 .././downloads.py:8108
+#: .././downloads.py:3449 .././downloads.py:8393
msgid "Download did not start"
msgstr "Downloaden is niet begonnen"
-#: .././downloads.py:3367 .././downloads.py:8120 .././info.py:310
-#: .././updates.py:256 .././updates.py:368 .././updates.py:538
+#: .././downloads.py:3455 .././downloads.py:8399 .././info.py:310
+#: .././updates.py:261 .././updates.py:373 .././updates.py:486
+#: .././updates.py:656
msgid "Child process exited with non-zero code: {}"
msgstr "Onderliggend proces is gestopt met niet-nulcode: {}"
-#: .././downloads.py:3495 .././downloads.py:4751
+#: .././downloads.py:3583 .././downloads.py:4819
msgid ""
"This video has a URL that points to a channel or a playlist, not a video"
msgstr ""
"Deze video bevat een url die leidt naar een kanaal of afspeellijst in plaats "
"van een video"
-#: .././downloads.py:4617 .././downloads.py:4633
+#: .././downloads.py:4685 .././downloads.py:4701
msgid "Simulated download of:"
msgstr "Gesimuleerde download van:"
-#: .././downloads.py:4641
+#: .././downloads.py:4709
msgid "Simulated download of video with unprintable characters"
msgstr "Gesimuleerde videodownload met onleesbare tekens"
-#: .././downloads.py:6436
+#: .././downloads.py:6566
msgid "No timestamps defined in video's timestamp list"
msgstr ""
-#: .././downloads.py:6454
+#: .././downloads.py:6584
msgid ""
"FAILED: Can't create the destination folder either because a folder with the "
"same name already exists, or because new folders can't be added to the "
"parent folder"
msgstr ""
-#: .././downloads.py:6592 .././downloads.py:6854
+#: .././downloads.py:6722 .././downloads.py:6984
msgid "FAILED: Clip download did not start"
msgstr ""
-#: .././downloads.py:6600 .././downloads.py:6862
+#: .././downloads.py:6730 .././downloads.py:6992
msgid "FAILED: Child process exited with non-zero code: {}"
msgstr ""
-#: .././downloads.py:6707
+#: .././downloads.py:6837
msgid "No slices defined in video's slice list"
msgstr ""
-#: .././downloads.py:6886
+#: .././downloads.py:7016
msgid "FAILED: One or more clips were not downloaded"
msgstr ""
-#: .././downloads.py:6983
+#: .././downloads.py:7113
msgid "FAILED: Can't concatenate clips"
msgstr ""
-#: .././downloads.py:7004
+#: .././downloads.py:7134
msgid ""
"FAILED: Clips were concatenated, but could not move the output file out of "
"the temporary directory"
msgstr ""
-#: .././downloads.py:7124
+#: .././downloads.py:7254
msgid "Failed to copy the original video's thumbnail"
msgstr ""
-#: .././downloads.py:7297
+#: .././downloads.py:7427
msgid "FAILED: Can't create a temporary folder for video clips"
msgstr ""
-#. This object creates more messages for the Output tab and/or terminal,
-#. than downloads.VideoDownloader would do, as the output generated by
-#. Youtube Stream Capture is not easy for the user to interpret
-#: .././downloads.py:7999
-msgid "Tartube is starting the stream capture..."
-msgstr "Bezig met starten van streamopname..."
-
-#: .././downloads.py:8017
-msgid "Could not create a destination directory, capture halted"
-msgstr "De bestemming kan niet worden aangemaakt - de opname is onderbroken"
-
-#: .././downloads.py:8038 .././downloads.py:8063
-msgid "Youtube Stream Capture script not found:"
-msgstr "Geen YouTube-streamopnamesscript aangetroffen:"
-
-#: .././downloads.py:8112
-msgid "Failed to capture the livestream"
-msgstr "De livestream kan niet worden opgenomen"
+#. There are currently three download methods, specified by self.dl_mode
+#: .././downloads.py:8152
+msgid "Tartube is starting the livestream download"
+msgstr ""
-#: .././downloads.py:8116
-msgid "Stream capture terminated"
-msgstr "Streamopname afgebroken"
+#: .././downloads.py:8176
+msgid "Invalid livestream download mode"
+msgstr ""
-#: .././downloads.py:8126
+#: .././downloads.py:8225
msgid ""
-"Stream captured terminated without downloading any video segments "
-"(indicating an error with the stream)"
+"Incomplete livestream download detected; removing the .part component from "
+"the output file"
msgstr ""
-"De streamopname is afgebroken zonder enig videosegment te hebben gedownload "
-"(dit duidt op een fout met de stream)"
-
-#. Capture successful
-#: .././downloads.py:8142
-msgid "Stream capture successful"
-msgstr "De stream is opgenomen"
-
-#. Show a confirmation message
-#: .././downloads.py:8169
-msgid "Merging file segments..."
-msgstr "Bezig met samenvoegen..."
-
-#: .././downloads.py:8189
-msgid "Segment merge did not start"
-msgstr "Het samenvoegen is niet begonnen"
-#: .././downloads.py:8200
-msgid "Segment merge completed, but path not detected"
-msgstr "Het samenvoegen is voltooid, maar het pad is niet aangetroffen"
+#: .././downloads.py:8240
+msgid ""
+"Incomplete livestream download detected; to complete the download, right-"
+"click the video and select 'Finalise livestream'"
+msgstr ""
-#: .././downloads.py:8210
-msgid "Segment merge completed, but output file not found"
+#: .././downloads.py:8470 .././downloads.py:9007
+msgid "Failed to download the .m3u manifest"
msgstr ""
-"Het samenvoegen is voltooid, maar het uitvoerbestand is niet aangetroffen"
-#: .././downloads.py:8231
-msgid "File moved to:"
-msgstr "Het bestand is verplaatst naar:"
+#: .././downloads.py:8900
+msgid "Downloaded the .m3u manifest, now downloading the livestream..."
+msgstr ""
-#: .././downloads.py:8236
-msgid "Livestream download is complete"
-msgstr "De livestream is gedownload"
+#. ISO 639-1 Language Codes (with one extra key-value pair to handle live
+#. chat)
+#. English is top of the list, because it's the default setting in
+#. options.OptionsManager
+#. NB These values must not contain square brackets [...]
+#: .././formats.py:79
+msgid "English"
+msgstr ""
-#: .././downloads.py:8241
-msgid "Failed to move output file"
-msgstr "Het uitvoerbestand kan niet worden verplaatst"
+#: .././formats.py:121
+msgid "Dutch"
+msgstr "Nederlands"
-#: .././downloads.py:8307
-#, python-brace-format
-msgid "Stream capture is frozen, trying again (restart #{0})"
+#: .././formats.py:171
+msgid "Korean"
msgstr ""
-"De streamopname is vastgelopen - er wordt opnieuw begonnen (#{0} herstarten)"
-
-#: .././downloads.py:8314
-msgid "Stream capture is frozen, giving up"
-msgstr "De streamopname is vastgelopen - de opname wordt afgebroken"
-#: .././formats.py:72
+#: .././formats.py:441
msgid "seconds"
msgstr "seconden"
-#: .././formats.py:73
+#: .././formats.py:442
msgid "minutes"
msgstr "minuten"
-#: .././formats.py:74
+#: .././formats.py:443
msgid "hours"
msgstr "uur"
-#: .././formats.py:75
-msgid "days"
-msgstr "dagen"
-
-#: .././formats.py:76
+#: .././formats.py:445
msgid "weeks"
msgstr "weken"
-#: .././formats.py:77
+#: .././formats.py:446
msgid "years"
msgstr "jaar"
-#: .././formats.py:94
+#: .././formats.py:463
msgid "Every day"
msgstr ""
-#: .././formats.py:95
+#: .././formats.py:464
msgid "Weekdays"
msgstr ""
-#: .././formats.py:96
+#: .././formats.py:465
msgid "Weekends"
msgstr ""
-#: .././formats.py:97
+#: .././formats.py:466
msgid "Monday"
msgstr ""
-#: .././formats.py:98
+#: .././formats.py:467
msgid "Tuesday"
msgstr ""
-#: .././formats.py:99
+#: .././formats.py:468
msgid "Wednesday"
msgstr ""
-#: .././formats.py:100
+#: .././formats.py:469
msgid "Thursday"
msgstr ""
-#: .././formats.py:101
+#: .././formats.py:470
msgid "Friday"
msgstr ""
-#: .././formats.py:102
+#: .././formats.py:471
msgid "Saturday"
msgstr ""
-#: .././formats.py:103
+#: .././formats.py:472
msgid "Sunday"
msgstr ""
-#. ISO 639-1 Language Codes (with one extra key-value pair to handle live
-#. chat)
-#. English is top of the list, because it's the default setting in
-#. options.OptionsManager
-#. NB These values must not contain square brackets [...]
-#: .././formats.py:425
-msgid "English"
-msgstr ""
-
-#: .././formats.py:467
-msgid "Dutch"
-msgstr "Nederlands"
-
-#: .././formats.py:517
-msgid "Korean"
-msgstr ""
-
#. System folder names
-#: .././formats.py:934
+#: .././formats.py:1122
msgid "All Videos"
msgstr "Alle video's"
-#: .././formats.py:935
+#: .././formats.py:1123
msgid "Bookmarks"
msgstr "Bladwijzers"
-#: .././formats.py:936
+#: .././formats.py:1124
msgid "Favourite Videos"
msgstr "Favoriete video's"
-#: .././formats.py:937
+#: .././formats.py:1125
msgid "Livestreams"
msgstr "Livestreams"
-#: .././formats.py:938
+#: .././formats.py:1126
msgid "Missing Videos"
msgstr "Ontbrekende video's"
-#: .././formats.py:939
+#: .././formats.py:1127
msgid "New Videos"
msgstr "Nieuwe video's"
-#: .././formats.py:940
+#: .././formats.py:1128
msgid "Recent Videos"
msgstr "Recente video's"
-#: .././formats.py:941
+#: .././formats.py:1129
msgid "Waiting Videos"
msgstr "Video's in wachtrij"
-#: .././formats.py:942
+#: .././formats.py:1130
msgid "Temporary Videos"
msgstr "Tijdelijke video's"
-#: .././formats.py:943
+#: .././formats.py:1131
msgid "Unsorted Videos"
msgstr "Ongesorteerde video's"
-#: .././formats.py:944
+#: .././formats.py:1132
msgid "Video Clips"
msgstr ""
-#: .././formats.py:949
+#: .././formats.py:1137
msgid "Update using default youtube-dl path"
msgstr "Bijwerken middels standaard youtube-dl-pad"
-#: .././formats.py:951
+#: .././formats.py:1139
msgid "Update using local youtube-dl path"
msgstr "Bijwerken middels lokaal youtube-dl-pad"
-#: .././formats.py:953
+#: .././formats.py:1141
msgid "Update using custom youtube-dl path"
msgstr ""
-#: .././formats.py:955
+#: .././formats.py:1143
msgid "Update using pip"
msgstr "Bijwerken met pip"
-#: .././formats.py:957
+#: .././formats.py:1145
msgid "Update using pip (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:959
+#: .././formats.py:1147
msgid "Update using pip (omit --user option)"
msgstr "Bijwerken met pip (zonder --user)"
-#: .././formats.py:961
+#: .././formats.py:1149
msgid "Update using pip3"
msgstr "Bijwerken met pip3"
-#: .././formats.py:963
+#: .././formats.py:1151
msgid "Update using pip3 (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:965
+#: .././formats.py:1153
msgid "Update using pip3 (omit --user option)"
msgstr "Bijwerken met pip3 (zonder --user)"
-#: .././formats.py:967
+#: .././formats.py:1155
msgid "Update using pip3 (recommended)"
msgstr "Bijwerken met pip3 (aanbevolen)"
-#: .././formats.py:969
+#: .././formats.py:1157
msgid "Update using PyPI youtube-dl path"
msgstr "Bijwerken middels PyPI-youtube-dl-pad"
-#: .././formats.py:971
+#: .././formats.py:1159
msgid "Windows 32-bit update (recommended)"
msgstr "Windows 32-bit-update (aanbevolen)"
-#: .././formats.py:973
+#: .././formats.py:1161
msgid "Windows 32-bit update (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:975
+#: .././formats.py:1163
msgid "Windows 64-bit update (recommended)"
msgstr "Windows 64-bit-update (aanbevolen)"
-#: .././formats.py:977
+#: .././formats.py:1165
msgid "Windows 64-bit update (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:979
+#: .././formats.py:1167
msgid "youtube-dl updates are disabled"
msgstr "youtube-dl-updates zijn uitgeschakeld"
#. Download operation stages
-#: .././formats.py:983
+#: .././formats.py:1171
msgid "Queued"
msgstr "In wachtrij"
-#: .././formats.py:984
+#: .././formats.py:1172
msgid "Not started"
msgstr ""
-#: .././formats.py:985
+#: .././formats.py:1173
msgid "Active"
msgstr "Actief"
-#: .././formats.py:986
+#: .././formats.py:1174
msgid "Paused"
msgstr "Gepauzeerd"
#. (not actually used)
-#: .././formats.py:987
+#: .././formats.py:1175
msgid "Completed"
msgstr "Afgerond"
#. (not actually used)
#. Sub-stages of the 'Error' stage
-#: .././formats.py:988 .././formats.py:1003
+#: .././formats.py:1176 .././formats.py:1189
msgid "Error"
msgstr "Fout"
-#: .././formats.py:989
+#: .././formats.py:1177
msgid "Stalled"
msgstr "Onderbroken"
#. Sub-stages of the 'Active' stage
-#: .././formats.py:991
+#: .././formats.py:1179
msgid "Pre-processing"
msgstr "Aan het voorverwerken"
-#: .././formats.py:992
-msgid "Downloading"
-msgstr "Aan het downloaden"
-
-#: .././formats.py:993
+#: .././formats.py:1181
msgid "Concatenating"
msgstr ""
-#: .././formats.py:994
+#: .././formats.py:1182
msgid "Post-processing"
msgstr "Aan het naverwerken"
-#: .././formats.py:995
-msgid "Capturing"
-msgstr "Aan het opnemen"
-
-#. Used by YTSC
-#: .././formats.py:996
-msgid "Merging"
-msgstr "Aan het samenvoegen"
-
-#. Used by YTSC
-#: .././formats.py:997
-msgid "Checking"
-msgstr "Aan het controleren"
-
#. Sub-stages of the 'Completed' stage
-#: .././formats.py:999
+#: .././formats.py:1185
msgid "Finished"
msgstr "Afgerond"
-#: .././formats.py:1000
+#: .././formats.py:1186
msgid "Warning"
msgstr "Waarschuwing"
-#: .././formats.py:1001
+#: .././formats.py:1187
msgid "Already downloaded"
msgstr "Reeds gedownload"
#. (not actually used)
-#: .././formats.py:1004
+#: .././formats.py:1190
msgid "Stopped"
msgstr "Afgebroken"
-#: .././formats.py:1005
+#: .././formats.py:1191
msgid "Filesize abort"
msgstr "Bestandsgrootte na afbreken"
-#: .././formats.py:1015
+#: .././formats.py:1201
msgid ""
"TRANSLATOR'S NOTE: ID refers to a video's unique ID on the website, e.g. on "
"YouTube \"CS9OO0S5w2k\""
@@ -9115,23 +9193,23 @@ msgstr ""
"TRANSLATOR'S NOTE: ID refers to a video's unique ID on the website, e.g. on "
"YouTube \"CS9OO0S5w2k\""
-#: .././formats.py:1024
+#: .././formats.py:1210
msgid "ID"
msgstr "ID"
-#: .././formats.py:1025
+#: .././formats.py:1211
msgid "Title"
msgstr "Titel"
-#: .././formats.py:1026
+#: .././formats.py:1212
msgid "Quality"
msgstr "Kwaliteit"
-#: .././formats.py:1027
+#: .././formats.py:1213
msgid "Autonumber"
msgstr "Automatisch nummeren"
-#: .././formats.py:1039
+#: .././formats.py:1225
msgid "Any format"
msgstr "Ieder formaat"
@@ -9189,7 +9267,7 @@ msgstr "Bezig met controleren op ontwikkelingsuitgave..."
#. (The code in self.run() will spot that the child process did not
#. start)
-#: .././info.py:493 .././updates.py:194
+#: .././info.py:493 .././updates.py:199
msgid "Child process did not start"
msgstr "Het onderliggende proces is niet gestart"
@@ -9215,7 +9293,7 @@ msgstr "TRANSLATOR'S NOTE: Source = video/channel/playlist URL"
#. When the download operation is launched from the Classic Mode
#. tab, there is less to display
-#: .././media.py:553 .././media.py:2126 .././media.py:2142
+#: .././media.py:553 .././media.py:2118 .././media.py:2134
msgid "Source:"
msgstr "Bron:"
@@ -9231,11 +9309,11 @@ msgstr "Downloadbestemming:"
msgid "unavailable"
msgstr ""
-#: .././media.py:591 .././media.py:2158
+#: .././media.py:591 .././media.py:2150
msgid "Errors\\Warnings"
msgstr "Fouten/Waarschuwingen"
-#: .././media.py:2092
+#: .././media.py:2084
msgid ""
"TRANSLATOR'S NOTE: WAITING = livestream not started, LIVE = livestream "
"started"
@@ -9243,43 +9321,43 @@ msgstr ""
"TRANSLATOR'S NOTE: WAITING = livestream not started, LIVE = livestream "
"started"
-#: .././media.py:2097
+#: .././media.py:2089
msgid "WAITING"
msgstr "BEZIG MET WACHTEN"
-#: .././media.py:2099
+#: .././media.py:2091
msgid "LIVE"
msgstr "LIVE"
-#: .././media.py:2104
+#: .././media.py:2096
msgid "BLOCKED"
msgstr ""
-#: .././media.py:2114 .././refresh.py:258 .././refresh.py:528
+#: .././media.py:2106 .././refresh.py:258 .././refresh.py:528
msgid "Channel:"
msgstr "Kanaal:"
-#: .././media.py:2116 .././refresh.py:260 .././refresh.py:530
+#: .././media.py:2108 .././refresh.py:260 .././refresh.py:530
msgid "Playlist:"
msgstr "Afspeellijst:"
-#: .././media.py:2118 .././refresh.py:262 .././refresh.py:532
+#: .././media.py:2110 .././refresh.py:262 .././refresh.py:532
msgid "Folder:"
msgstr "Map:"
-#: .././media.py:2123
+#: .././media.py:2115
msgid "TRANSLATOR'S NOTE 2: Source = video/channel/playlist URL"
msgstr "TRANSLATOR'S NOTE 2: Source = video/channel/playlist URL"
-#: .././media.py:2132 .././media.py:2149
+#: .././media.py:2124 .././media.py:2141
msgid "File:"
msgstr "Bestand:"
-#: .././media.py:3313 .././media.py:3374
+#: .././media.py:3305 .././media.py:3366
msgid "Today"
msgstr "Vandaag"
-#: .././media.py:3315 .././media.py:3376
+#: .././media.py:3307 .././media.py:3368
msgid "Yesterday"
msgstr "Gisteren"
@@ -9510,35 +9588,270 @@ msgstr "Videobestand bestaat:"
msgid "Video file doesn't exist:"
msgstr "Videobestand bestaat niet:"
-#: .././updates.py:212
+#: .././updates.py:217
msgid "Starting update operation, installing FFmpeg"
msgstr "Bezig met starten van bijwerkactie om FFmpeg te installeren"
-#: .././updates.py:252
+#: .././updates.py:257
msgid "FFmpeg installation did not start"
msgstr "De FFmpeg-installatie kan niet worden gestart"
#. Show a confirmation in the the Output tab (or wizard window textview)
-#: .././updates.py:267 .././updates.py:379 .././updates.py:551
+#: .././updates.py:272 .././updates.py:384 .././updates.py:497
+#: .././updates.py:669
msgid "Update operation finished"
msgstr "Bijwerkactie voltooid"
-#: .././updates.py:324
+#: .././updates.py:329
msgid "Starting update operation, installing matplotlib"
msgstr ""
-#: .././updates.py:364
+#: .././updates.py:369
msgid "matplotlib installation did not start"
msgstr ""
-#: .././updates.py:438
+#: .././updates.py:442
+msgid "Starting update operation, installing streamlink"
+msgstr ""
+
+#: .././updates.py:482
+msgid "streamlink installation did not start"
+msgstr ""
+
+#: .././updates.py:556
msgid "Starting update operation, installing/updating "
msgstr "Bezig met starten van bijwerkactie om te installeren/bij te werken "
-#: .././updates.py:531
+#: .././updates.py:649
msgid "Update did not start"
msgstr "Het bijwerken is niet gestart"
+#~ msgid "You only have {0} / {1} Mb remaining on your device"
+#~ msgstr "Je hebt slechts {0}/{1} MB resterende schijfruimte"
+
+#~ msgid "_Close to tray"
+#~ msgstr "Minimaliseren naar s_ysteemvak"
+
+#~ msgid "Sh_ow hidden folders"
+#~ msgstr "Verborgen mappen t_onen"
+
+#~ msgid "_Add test media"
+#~ msgstr "Testmedi_a toevoegen"
+
+#~ msgid "_Run test code"
+#~ msgstr "Testcode uitvoe_ren"
+
+#~ msgid "_Install FFmpeg..."
+#~ msgstr "FFmpeg _installeren..."
+
+#~ msgid "Channel co_ntents"
+#~ msgstr "Kanaali_nhoud"
+
+#~ msgid "Playlist co_ntents"
+#~ msgstr "Afspeellijsti_nhoud"
+
+#~ msgid "Folder co_ntents"
+#~ msgstr "Mapi_nhoud"
+
+#~ msgid "Add to _Classic Mode tab"
+#~ msgstr "Toevoegen aan _klassieke modus"
+
+#~ msgid "Add to s_cheduled download..."
+#~ msgstr "Toevoegen aan in_geplande downloads..."
+
+#~ msgid "_Show system command..."
+#~ msgstr "_Systeemopdracht tonen..."
+
+#~ msgid "Show system _command"
+#~ msgstr "Systeemopdra_cht tonen"
+
+#~ msgid "_Show video"
+#~ msgstr "Video _tonen"
+
+#~ msgid "Watch on _YouTube"
+#~ msgstr "Bekijken op _YouTube"
+
+#~ msgid "Watch on _Website"
+#~ msgstr "Bekijken op _website"
+
+#~ msgid "_Edit download options"
+#~ msgstr "Downloadopties aanpass_en"
+
+#~ msgid "Mark as not in wai_ting list"
+#~ msgstr "Verwijderen uit wachtl_ijst"
+
+#~ msgid "_Download and watch"
+#~ msgstr "_Downloaden en bekijken"
+
+#~ msgid "Autonumber videos, starting at 0"
+#~ msgstr "Video's automatisch nummeren, beginnend bij 0"
+
+#~ msgid "S_ubtitles"
+#~ msgstr "Ondert_iteling"
+
+#~ msgid "Download all available subtitles files"
+#~ msgstr "Alle beschikbare ondertitelbestanden downloaden"
+
+#~ msgid "Download subtitles file for these languages:"
+#~ msgstr "Ondertitelbestanden downloaden van de volgende talen:"
+
+#~ msgid "RSS feed"
+#~ msgstr "RSS-feed"
+
+#~ msgid "(The feed is used to detect livestreams on compatible websites)"
+#~ msgstr ""
+#~ "(de feed wordt gebruikt om livestreams van compatibele sites te "
+#~ "achterhalen)"
+
+#~ msgid "Size of device (in Mb)"
+#~ msgstr "Totale ruimte op apparaat (in mb)"
+
+#~ msgid "Free space on device (in Mb)"
+#~ msgstr "Vrije ruimte op apparaat (in mb)"
+
+#~ msgid "Warn user if disk space is less than"
+#~ msgstr "Waarschuwen als schijfruimte minder is dan"
+
+#~ msgid "Automatic video deletion preferences"
+#~ msgstr "Instellingen omtrent automatische videoverwijdering"
+
+#~ msgid "Automatically delete downloaded videos after this many days"
+#~ msgstr "Gedownloade video's automatisch verwijderen na x aantal dagen"
+
+#~ msgid "...but only delete videos which have been watched"
+#~ msgstr "...maar alleen bekeken video's"
+
+#~ msgid ""
+#~ "In the Errors/Warnings tab, don't reset the tab text when it is clicked"
+#~ msgstr ""
+#~ "Herstel de tabbladtekst niet na aanklikken op het tabblad 'Fouten/"
+#~ "Waarschuwingen'"
+
+#~ msgid ""
+#~ "Stop checking/downloading a channel/playlist when it starts sending "
+#~ "videos you already have"
+#~ msgstr ""
+#~ "Kanalen/Afspeellijsten niet meer controleren na toevoegen van reeds "
+#~ "aanwezige video's"
+
+#~ msgid "When checking videos, apply a 60-second timeout"
+#~ msgstr "Time-out van 60 seconden hanteren bij controles"
+
+#~ msgid "Broadcast preferences (compatible websites only)"
+#~ msgstr "Uitzendinstellingen (alleen compatibele websites)"
+
+#~ msgid ""
+#~ "Use Youtube Stream Capture to download broadcasting livestreams (requires "
+#~ "aria2)"
+#~ msgstr ""
+#~ "YouTube-streamopname gebruiken om livestreams te downloaden (vereist "
+#~ "aria2)"
+
+#~ msgid "Number of restarts after a timeout"
+#~ msgstr "Aantal herstartingen na time-out"
+
+#~ msgid ""
+#~ "Bypass usual limits on simultaneous downloads, so that all broadcasts can "
+#~ "be downloaded"
+#~ msgstr ""
+#~ "Gebruikelijke beperkingen omzeilen tijdens gelijktijdige downloads om "
+#~ "alle livestreams te downloaden"
+
+#~ msgid "_Proxies"
+#~ msgstr "_Proxy's"
+
+#~ msgid "P_references"
+#~ msgstr "I_nstellingen"
+
+#~ msgid "_File paths"
+#~ msgstr "_Bestandspaden"
+
+#~ msgid "_FFmpeg / AVConv"
+#~ msgstr "_FFmpeg/AVConv"
+
+#~ msgid "_Stream Capture"
+#~ msgstr "_Streamopname"
+
+#~ msgid "Youtube Stream Capture file path"
+#~ msgstr "Bestandspad naar YouTube-streamopname"
+
+#~ msgid ""
+#~ "Tartube includes a copy of this script, but you can use a different copy, "
+#~ "if you want"
+#~ msgstr ""
+#~ "Tartube levert een kopie van dit script mee, maar als je wilt kun je een "
+#~ "andere kopie gebruiken"
+
+#~ msgid "Path to the YT Stream Capture executable"
+#~ msgstr "Pad naar uitvoerbaar bestand van YouTube-streamopname"
+
+#~ msgid "Youtube Stream Capture writes verbose output"
+#~ msgstr "Uitgebreide uitvoer van streamopname"
+
+#~ msgid "Please select the Youtube Stream Capture executable"
+#~ msgstr "Kies het uitvoerbare YouTube-streamopnamebestand"
+
+#~ msgid "Tartube is starting the stream capture..."
+#~ msgstr "Bezig met starten van streamopname..."
+
+#~ msgid "Could not create a destination directory, capture halted"
+#~ msgstr "De bestemming kan niet worden aangemaakt - de opname is onderbroken"
+
+#~ msgid "Youtube Stream Capture script not found:"
+#~ msgstr "Geen YouTube-streamopnamesscript aangetroffen:"
+
+#~ msgid "Failed to capture the livestream"
+#~ msgstr "De livestream kan niet worden opgenomen"
+
+#~ msgid "Stream capture terminated"
+#~ msgstr "Streamopname afgebroken"
+
+#~ msgid ""
+#~ "Stream captured terminated without downloading any video segments "
+#~ "(indicating an error with the stream)"
+#~ msgstr ""
+#~ "De streamopname is afgebroken zonder enig videosegment te hebben "
+#~ "gedownload (dit duidt op een fout met de stream)"
+
+#~ msgid "Stream capture successful"
+#~ msgstr "De stream is opgenomen"
+
+#~ msgid "Merging file segments..."
+#~ msgstr "Bezig met samenvoegen..."
+
+#~ msgid "Segment merge did not start"
+#~ msgstr "Het samenvoegen is niet begonnen"
+
+#~ msgid "Segment merge completed, but path not detected"
+#~ msgstr "Het samenvoegen is voltooid, maar het pad is niet aangetroffen"
+
+#~ msgid "Segment merge completed, but output file not found"
+#~ msgstr ""
+#~ "Het samenvoegen is voltooid, maar het uitvoerbestand is niet aangetroffen"
+
+#~ msgid "File moved to:"
+#~ msgstr "Het bestand is verplaatst naar:"
+
+#~ msgid "Livestream download is complete"
+#~ msgstr "De livestream is gedownload"
+
+#~ msgid "Failed to move output file"
+#~ msgstr "Het uitvoerbestand kan niet worden verplaatst"
+
+#~ msgid "Stream capture is frozen, trying again (restart #{0})"
+#~ msgstr ""
+#~ "De streamopname is vastgelopen - er wordt opnieuw begonnen (#{0} "
+#~ "herstarten)"
+
+#~ msgid "Stream capture is frozen, giving up"
+#~ msgstr "De streamopname is vastgelopen - de opname wordt afgebroken"
+
+#~ msgid "Capturing"
+#~ msgstr "Aan het opnemen"
+
+#~ msgid "Merging"
+#~ msgstr "Aan het samenvoegen"
+
#~ msgid "Show server errors"
#~ msgstr "Serverfouten tonen"
diff --git a/nsis/tartube_install_64bit.nsi b/nsis/tartube_install_64bit.nsi
index 7a45427d..ab912301 100644
--- a/nsis/tartube_install_64bit.nsi
+++ b/nsis/tartube_install_64bit.nsi
@@ -1,4 +1,4 @@
-# Tartube v2.3.613 installer script for MS Windows
+# Tartube v2.4.0 installer script for MS Windows
#
# Copyright (C) 2019-2022 A S Lewis
#
@@ -293,7 +293,7 @@
;Name and file
Name "Tartube"
- OutFile "install-tartube-2.3.613-64bit.exe"
+ OutFile "install-tartube-2.4.0-64bit.exe"
;Default installation folder
InstallDir "$LOCALAPPDATA\Tartube"
@@ -396,7 +396,7 @@ Section "Tartube" SecClient
# "Publisher" "A S Lewis"
# WriteRegStr HKLM \
# "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tartube" \
-# "DisplayVersion" "2.3.613"
+# "DisplayVersion" "2.4.0"
# Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
diff --git a/pack/bin/no_download/tartube b/pack/bin/no_download/tartube
index 0efb8293..ba2c952a 100644
--- a/pack/bin/no_download/tartube
+++ b/pack/bin/no_download/tartube
@@ -42,8 +42,8 @@ import mainapp
# 'Global' variables
__packagename__ = 'tartube'
-__version__ = '2.3.613'
-__date__ = '20 Apr 2022'
+__version__ = '2.4.0'
+__date__ = '21 Apr 2022'
__copyright__ = 'Copyright \xa9 2019-2022 A S Lewis'
__license__ = """
Copyright \xa9 2019-2022 A S Lewis.
diff --git a/pack/bin/pkg/tartube b/pack/bin/pkg/tartube
index 4875a402..a0fd5190 100644
--- a/pack/bin/pkg/tartube
+++ b/pack/bin/pkg/tartube
@@ -42,8 +42,8 @@ import mainapp
# 'Global' variables
__packagename__ = 'tartube'
-__version__ = '2.3.613'
-__date__ = '20 Apr 2022'
+__version__ = '2.4.0'
+__date__ = '21 Apr 2022'
__copyright__ = 'Copyright \xa9 2019-2022 A S Lewis'
__license__ = """
Copyright \xa9 2019-2022 A S Lewis.
diff --git a/pack/bin/strict/tartube b/pack/bin/strict/tartube
index 77460ddc..7792b706 100644
--- a/pack/bin/strict/tartube
+++ b/pack/bin/strict/tartube
@@ -42,8 +42,8 @@ import mainapp
# 'Global' variables
__packagename__ = 'tartube'
-__version__ = '2.3.613'
-__date__ = '20 Apr 2022'
+__version__ = '2.4.0'
+__date__ = '21 Apr 2022'
__copyright__ = 'Copyright \xa9 2019-2022 A S Lewis'
__license__ = """
Copyright \xa9 2019-2022 A S Lewis.
diff --git a/pack/tartube.1 b/pack/tartube.1
index d9bba337..58b77d96 100644
--- a/pack/tartube.1
+++ b/pack/tartube.1
@@ -1,4 +1,4 @@
-.TH man 1 "20 Apr 2022" "2.3.613" "tartube man page"
+.TH man 1 "21 Apr 2022" "2.4.0" "tartube man page"
.SH NAME
tartube \- GUI front-end for youtube-dl
.SH SYNOPSIS
diff --git a/pack/tartube.desktop b/pack/tartube.desktop
index 44f2df17..8ba47d30 100644
--- a/pack/tartube.desktop
+++ b/pack/tartube.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Name=Tartube
-Version=2.3.613
+Version=2.4.0
Exec=tartube
Icon=tartube
Type=Application
diff --git a/screenshots/example1.png b/screenshots/example1.png
index 77020504..046da1c3 100644
Binary files a/screenshots/example1.png and b/screenshots/example1.png differ
diff --git a/screenshots/example10.png b/screenshots/example10.png
index 53cca588..c6181bdc 100644
Binary files a/screenshots/example10.png and b/screenshots/example10.png differ
diff --git a/screenshots/example11.png b/screenshots/example11.png
index f2bda39c..e301f368 100644
Binary files a/screenshots/example11.png and b/screenshots/example11.png differ
diff --git a/screenshots/example13.png b/screenshots/example13.png
index e21b9aba..0b5faacf 100644
Binary files a/screenshots/example13.png and b/screenshots/example13.png differ
diff --git a/screenshots/example14.png b/screenshots/example14.png
index 518a6c72..a4975803 100644
Binary files a/screenshots/example14.png and b/screenshots/example14.png differ
diff --git a/screenshots/example15.png b/screenshots/example15.png
index e4c5540d..ace2f90c 100644
Binary files a/screenshots/example15.png and b/screenshots/example15.png differ
diff --git a/screenshots/example16.png b/screenshots/example16.png
index cacf22ec..6680f83e 100644
Binary files a/screenshots/example16.png and b/screenshots/example16.png differ
diff --git a/screenshots/example17.png b/screenshots/example17.png
index b44b6374..e92cfab1 100644
Binary files a/screenshots/example17.png and b/screenshots/example17.png differ
diff --git a/screenshots/example18.png b/screenshots/example18.png
index ff9df143..13dcfef4 100644
Binary files a/screenshots/example18.png and b/screenshots/example18.png differ
diff --git a/screenshots/example19.png b/screenshots/example19.png
index 5f63c4fd..d124ba60 100644
Binary files a/screenshots/example19.png and b/screenshots/example19.png differ
diff --git a/screenshots/example20.png b/screenshots/example20.png
new file mode 100644
index 00000000..a7c9360c
Binary files /dev/null and b/screenshots/example20.png differ
diff --git a/screenshots/example21.png b/screenshots/example21.png
index a7c9360c..7f7cb0b3 100644
Binary files a/screenshots/example21.png and b/screenshots/example21.png differ
diff --git a/screenshots/example22.png b/screenshots/example22.png
index b5468aea..9925e45a 100644
Binary files a/screenshots/example22.png and b/screenshots/example22.png differ
diff --git a/screenshots/example23.png b/screenshots/example23.png
index e609feec..acf5e908 100644
Binary files a/screenshots/example23.png and b/screenshots/example23.png differ
diff --git a/screenshots/example24.png b/screenshots/example24.png
index 24734ae2..ca792fea 100644
Binary files a/screenshots/example24.png and b/screenshots/example24.png differ
diff --git a/screenshots/example25.png b/screenshots/example25.png
index 56191673..2e385bcc 100644
Binary files a/screenshots/example25.png and b/screenshots/example25.png differ
diff --git a/screenshots/example26.png b/screenshots/example26.png
index 2e385bcc..0fbd80fa 100644
Binary files a/screenshots/example26.png and b/screenshots/example26.png differ
diff --git a/screenshots/example27.png b/screenshots/example27.png
index 05ffe328..4971a8a2 100644
Binary files a/screenshots/example27.png and b/screenshots/example27.png differ
diff --git a/screenshots/example28.png b/screenshots/example28.png
index c3ee6fbb..dcf769ef 100644
Binary files a/screenshots/example28.png and b/screenshots/example28.png differ
diff --git a/screenshots/example29.png b/screenshots/example29.png
index dcf769ef..a223dd3f 100644
Binary files a/screenshots/example29.png and b/screenshots/example29.png differ
diff --git a/screenshots/example3.png b/screenshots/example3.png
index c5149877..98215a7f 100644
Binary files a/screenshots/example3.png and b/screenshots/example3.png differ
diff --git a/screenshots/example30.png b/screenshots/example30.png
index ea26088e..38237835 100644
Binary files a/screenshots/example30.png and b/screenshots/example30.png differ
diff --git a/screenshots/example31.png b/screenshots/example31.png
index 700e5f58..885b0bb4 100644
Binary files a/screenshots/example31.png and b/screenshots/example31.png differ
diff --git a/screenshots/example32.png b/screenshots/example32.png
index 1fd39b8e..8dd63be6 100644
Binary files a/screenshots/example32.png and b/screenshots/example32.png differ
diff --git a/screenshots/example33.png b/screenshots/example33.png
deleted file mode 100644
index 8dd63be6..00000000
Binary files a/screenshots/example33.png and /dev/null differ
diff --git a/screenshots/example4.png b/screenshots/example4.png
index f5853c91..159b8f0c 100644
Binary files a/screenshots/example4.png and b/screenshots/example4.png differ
diff --git a/screenshots/example5.png b/screenshots/example5.png
index 4844fcc6..275f4ec1 100644
Binary files a/screenshots/example5.png and b/screenshots/example5.png differ
diff --git a/screenshots/example6.png b/screenshots/example6.png
index 0934a793..a907e4d0 100644
Binary files a/screenshots/example6.png and b/screenshots/example6.png differ
diff --git a/screenshots/example7.png b/screenshots/example7.png
index d311cc6e..55c0ad24 100644
Binary files a/screenshots/example7.png and b/screenshots/example7.png differ
diff --git a/screenshots/example8.png b/screenshots/example8.png
index 777019db..b3b893d4 100644
Binary files a/screenshots/example8.png and b/screenshots/example8.png differ
diff --git a/screenshots/example9.png b/screenshots/example9.png
index 3cb31575..9dc9608d 100644
Binary files a/screenshots/example9.png and b/screenshots/example9.png differ
diff --git a/screenshots/screenshot.png b/screenshots/screenshot.png
new file mode 100644
index 00000000..0c7fd372
Binary files /dev/null and b/screenshots/screenshot.png differ
diff --git a/screenshots/screenshot2.png b/screenshots/screenshot2.png
new file mode 100644
index 00000000..aea78f1f
Binary files /dev/null and b/screenshots/screenshot2.png differ
diff --git a/screenshots/screenshot3.png b/screenshots/screenshot3.png
new file mode 100644
index 00000000..3a57982d
Binary files /dev/null and b/screenshots/screenshot3.png differ
diff --git a/screenshots/screenshot4.png b/screenshots/screenshot4.png
new file mode 100644
index 00000000..87257f83
Binary files /dev/null and b/screenshots/screenshot4.png differ
diff --git a/screenshots/tartube.png b/screenshots/tartube.png
deleted file mode 100644
index fd4644b9..00000000
Binary files a/screenshots/tartube.png and /dev/null differ
diff --git a/setup.py b/setup.py
index 17d76052..c71dc879 100644
--- a/setup.py
+++ b/setup.py
@@ -185,7 +185,7 @@
# Setup
setuptools.setup(
name='tartube',
- version='2.3.613',
+ version='2.4.0',
description='GUI front-end for youtube-dl',
long_description=long_description,
long_description_content_type='text/plain',
diff --git a/tartube/config.py b/tartube/config.py
index 36d2c9a4..9893a41e 100644
--- a/tartube/config.py
+++ b/tartube/config.py
@@ -3498,7 +3498,7 @@ def setup_mirrors_tab(self):
Sets up the 'Mirrors' tab.
"""
- tab, grid = self.add_notebook_tab(_('Mirrors'))
+ tab, grid = self.add_notebook_tab(_('_Mirrors'))
grid_width = 2
# Mirror settings
@@ -3576,7 +3576,7 @@ def setup_livestreams_tab(self):
Sets up the 'Livestreams' tab.
"""
- tab, grid = self.add_notebook_tab(_('Li_vestreams'))
+ tab, grid = self.add_notebook_tab(_('L_ivestreams'))
# Livestream settings
self.add_label(grid,
@@ -5242,7 +5242,9 @@ def setup_files_names_tab(self, inner_notebook):
'license', _('Video licence'),
'age_limit', _('Age restriction (years)'),
'is_live', _('Is a livestream'),
- 'autonumber', _('Autonumber videos, starting at 0'),
+ 'video_autonumber', _('Autonumber videos'),
+ 'playlist_autonumber',
+ _('Autonumber videos (playlists)'),
],
_('Creator/uploader'),
[
@@ -5748,12 +5750,28 @@ def setup_files_filesystem_tab(self, inner_notebook):
)
self.add_tooltip('--trim-filenames', label, spinbutton)
+ if os.name != 'nt':
+ msg = _(
+ 'WARNING: The filename length includes the length of the' \
+ + ' folder name!',
+ )
+ else:
+ msg = _(
+ 'WARNING: The filename length includes the length of the' \
+ + ' directory nam!e',
+ )
+
+ self.add_label(grid2,
+ '' + msg + '',
+ 0, 3, grid_width, 1,
+ )
+
if not self.app_obj.simple_options_flag:
checkbutton5 = self.add_checkbutton(grid2,
_('Do not overwrite any files'),
'no_overwrites',
- 0, 3, grid_width, 1,
+ 0, 4, grid_width, 1,
)
self.add_tooltip('--no-overwrites', checkbutton5)
@@ -5763,14 +5781,14 @@ def setup_files_filesystem_tab(self, inner_notebook):
+ ' \'--no-continue\')',
),
'force_overwrites',
- 0, 4, grid_width, 1,
+ 0, 5, grid_width, 1,
)
self.add_tooltip('--force-overwrites', checkbutton6)
checkbutton7 = self.add_checkbutton(grid2,
_('Write playlist metadata in addition to video metadata'),
'write_playlist_metafiles',
- 0, 5, grid_width, 1,
+ 0, 6, grid_width, 1,
)
self.add_tooltip('--write-playlist-metafiles', checkbutton7)
@@ -5780,7 +5798,7 @@ def setup_files_filesystem_tab(self, inner_notebook):
+ ' .info.json file',
),
'no_clean_info_json',
- 0, 6, grid_width, 1,
+ 0, 7, grid_width, 1,
)
self.add_tooltip('--no-clean-infojson', checkbutton8)
@@ -7130,7 +7148,7 @@ def setup_subtitles_tab(self):
"""
# Add this tab...
- tab, grid = self.add_notebook_tab(_('S_ubtitles'), 0)
+ tab, grid = self.add_notebook_tab(_('_Subtitles'), 0)
# ...and an inner notebook...
inner_notebook = self.add_inner_notebook(grid)
@@ -7186,7 +7204,7 @@ def setup_subtitles_options_tab(self, inner_notebook):
radiobutton3 = self.add_radiobutton(grid,
radiobutton2,
- _('Download all available subtitles files'),
+ _('Download all available subtitle files'),
None,
None,
0, 3, 2, 1,
@@ -7199,7 +7217,7 @@ def setup_subtitles_options_tab(self, inner_notebook):
radiobutton4 = self.add_radiobutton(grid,
radiobutton3,
- _('Download subtitles file for these languages:'),
+ _('Download subtitle file for these languages:'),
None,
None,
0, 4, 2, 1,
@@ -8865,21 +8883,35 @@ def on_file_tab_button_clicked(self, button, entry, combo, trans_dict):
model = combo.get_model()
label = trans_dict[model[tree_iter][0]]
- # (Code adapted from youtube-dl-gui's GeneralTab._on_template)
- if label == "ext":
- prefix = '.'
- else:
- prefix = '-'
+ # The new component should be inserted at the end of the filename, and
+ # before the file extension (if possible)
+
+ output_template = file_name = self.retrieve_val('output_template')
+ file_ext = ''
+ if label != 'ext' and output_template:
+
+ match = re.search('(.*)(\.\%\(ext\)s)\s*$', output_template)
+ if match:
+
+ file_name = match.groups()[0]
+ file_ext = match.groups()[1]
- # If the output template is empty or ends with a file path separator,
- # remove the prefix
- output_template = self.retrieve_val('output_template')
if not output_template or output_template[-1] == os.sep:
prefix = ''
+ elif label == 'ext':
+ prefix = '.'
+ else:
+ prefix = '-'
- formatted = '{0}%({1})s'.format(prefix, label)
+ if label == 'video_autonumber':
+ formatted = '{0}%({1})3d'.format(prefix, label)
+ else:
+ formatted = '{0}%({1})s'.format(prefix, label)
# (Setting the entry updates self.edit_dict)
- entry.set_text(output_template + formatted)
+ if label == 'ext':
+ entry.set_text(file_name + file_ext + formatted)
+ else:
+ entry.set_text(file_name + formatted + file_ext)
def on_file_tab_combo_changed(self, combo, entry):
@@ -16290,7 +16322,7 @@ def setup_assoc_playlist_tab(self):
Sets up the 'Associated Playlists' tab.
"""
- tab, grid = self.add_notebook_tab(_('_Associated Playlists'))
+ tab, grid = self.add_notebook_tab(_('Associated _Playlists'))
grid_width = 4
# Associated playlists
@@ -20256,7 +20288,7 @@ def setup_files_urls_tab(self, inner_notebook):
"""
tab, grid = self.add_inner_notebook_tab(
- _('_URLs'),
+ _('U_RLs'),
inner_notebook,
)
grid_width = 2
@@ -22390,8 +22422,8 @@ def setup_operations_stop_tab(self, inner_notebook):
checkbutton = self.add_checkbutton(grid,
_(
- 'Stop checking/downloading a channel/playlist when it starts' \
- + ' sending videos you already have',
+ 'Stop checking/downloading a channel/playlist when it finds' \
+ + ' videos you already have',
),
self.app_obj.operation_limit_flag,
True, # Can be toggled by user
@@ -23341,7 +23373,7 @@ def setup_operations_livestreams_tab(self, inner_notebook):
# (To avoid messing up the neat format of the rows above, add a
# secondary grid, and put the next set of widgets inside it)
- grid3 = self.add_secondary_grid(grid, 0, 9, grid_width, 1)
+ grid3 = self.add_secondary_grid(grid, 0, 8, grid_width, 1)
self.livestream_radiobutton4 = self.add_radiobutton(grid3,
None,
@@ -23391,13 +23423,28 @@ def setup_operations_livestreams_tab(self, inner_notebook):
),
self.app_obj.num_worker_bypass_flag,
True, # Can be toggled by user
- 0, 8, grid_width, 1,
+ 0, 9, grid_width, 1,
)
checkbutton3.connect(
'toggled',
self.on_worker_bypass_button_toggled,
)
+ self.add_label(grid,
+ _('Timeout after this many minutes of inactivity'),
+ 0, 10, 1, 1,
+ )
+
+ spinbutton3 = self.add_spinbutton(grid,
+ 1, None, 0.2,
+ self.app_obj.livestream_dl_timeout,
+ 1, 10, 1, 1,
+ )
+ spinbutton3.connect(
+ 'value-changed',
+ self.on_livestream_timeout_spinbutton_changed,
+ )
+
checkbutton4 = self.add_checkbutton(grid,
_(
'When the livestream download is stopped manually, mark the' \
@@ -23405,7 +23452,7 @@ def setup_operations_livestreams_tab(self, inner_notebook):
),
self.app_obj.livestream_stop_is_final_flag,
True, # Can be toggled by user
- 0, 10, grid_width, 1,
+ 0, 11, grid_width, 1,
)
checkbutton4.connect(
'toggled',
@@ -23419,7 +23466,7 @@ def setup_operations_livestreams_tab(self, inner_notebook):
),
self.app_obj.livestream_force_check_flag,
True, # Can be toggled by user
- 0, 11, grid_width, 1,
+ 0, 12, grid_width, 1,
)
checkbutton5.connect(
'toggled',
@@ -23430,7 +23477,7 @@ def setup_operations_livestreams_tab(self, inner_notebook):
' ' + _(
'N.B. This setting is ignored in the Classic Mode tab',
) + '',
- 0, 12, grid_width, 1,
+ 0, 13, grid_width, 1,
)
@@ -23638,7 +23685,7 @@ def setup_operations_clips_tab(self, inner_notebook):
"""
tab, grid = self.add_inner_notebook_tab(
- _('_Clips'),
+ _('Cli_ps'),
inner_notebook,
)
grid_width = 2
@@ -23841,7 +23888,7 @@ def setup_operations_slices_tab(self, inner_notebook):
"""
tab, grid = self.add_inner_notebook_tab(
- _('_Slices'),
+ _('Slic_es'),
inner_notebook,
)
grid_width = 1
@@ -23932,7 +23979,7 @@ def setup_operations_comments_tab(self, inner_notebook):
"""
tab, grid = self.add_inner_notebook_tab(
- _('_Comments'),
+ _('C_omments'),
inner_notebook,
)
grid_width = 1
@@ -24084,7 +24131,7 @@ def setup_operations_proxies_tab(self, inner_notebook):
"""
tab, grid = self.add_inner_notebook_tab(
- _('_Proxies'),
+ _('P_roxies'),
inner_notebook,
)
@@ -24123,7 +24170,7 @@ def setup_operations_prefs_tab(self, inner_notebook):
"""
tab, grid = self.add_inner_notebook_tab(
- _('P_references'),
+ _('Pre_ferences'),
inner_notebook,
)
grid_width = 3
@@ -24494,7 +24541,7 @@ def setup_downloader_paths_tab(self, inner_notebook):
"""
tab, grid = self.add_inner_notebook_tab(
- _('_File paths'),
+ _('File _paths'),
inner_notebook,
)
grid_width = 3
@@ -24652,7 +24699,7 @@ def setup_downloader_ffmpeg_tab(self, inner_notebook):
"""
tab, grid = self.add_inner_notebook_tab(
- _('_FFmpeg / AVConv'),
+ _('FF_mpeg / AVConv'),
inner_notebook,
)
grid_width = 4
@@ -29337,6 +29384,23 @@ def on_livestream_stop_button_toggled(self, checkbutton):
self.app_obj.set_livestream_stop_is_final_flag(False)
+ def on_livestream_timeout_spinbutton_changed(self, spinbutton):
+
+ """Called from callback in self.setup_operations_livestreams_tab().
+
+ Sets the timeout (in minutes) for livestream downloads.
+
+ Args:
+
+ spinbutton (Gtk.SpinButton): The widget clicked
+
+ """
+
+ self.app_obj.set_livestream_dl_timeout(
+ spinbutton.get_value(),
+ )
+
+
def on_load_descrips_button_clicked(self, button, spinbutton):
"""Called from a callback in self.setup_files_update_tab().
diff --git a/tartube/downloads.py b/tartube/downloads.py
index bcf3f6ad..8d204952 100644
--- a/tartube/downloads.py
+++ b/tartube/downloads.py
@@ -6040,9 +6040,10 @@ def register_error_warning(self, data):
{ 'video_id': vid },
)
- if isinstance(media_data_obj, media.Video) \
- and self.match_vid_or_url(media_data_obj, vid, url):
- media_data_obj.set_block_flag(True)
+ if isinstance(media_data_obj, media.Video):
+
+ if self.match_vid_or_url(media_data_obj, vid, url):
+ media_data_obj.set_block_flag(True)
else:
@@ -6082,19 +6083,20 @@ def register_error_warning(self, data):
{ 'video_id': vid },
)
- if isinstance(media_data_obj, media.Video) \
- and self.match_vid_or_url(media_data_obj, vid, url):
- GObject.timeout_add(
- 0,
- app_obj.mark_video_live,
- media_data_obj,
- 1,
- live_data_dict,
- )
+ if isinstance(media_data_obj, media.Video):
- # (We don't want mainwin.NewbieDialogue to appear in this
- # situation)
- self.download_manager_obj.register_video('other')
+ if self.match_vid_or_url(media_data_obj, vid, url):
+ GObject.timeout_add(
+ 0,
+ app_obj.mark_video_live,
+ media_data_obj,
+ 1,
+ live_data_dict,
+ )
+
+ # (We don't want mainwin.NewbieDialogue to appear in
+ # this situation)
+ self.download_manager_obj.register_video('other')
else:
@@ -8050,8 +8052,11 @@ def __init__(self, download_manager_obj, download_worker_obj, \
# overwrite higher in the hierarchy (with a bigger number)
self.return_code = self.OK
# The time (in seconds) between iterations of the loop in
- # self.do_download()
- self.sleep_time = 0.1
+ # self.do_download_basic()
+ self.sleep_time = 0.5
+ # The time (in seconds) between iterations of the loop in
+ # self.do_download_m3u() and .do_download_streamlink()
+ self.longer_sleep_time = 0.25
# Flag set to true after the first error message processed
self.first_error_flag = False
@@ -8087,8 +8092,15 @@ def __init__(self, download_manager_obj, download_worker_obj, \
self.streamlink_start_flag = False
# Number of segments downloaded so far
- # !!! DEBUG: Currently only used in 'default' mode
self.segment_count = 0
+ # The time at which we should stop waiting for the next segment
+ # (matches time.time())
+ self.check_time = 0
+ # Size of the output file, and the time (matches time.time()) at which
+ # this value was set
+ # (These IVs are only use by 'default_m3u' and 'streamlink' modes
+ self.output_size = 0
+ self.output_size_time = 0
# Public class methods
@@ -8358,8 +8370,13 @@ def do_download_basic(self):
while self.read_child_process():
pass
- # !!! DEBUG: Any stall/timeout code goes here
- pass
+ # Perform a timeout, if necessary
+ if self.check_time > 0 and self.check_time < time.time():
+
+ # Halt the child process
+ self.stop()
+ self.show_msg('Download timed out')
+ return
# The child process has finished
# We also set the return code to self.ERROR if the download didn't
@@ -8434,7 +8451,7 @@ def do_download_m3u(self):
# Pause a moment between each iteration of the loop (we don't want
# to hog system resources)
- time.sleep(self.sleep_time)
+ time.sleep(self.longer_sleep_time)
# Read from the child process STDOUT and STDERR, in the correct
# order, until there is nothing left to read
@@ -8501,8 +8518,42 @@ def do_download_m3u(self):
while self.read_child_process():
pass
- # !!! DEBUG: Any stall/timeout code goes here
- pass
+ # Check on our progress. As of v2.3.618, youtube-dl output on lines
+ # without a newline character cannot be retrieved by
+ # downloads.PipeReader; this is the next best thing
+ if self.actual_output_path \
+ and os.path.isfile(self.actual_output_path):
+
+ current_size = os.path.getsize(self.actual_output_path)
+ if current_size != self.output_size:
+
+ self.output_size = current_size
+ self.output_size_time = time.time()
+ self.segment_count += 1
+
+ # (Convert to, e.g. '27.5 MiB')
+ converted_size = utils.convert_bytes_to_string(
+ current_size,
+ )
+
+ self.download_data_callback('', str(converted_size))
+ self.show_msg(
+ ('Downloaded segment #{0}, size {1}').format(
+ self.segment_count,
+ converted_size,
+ ),
+ )
+
+ self.check_time = (app_obj.livestream_dl_timeout * 60) \
+ + time.time()
+
+ # Perform a timeout, if necessary
+ if self.check_time > 0 and self.check_time < time.time():
+
+ # Halt the child process
+ self.stop()
+ self.show_msg('Download timed out')
+ return
def do_download_streamlink(self):
@@ -8540,15 +8591,52 @@ def do_download_streamlink(self):
# Pause a moment between each iteration of the loop (we don't want
# to hog system resources)
- time.sleep(self.sleep_time)
+ time.sleep(self.longer_sleep_time)
# Read from the child process STDOUT and STDERR, in the correct
# order, until there is nothing left to read
while self.read_child_process():
pass
- # !!! DEBUG: Any stall/timeout code goes here
- pass
+ # Check on our progress. As of v2.3.618, youtube-dl output on lines
+ # without a newline character cannot be retrieved by
+ # downloads.PipeReader; this is the next best thing
+ if self.actual_output_path \
+ and os.path.isfile(self.actual_output_path):
+
+ current_size = os.path.getsize(self.actual_output_path)
+ if current_size != self.output_size:
+
+ self.output_size = current_size
+ self.output_size_time = time.time()
+ self.segment_count += 1
+
+ # (Convert to, e.g. '27.5 MiB')
+ converted_size = utils.convert_bytes_to_string(
+ current_size,
+ )
+
+ self.download_data_callback('', str(converted_size))
+ self.show_msg(
+ ('Downloaded segment #{0}, size {1}').format(
+ self.segment_count,
+ converted_size,
+ ),
+ )
+
+ # Streamlink has been passed a --stream-timeout argument;
+ # so add a few seconds to the usual timeout value, hoping
+ # that streamlink's own timeout will happen first
+ self.check_time = (app_obj.livestream_dl_timeout * 60) \
+ + time.time() + 30
+
+ # Perform a timeout, if necessary
+ if self.check_time > 0 and self.check_time < time.time():
+
+ # Halt the child process
+ self.stop()
+ self.show_msg('Download timed out')
+ return
def choose_path(self):
@@ -8890,6 +8978,9 @@ def read_child_process(self):
if match:
self.segment_count += 1
+ self.check_time = (app_obj.livestream_dl_timeout * 60) \
+ + time.time()
+
# Pass a dictionary of values to self.download_worker_obj
# so the Progress List can be updated
self.download_data_callback(
diff --git a/tartube/mainapp.py b/tartube/mainapp.py
index 28088c67..28bcc562 100644
--- a/tartube/mainapp.py
+++ b/tartube/mainapp.py
@@ -390,7 +390,7 @@ def __init__(self, *args, **kwargs):
# Flag set to True if stock icons in the Videos/Classic Mode tabs
# should be replaced by a custom set of icons (in case the stock
# icons are not visible, for some reason)
- self.show_custom_icons_flag = False
+ self.show_custom_icons_flag = True
# Flag set to True if a marker should be visible on each row in the
# Video Index, false if not
self.show_marker_in_index_flag = True
@@ -1025,6 +1025,9 @@ def __init__(self, *args, **kwargs):
# 'streamlink' - use streamlink (if installed on the user's system)
self.livestream_dl_mode = 'default_m3u'
# Settings for downloading broadcasting livestreams
+ # Timeout (in minutes) during livestream downloads (minimum value 1,
+ # fractional numbers are allowed)
+ self.livestream_dl_timeout = 3
# If True, resume an earlier download. If False, replace the earlier
# download. When using streamlink, the earlier download is always
# replaced
@@ -1096,7 +1099,7 @@ def __init__(self, *args, **kwargs):
# Default invidio.us mirror to use (the original site closed in
# September 2020); this value never changes
- self.default_invidious_mirror = 'invidious.site'
+ self.default_invidious_mirror = 'yewtu.be'
# Custom mirror to use (can be set by the user)
self.custom_invidious_mirror = self.default_invidious_mirror
@@ -4306,6 +4309,8 @@ def load_config(self):
if version >= 2003566: # v2.3.566
self.livestream_dl_mode = json_dict['livestream_dl_mode']
+ if version >= 2003619: # v2.3.619
+ self.livestream_dl_timeout = json_dict['livestream_dl_timeout']
if version >= 2003582: # v2.3.582
self.livestream_replace_flag = json_dict['livestream_replace_flag']
self.livestream_stop_is_final_flag \
@@ -5332,6 +5337,7 @@ def save_config(self):
'ffmpeg_convert_webp_flag': self.ffmpeg_convert_webp_flag,
'livestream_dl_mode': self.livestream_dl_mode,
+ 'livestream_dl_timeout': self.livestream_dl_timeout,
'livestream_replace_flag': self.livestream_replace_flag,
'livestream_stop_is_final_flag': \
self.livestream_stop_is_final_flag,
@@ -8072,6 +8078,7 @@ def check_integrity_db(self, no_prompt_flag=False, parent_win_obj=None):
# options.OptionsManager objects)
error_options_dict = {}
error_options_media_dict = {}
+ error_options_media_reverse_dict = {}
# (The number of media data objects which appear to have missing IVs,
# because of some failure or other in self.update_db() )
broken_obj_count = 0
@@ -8274,6 +8281,13 @@ def check_integrity_db(self, no_prompt_flag=False, parent_win_obj=None):
error_options_media_dict[media_data_obj.dbid] \
= media_data_obj
+ for media_data_obj in self.media_reg_dict.values():
+
+ if media_data_obj.options_obj \
+ and not media_data_obj.options_obj.uid in self.options_reg_dict:
+ error_options_media_reverse_dict[media_data_obj.dbid] \
+ = media_data_obj.options_obj
+
# .update_db() updates objects from earlier releases of Tartube with
# new IVs. Git #356 reports a database that has become broken due to
# missing IVs that .update_db() was not able to add
@@ -8287,6 +8301,7 @@ def check_integrity_db(self, no_prompt_flag=False, parent_win_obj=None):
and not flag_error_count \
and not error_options_dict \
and not error_options_media_dict \
+ and not error_options_media_reverse_dict \
and not broken_obj_count:
if not no_prompt_flag:
@@ -8311,6 +8326,7 @@ def check_integrity_db(self, no_prompt_flag=False, parent_win_obj=None):
error_slave_dict,
error_options_dict,
error_options_media_dict,
+ error_options_media_reverse_dict,
broken_obj_count,
no_prompt_flag,
parent_win_obj,
@@ -8321,7 +8337,8 @@ def check_integrity_db(self, no_prompt_flag=False, parent_win_obj=None):
total = len(error_reg_dict) + len(error_master_dict) \
+ len(error_slave_dict) + flag_error_count \
- + len(error_options_dict) + len(error_options_media_dict)
+ + len(error_options_dict) + len(error_options_media_dict) \
+ + len(error_options_media_reverse_dict)
# Prompt the user before deleting stuff
self.dialogue_manager_obj.show_msg_dialogue(
@@ -8343,6 +8360,7 @@ def check_integrity_db(self, no_prompt_flag=False, parent_win_obj=None):
error_slave_dict,
error_options_dict,
error_options_media_dict,
+ error_options_media_reverse_dict,
broken_obj_count,
no_prompt_flag,
parent_win_obj,
@@ -8385,6 +8403,7 @@ def fix_integrity_db(self, data_list):
error_options_dict[uid] = options_obj
error_options_media_dict[dbid] = media_data_obj
+ error_options_media_reverse_dict[dbid] = options_obj
(Dictionaries of inconsistencies between media data objects
and options.OptionsManager objects. These
@@ -8410,6 +8429,7 @@ def fix_integrity_db(self, data_list):
error_slave_dict = data_list.pop(0)
error_options_dict = data_list.pop(0)
error_options_media_dict = data_list.pop(0)
+ error_options_media_reverse_dict = data_list.pop(0)
broken_obj_count = data_list.pop(0)
no_prompt_flag = data_list.pop(0)
parent_win_obj = data_list.pop(0)
@@ -8492,6 +8512,39 @@ def fix_integrity_db(self, data_list):
for media_data_obj in error_options_media_dict.values():
media_data_obj.reset_options_obj()
+ if error_options_media_reverse_dict:
+
+ # (In the case of options.OptionsManager objects missing from their
+ # registry, they may not have been updated in self.update_db().
+ # Check for that as well)
+ test_options_obj = options.OptionsManager(-1, 'test')
+
+ for dbid in error_options_media_reverse_dict.keys():
+ media_data_obj = self.media_reg_dict[dbid]
+ options_obj = error_options_media_reverse_dict[dbid]
+
+ self.options_reg_dict[options_obj.uid] = options_obj
+ media_data_obj.options_obj.dbid = media_data_obj.dbid
+
+ if not hasattr(options_obj, 'descrip'):
+ options_obj.descrip = options_obj.name
+
+ for option in test_options_obj.options_dict:
+ if not option in options_obj.options_dict:
+
+ if isinstance(
+ test_options_obj.options_dict[option],
+ list,
+ ) or isinstance(
+ test_options_obj.options_dict[option],
+ dict,
+ ):
+ options_obj.options_dict[option] \
+ = test_options_obj.options_dict[option].copy()
+ else:
+ options_obj.options_dict[option] \
+ = test_options_obj.options_dict[option]
+
# Deal with broken objects due to failures in .update_db()
if broken_obj_count:
self.fix_broken_objs()
@@ -13672,10 +13725,10 @@ def move_container_to_top_continue(self, media_data_obj):
# directories don't exist)
self.save_db()
- # Remove the moving object from the Video Index, and put it back there
- # at its new location
- self.main_win_obj.video_index_delete_row(media_data_obj)
- self.main_win_obj.video_index_add_row(media_data_obj)
+ # Redraw the whole Video Index, which makes sure the moved container
+ # has an expanding arrow button
+ self.main_win_obj.video_index_reset()
+ self.main_win_obj.video_index_populate()
# Select the moving object, which redraws the Video Catalogue
self.main_win_obj.video_index_select_row(media_data_obj)
@@ -13708,9 +13761,9 @@ def move_container(self, source_obj, dest_obj):
'Move container request failed sanity check',
)
- elif source_obj == dest_obj:
+ elif source_obj == dest_obj or source_obj.parent_obj == dest_obj:
# No need for a system error message if the user drags a folder
- # onto itself; just do nothing
+ # onto itself, or onto its own parent; just do nothing
return
# Ignore Video Index drag-and-drop during an operation
@@ -13883,10 +13936,11 @@ def move_container_continue(self, media_list):
# directories don't exist)
self.save_db()
- # Remove the moving object from the Video Index, and put it back there
- # at its new location
- self.main_win_obj.video_index_delete_row(source_obj)
- self.main_win_obj.video_index_add_row(source_obj)
+ # Redraw the whole Video Index, which makes sure the moved container
+ # has an expanding arrow button
+ self.main_win_obj.video_index_reset()
+ self.main_win_obj.video_index_populate()
+
# Select the moving object, which redraws the Video Catalogue
self.main_win_obj.video_index_select_row(source_obj)
@@ -24931,6 +24985,11 @@ def set_livestream_dl_mode(self, value):
self.livestream_dl_mode = value
+ def set_livestream_dl_timeout(self, value):
+
+ self.livestream_dl_timeout = value
+
+
def set_livestream_force_check_flag(self, flag):
if not flag:
diff --git a/tartube/mainwin.py b/tartube/mainwin.py
index f3e79563..46718371 100644
--- a/tartube/mainwin.py
+++ b/tartube/mainwin.py
@@ -1300,7 +1300,7 @@ def setup_main_menubar(self):
file_sub_menu.append(Gtk.SeparatorMenuItem())
close_tray_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Close to tray'),
+ _('Close to _tray'),
)
file_sub_menu.append(close_tray_menu_item)
close_tray_menu_item.set_action_name('app.close_tray_menu')
@@ -1339,7 +1339,7 @@ def setup_main_menubar(self):
system_menu_column.set_submenu(system_sub_menu)
self.open_msys2_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Open MSYS2 terminal...'),
+ _('Open _MSYS2 terminal...'),
)
system_sub_menu.append(self.open_msys2_menu_item)
self.open_msys2_menu_item.set_action_name('app.open_msys2_menu')
@@ -1461,12 +1461,12 @@ def setup_main_menubar(self):
self.hide_system_menu_item.set_action_name('app.hide_system_menu')
self.show_hidden_menu_item = \
- Gtk.MenuItem.new_with_mnemonic(_('Sh_ow hidden folders'))
+ Gtk.MenuItem.new_with_mnemonic(_('_Show hidden folders'))
show_hide_submenu.append(self.show_hidden_menu_item)
self.show_hidden_menu_item.set_action_name('app.show_hidden_menu')
show_hide_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Show/hide'))
+ _('S_how/hide'))
show_hide_menu_item.set_submenu(show_hide_submenu)
media_sub_menu.append(show_hide_menu_item)
@@ -1488,7 +1488,7 @@ def setup_main_menubar(self):
if self.app_obj.debug_test_media_menu_flag:
self.test_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Add test media'),
+ _('Ad_d test media'),
)
media_sub_menu.append(self.test_menu_item)
self.test_menu_item.set_action_name('app.test_menu')
@@ -1496,7 +1496,7 @@ def setup_main_menubar(self):
if self.app_obj.debug_test_code_menu_flag:
self.test_code_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Run test code'),
+ _('Run _test code'),
)
media_sub_menu.append(self.test_code_menu_item)
self.test_code_menu_item.set_action_name('app.test_code_menu')
@@ -1557,7 +1557,7 @@ def setup_main_menubar(self):
if os.name == 'nt':
self.install_ffmpeg_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Install FFmpeg...'),
+ _('Install _FFmpeg...'),
)
ops_sub_menu.append(self.install_ffmpeg_menu_item)
self.install_ffmpeg_menu_item.set_action_name(
@@ -1565,7 +1565,7 @@ def setup_main_menubar(self):
)
self.install_matplotlib_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Install matplotlib...'),
+ _('Install _matplotlib...'),
)
ops_sub_menu.append(self.install_matplotlib_menu_item)
self.install_matplotlib_menu_item.set_action_name(
@@ -1573,7 +1573,7 @@ def setup_main_menubar(self):
)
self.install_streamlink_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Install streamlink...'),
+ _('Install _streamlink...'),
)
ops_sub_menu.append(self.install_streamlink_menu_item)
self.install_streamlink_menu_item.set_action_name(
@@ -1603,7 +1603,7 @@ def setup_main_menubar(self):
self.stop_operation_menu_item.set_sensitive(False)
self.stop_soon_menu_item = \
- Gtk.MenuItem.new_with_mnemonic(_('_Stop after current videos'))
+ Gtk.MenuItem.new_with_mnemonic(_('Stop _after current videos'))
ops_sub_menu.append(self.stop_soon_menu_item)
self.stop_soon_menu_item.set_action_name(
'app.stop_soon_menu',
@@ -5815,11 +5815,11 @@ def video_index_popup_menu(self, event, name):
contents_submenu.append(just_videos_menu_item)
if media_type == 'channel':
- string = _('Channel co_ntents')
+ string = _('Channel c_ontents')
elif media_type == 'playlist':
- string = _('Playlist co_ntents')
+ string = _('Playlist c_ontents')
else:
- string = _('Folder co_ntents')
+ string = _('Folder c_ontents')
contents_menu_item = Gtk.MenuItem.new_with_mnemonic(string)
contents_menu_item.set_submenu(contents_submenu)
@@ -6009,7 +6009,7 @@ def video_index_popup_menu(self, event, name):
actions_submenu.append(tidy_menu_item)
classic_dl_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('Add to _Classic Mode tab'),
+ _('Add to C_lassic Mode tab'),
)
classic_dl_menu_item.connect(
'activate',
@@ -6097,7 +6097,7 @@ def video_index_popup_menu(self, event, name):
downloads_submenu.append(Gtk.SeparatorMenuItem())
add_scheduled_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('Add to s_cheduled download...'),
+ _('Add to _scheduled download...'),
)
add_scheduled_menu_item.connect(
'activate',
@@ -6107,7 +6107,7 @@ def video_index_popup_menu(self, event, name):
downloads_submenu.append(add_scheduled_menu_item)
show_system_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Show system command...'),
+ _('Show system _command...'),
)
show_system_menu_item.connect(
'activate',
@@ -6205,7 +6205,7 @@ def video_index_popup_menu(self, event, name):
disable_menu_item.set_sensitive(False)
enforce_check_menu_item.set_sensitive(False)
- downloads_menu_item = Gtk.MenuItem.new_with_mnemonic(_('D_ownloads'))
+ downloads_menu_item = Gtk.MenuItem.new_with_mnemonic(_('Down_loads'))
downloads_menu_item.set_submenu(downloads_submenu)
popup_menu.append(downloads_menu_item)
if __main__.__pkg_no_download_flag__ \
@@ -6285,7 +6285,8 @@ def video_index_popup_menu(self, event, name):
media_data_obj,
)
if self.app_obj.current_manager_obj \
- or (media_type == 'folder' and media_data_obj.fixed_flag):
+ or (media_type == 'folder' and media_data_obj.fixed_flag) \
+ or self.config_win_list:
delete_menu_item.set_sensitive(False)
popup_menu.append(delete_menu_item)
@@ -6589,13 +6590,13 @@ def video_catalogue_popup_menu(self, event, video_obj):
if video_obj.dl_flag:
clip_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('Create video cl_ip...'),
+ _('_Create video clip...'),
)
else:
clip_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('Download video cl_ip...'),
+ _('Download video clip...'),
)
clip_menu_item.connect(
@@ -6891,7 +6892,7 @@ def video_catalogue_popup_menu(self, event, video_obj):
downloads_submenu.append(Gtk.SeparatorMenuItem())
show_system_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('Show system _command'),
+ _('_Show system command'),
)
show_system_menu_item.connect(
'activate',
@@ -7059,7 +7060,7 @@ def video_catalogue_popup_menu(self, event, video_obj):
show_properties_menu_item.set_sensitive(False)
show_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Show video'),
+ _('S_how video'),
)
show_menu_item.set_submenu(show_submenu)
popup_menu.append(show_menu_item)
@@ -7106,6 +7107,8 @@ def video_catalogue_popup_menu(self, event, video_obj):
video_obj,
)
popup_menu.append(delete_menu_item)
+ if self.config_win_list:
+ delete_menu_item.set_sensitive(False)
# Create the popup menu
popup_menu.show_all()
@@ -7460,6 +7463,8 @@ def video_catalogue_multi_popup_menu(self, event, video_list):
video_list,
)
popup_menu.append(delete_menu_item)
+ if self.config_win_list:
+ delete_menu_item.set_sensitive(False)
# Create the popup menu
popup_menu.show_all()
@@ -7541,7 +7546,7 @@ def progress_list_popup_menu(self, event, item_id, dbid):
# 'custom_sim', 'classic_sim'), this menu option has a slightly
# different effect (so uses a diffirent label)
if custom_sim_flag:
- msg = _('Stop checking videos')
+ msg = _('Stop checking _videos')
else:
msg = _('Stop after this _video')
@@ -7941,7 +7946,7 @@ def classic_popup_menu(self):
popup_menu.append(default_menu_item)
edit_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Edit download options'),
+ _('Edit download _options'),
)
edit_menu_item.connect(
'activate',
@@ -8354,7 +8359,7 @@ def video_index_setup_contents_submenu(self, submenu, media_data_obj,
mark_playlist_menu_item.set_sensitive(False)
mark_not_playlist_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('Mark as not in wai_ting list'),
+ _('Mark as not in waiting _list'),
)
mark_not_playlist_menu_item.connect(
'activate',
@@ -8605,7 +8610,7 @@ def add_watch_video_menu_items(self, popup_menu, dl_flag, \
temp_submenu.append(temp_dl_menu_item)
temp_dl_watch_menu_item = Gtk.MenuItem.new_with_mnemonic(
- _('_Download and watch'),
+ _('Download and _watch'),
)
temp_dl_watch_menu_item.connect(
'activate',
diff --git a/tartube/options.py b/tartube/options.py
index 6f9f64d9..b1d5f224 100644
--- a/tartube/options.py
+++ b/tartube/options.py
@@ -1384,9 +1384,17 @@ def parse(self, media_data_obj, options_manager_obj,
# Force youtube-dl's progress bar to be outputted as separate lines
options_list = ['--newline']
- # Create a copy of the dictionary...
+ # Create a copy of the dictionary
copy_dict = options_manager_obj.options_dict.copy()
- # ...then modify various values in the copy. Set the 'video_format' and
+
+ # Get the directory into which files are downloaded
+ dir_path = self.build_dir(
+ media_data_obj,
+ copy_dict,
+ operation_type,
+ )
+
+ # Modify various values in the copy. Set the 'video_format' and
# 'all_formats' options
self.build_video_format(media_data_obj, copy_dict, operation_type)
# Set the 'min_filesize' and 'max_filesize' options
@@ -1465,6 +1473,16 @@ def parse(self, media_data_obj, options_manager_obj,
else:
options_list.append(cookies_path)
+ elif option_holder_obj.name == 'trim_filenames':
+ length = copy_dict[option_holder_obj.name]
+ # The --trim-filenames option specifies a length that includes
+ # the directory name. If the user has specified a length that
+ # is shorter than the directory name, then ignore this
+ # option
+ if length >= (len(dir_path) + 2):
+ options_list.append('--trim-filenames')
+ options_list.append(str(length))
+
# For all other options, just check the value is valid
elif option_holder_obj.check_requirements(copy_dict):
value = copy_dict[option_holder_obj.name]
@@ -1500,9 +1518,8 @@ def parse(self, media_data_obj, options_manager_obj,
# Parse the 'save_path_list' option
options_list = self.build_paths(
- media_data_obj,
+ dir_path,
copy_dict,
- operation_type,
options_list,
)
@@ -1645,13 +1662,11 @@ def build_proxy(self, copy_dict):
copy_dict['proxy'] = proxy
- def build_paths(self, media_data_obj, copy_dict, operation_type, \
- options_list):
+ def build_dir(self, media_data_obj, copy_dict, operation_type):
"""Called by self.parse().
- Build the value of the 'save_path_list' option, and add it directly to
- the options list.
+ Finds the directory in which downloaded files are saved.
Args:
@@ -1664,17 +1679,12 @@ def build_paths(self, media_data_obj, copy_dict, operation_type, \
'classic_sim', 'classic_real', 'classic_custom' (matching
possible values of downloads.DownloadManager.operation_type)
- options_list (list): List of download options compiled so far; this
- function adds options directly to the list
-
Return values:
- The modified options_list
+ The output directory, as a string
"""
- # First, set the download directory
-
override_name = copy_dict['use_fixed_folder']
if operation_type == 'classic_sim' \
@@ -1700,8 +1710,30 @@ def build_paths(self, media_data_obj, copy_dict, operation_type, \
else:
dir_path = media_data_obj.get_actual_dir(self.app_obj)
- # Secondly, set the file output template, which may be preceded by the
- # download directory
+ return dir_path
+
+
+ def build_paths(self, dir_path, copy_dict, options_list):
+
+ """Called by self.parse().
+
+ Build the value of the 'save_path_list' option, and add it directly to
+ the options list.
+
+ Args:
+
+ dir_path (str): The directory into which files are to be downloaded
+
+ copy_dict (dict): Copy of the original options dictionary
+
+ options_list (list): List of download options compiled so far; this
+ function adds options directly to the list
+
+ Return values:
+
+ The modified options_list
+
+ """
# (When 'output_format_list' is specified, then 'output_format' and
# 'output_template' are ignored. However, 'output_format_list' is
diff --git a/tartube/po/messages.pot b/tartube/po/messages.pot
index 5cd70fac..d3413afe 100644
--- a/tartube/po/messages.pot
+++ b/tartube/po/messages.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-04-09 08:54+0100\n"
+"POT-Creation-Date: 2022-04-21 15:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Small"
msgstr ""
-#: .././mainapp.py:298 .././config.py:6847 .././config.py:6946
+#: .././mainapp.py:298 .././config.py:6872 .././config.py:6971
msgid "Medium"
msgstr ""
@@ -37,7 +37,7 @@ msgstr ""
msgid "Enormous"
msgstr ""
-#: .././mainapp.py:999
+#: .././mainapp.py:1006
msgid ""
"Failed to convert a thumbnail from .webp to .jpg. No more conversions will "
"be attempted until you install FFmpeg on your system, or (if FFmpeg is "
@@ -46,194 +46,194 @@ msgid ""
"conversions"
msgstr ""
-#: .././mainapp.py:3218
+#: .././mainapp.py:3268
msgid ""
"Tartube can't create the folder in which its configuration file is saved"
msgstr ""
#. Load/save has been disabled. Show the error message in a dialogue
#. window, then shut down
-#: .././mainapp.py:3265
+#: .././mainapp.py:3315
msgid "Tartube failed to start because:"
msgstr ""
-#: .././mainapp.py:3273
+#: .././mainapp.py:3323
msgid "If you don't know how to resolve this error, please contact the authors"
msgstr ""
-#: .././mainapp.py:3499
+#: .././mainapp.py:3549
msgid "Because of an error, file load/save has been disabled"
msgstr ""
-#: .././mainapp.py:3508
+#: .././mainapp.py:3558
msgid "Because of the error, file load/save has been disabled"
msgstr ""
-#: .././mainapp.py:3610
+#: .././mainapp.py:3660
msgid "There is a download operation in progress."
msgstr ""
-#: .././mainapp.py:3612
+#: .././mainapp.py:3662
msgid "There is an update operation in progress."
msgstr ""
-#: .././mainapp.py:3614
+#: .././mainapp.py:3664
msgid "There is a refresh operation in progress."
msgstr ""
-#: .././mainapp.py:3616
+#: .././mainapp.py:3666
msgid "There is an info operation in progress."
msgstr ""
-#: .././mainapp.py:3618
+#: .././mainapp.py:3668
msgid "There is a tidy operation in progress."
msgstr ""
-#: .././mainapp.py:3620
+#: .././mainapp.py:3670
msgid "There is a process operation in progress."
msgstr ""
-#: .././mainapp.py:3625
+#: .././mainapp.py:3675
msgid "Are you sure you want to quit Tartube?"
msgstr ""
-#: .././mainapp.py:3834
+#: .././mainapp.py:3884
msgid "Failed to load the Tartube config file (failed sanity check)"
msgstr ""
-#: .././mainapp.py:3857
+#: .././mainapp.py:3907
msgid "Failed to load the Tartube config file (file is locked)"
msgstr ""
-#: .././mainapp.py:3887
+#: .././mainapp.py:3937
msgid "Failed to load the Tartube config file (JSON load failure)"
msgstr ""
-#: .././mainapp.py:3905
+#: .././mainapp.py:3955
msgid "Failed to load the Tartube config file (file is invalid)"
msgstr ""
-#: .././mainapp.py:3923
+#: .././mainapp.py:3973
msgid ""
"Failed to load the Tartube config file (file cannot be read by this version)"
msgstr ""
-#: .././mainapp.py:3938
+#: .././mainapp.py:3988
msgid "Failed to load the Tartube config file (missing file type)"
msgstr ""
-#: .././mainapp.py:5036
+#: .././mainapp.py:5134
msgid "Failed to save the Tartube config file (failed sanity check)"
msgstr ""
-#: .././mainapp.py:5428
+#: .././mainapp.py:5543
msgid "Failed to save the Tartube config file (file is locked)"
msgstr ""
-#: .././mainapp.py:5430 .././mainapp.py:7247 .././mainapp.py:7303
-#: .././mainapp.py:7309
+#: .././mainapp.py:5545 .././mainapp.py:7440 .././mainapp.py:7503
+#: .././mainapp.py:7509
msgid "File load/save has been disabled"
msgstr ""
-#: .././mainapp.py:5449
+#: .././mainapp.py:5564
msgid "Failed to save the Tartube config file (file already in use)"
msgstr ""
-#: .././mainapp.py:5468
+#: .././mainapp.py:5583
msgid "Failed to save the Tartube config file"
msgstr ""
-#: .././mainapp.py:5570 .././mainapp.py:5585 .././mainapp.py:5617
+#: .././mainapp.py:5685 .././mainapp.py:5700 .././mainapp.py:5732
msgid "Failed to load the Tartube database file"
msgstr ""
-#: .././mainapp.py:5633
+#: .././mainapp.py:5748
msgid "The Tartube database file is invalid"
msgstr ""
-#: .././mainapp.py:5649
+#: .././mainapp.py:5764
msgid "Database file can't be read by this version of Tartube"
msgstr ""
-#: .././mainapp.py:6018
+#: .././mainapp.py:6138
msgid "Tartube is applying an essential database update"
msgstr ""
-#: .././mainapp.py:6020
+#: .././mainapp.py:6140
msgid "This might take a few minutes, so please be patient"
msgstr ""
-#: .././mainapp.py:7069
+#: .././mainapp.py:7189
msgid "General (default) download options"
msgstr ""
-#: .././mainapp.py:7075
+#: .././mainapp.py:7195
msgid "Download options for the Classic Mode tab"
msgstr ""
-#: .././mainapp.py:7241 .././mainapp.py:7299 .././mainapp.py:7308
+#: .././mainapp.py:7434 .././mainapp.py:7499 .././mainapp.py:7508
msgid "Failed to save the Tartube database file"
msgstr ""
-#: .././mainapp.py:7244
+#: .././mainapp.py:7437
msgid "(Could not make a backup copy of the existing file)"
msgstr ""
-#: .././mainapp.py:7280
+#: .././mainapp.py:7479
msgid "Failed to save the Tartube database file (file already in use)"
msgstr ""
-#: .././mainapp.py:7301
+#: .././mainapp.py:7501
msgid "A backup of the previous file can be found at:"
msgstr ""
-#: .././mainapp.py:7476 .././mainapp.py:7486
+#: .././mainapp.py:7679 .././mainapp.py:7689
msgid "Database file created"
msgstr ""
-#: .././mainapp.py:7856
+#: .././mainapp.py:8056
msgid "Tartube's database can't be checked while an operation is in progress"
msgstr ""
-#: .././mainapp.py:8101
+#: .././mainapp.py:8310
msgid "Database check complete, no inconsistencies found"
msgstr ""
-#: .././mainapp.py:8134
+#: .././mainapp.py:8345
msgid "Database check complete, problems found:"
msgstr ""
-#: .././mainapp.py:8137
+#: .././mainapp.py:8348
msgid ""
"Do you want to repair these problems? (The database will be fixed, but no "
"files will be deleted)"
msgstr ""
-#: .././mainapp.py:8317
+#: .././mainapp.py:8564
msgid "Database inconsistencies repaired"
msgstr ""
-#: .././mainapp.py:9577 .././config.py:26880
+#: .././mainapp.py:9900 .././config.py:27477
msgid "Please select Tartube's data folder"
msgstr ""
-#: .././mainapp.py:9993
+#: .././mainapp.py:10316
msgid ""
"A download operation cannot start if one or more configuration windows are "
"still open"
msgstr ""
-#: .././mainapp.py:10017 .././mainapp.py:10042
+#: .././mainapp.py:10340 .././mainapp.py:10365
#, python-brace-format
-msgid "You only have {0} / {1} Mb remaining on your device"
+msgid "You only have {0} / {1} Gb remaining on your device"
msgstr ""
-#: .././mainapp.py:10045 .././mainapp.py:16146 .././mainapp.py:16267
-#: .././mainapp.py:16454 .././mainwin.py:19992
+#: .././mainapp.py:10368 .././mainapp.py:16502 .././mainapp.py:16623
+#: .././mainapp.py:16810 .././mainwin.py:20371
msgid "Are you sure you want to continue?"
msgstr ""
-#: .././mainapp.py:10137
+#: .././mainapp.py:10460
msgid ""
"1. Copy URLs into the box at the top\n"
"2. Select a destination and a format\n"
@@ -241,573 +241,573 @@ msgid ""
"4. Click 'Download all'"
msgstr ""
-#: .././mainapp.py:10145
+#: .././mainapp.py:10468
msgid "There is nothing to check!"
msgstr ""
-#: .././mainapp.py:10149
+#: .././mainapp.py:10472
msgid "There is nothing to download!"
msgstr ""
-#: .././mainapp.py:10430
+#: .././mainapp.py:10761
msgid "Download operation complete"
msgstr ""
-#: .././mainapp.py:10432
+#: .././mainapp.py:10763
msgid "Download operation halted"
msgstr ""
-#: .././mainapp.py:10436
+#: .././mainapp.py:10767
msgid "Videos downloaded:"
msgstr ""
-#: .././mainapp.py:10437 .././config.py:27957 .././config.py:28014
+#: .././mainapp.py:10768 .././config.py:28587 .././config.py:28644
msgid "Videos checked:"
msgstr ""
-#: .././mainapp.py:10444
+#: .././mainapp.py:10775
msgid "Clips downloaded:"
msgstr ""
-#: .././mainapp.py:10447
+#: .././mainapp.py:10778
msgid "Video slices removed:"
msgstr ""
-#: .././mainapp.py:10451 .././mainapp.py:11104 .././mainapp.py:11584
-#: .././mainapp.py:11961
+#: .././mainapp.py:10782 .././mainapp.py:11446 .././mainapp.py:11926
+#: .././mainapp.py:12303
msgid "Time taken:"
msgstr ""
-#: .././mainapp.py:10630
+#: .././mainapp.py:10962
msgid ""
"An update operation cannot start if one or more configuration windows are "
"still open"
msgstr ""
-#: .././mainapp.py:10823
+#: .././mainapp.py:11165
msgid "Installation failed"
msgstr ""
-#: .././mainapp.py:10825
+#: .././mainapp.py:11167
msgid "Installation complete"
msgstr ""
-#: .././mainapp.py:10829
+#: .././mainapp.py:11171
msgid "Update operation failed"
msgstr ""
-#: .././mainapp.py:10831
+#: .././mainapp.py:11173
msgid "Update operation halted"
msgstr ""
-#: .././mainapp.py:10833
+#: .././mainapp.py:11175
msgid "Update operation complete"
msgstr ""
-#: .././mainapp.py:10835
+#: .././mainapp.py:11177
msgid "version:"
msgstr ""
-#: .././mainapp.py:10839
+#: .././mainapp.py:11181
msgid "(unknown)"
msgstr ""
-#: .././mainapp.py:10925
+#: .././mainapp.py:11267
msgid ""
"A refresh operation cannot start if one or more configuration windows are "
"still open"
msgstr ""
-#: .././mainapp.py:10938
+#: .././mainapp.py:11280
msgid ""
"During a refresh operation, Tartube analyses its data folder, looking for "
"videos that haven't yet been added to its database"
msgstr ""
-#: .././mainapp.py:10942
+#: .././mainapp.py:11284
msgid ""
"You only need to perform a refresh operation if you have manually copied "
"videos into Tartube's data folder"
msgstr ""
-#: .././mainapp.py:10949
+#: .././mainapp.py:11291
msgid ""
"Before starting a refresh operation, you should click the 'Check all' button "
"in the main window"
msgstr ""
-#: .././mainapp.py:10956
+#: .././mainapp.py:11298
msgid ""
"Before starting a refresh operation, you should right-click the channel and "
"select 'Check channel'"
msgstr ""
-#: .././mainapp.py:10963
+#: .././mainapp.py:11305
msgid ""
"Before starting a refresh operation, you should right-click the playlist and "
"select 'Check playlist'"
msgstr ""
-#: .././mainapp.py:10970
+#: .././mainapp.py:11312
msgid ""
"Before starting a refresh operation, you should right-click the folder and "
"select 'Check folder'"
msgstr ""
-#: .././mainapp.py:10975
+#: .././mainapp.py:11317
msgid "Are you sure you want to proceed with the refresh operation?"
msgstr ""
-#: .././mainapp.py:11099
+#: .././mainapp.py:11441
msgid "Refresh operation complete"
msgstr ""
-#: .././mainapp.py:11101
+#: .././mainapp.py:11443
msgid "Refresh operation halted"
msgstr ""
-#: .././mainapp.py:11203
+#: .././mainapp.py:11545
msgid ""
"An info operation cannot start if one or more configuration windows are "
"still open"
msgstr ""
-#: .././mainapp.py:11328
+#: .././mainapp.py:11670
msgid "Operation failed"
msgstr ""
-#: .././mainapp.py:11330 .././mainwin.py:29348 .././downloads.py:508
+#: .././mainapp.py:11672 .././mainwin.py:29749 .././downloads.py:508
msgid "Operation complete"
msgstr ""
-#: .././mainapp.py:11332
+#: .././mainapp.py:11674
msgid "Click the Output tab to see the results"
msgstr ""
-#: .././mainapp.py:11345
+#: .././mainapp.py:11687
msgid "A new release is available!"
msgstr ""
-#: .././mainapp.py:11347
+#: .././mainapp.py:11689
msgid "Your installation is up to date!"
msgstr ""
-#: .././mainapp.py:11349
+#: .././mainapp.py:11691
msgid "Installed version:"
msgstr ""
-#: .././mainapp.py:11354
+#: .././mainapp.py:11696
msgid "Stable release:"
msgstr ""
-#: .././mainapp.py:11359
+#: .././mainapp.py:11701
msgid "Stable release: not found"
msgstr ""
-#: .././mainapp.py:11362
+#: .././mainapp.py:11704
msgid "Development release:"
msgstr ""
-#: .././mainapp.py:11364
+#: .././mainapp.py:11706
msgid "Development release: not found"
msgstr ""
-#: .././mainapp.py:11477
+#: .././mainapp.py:11819
msgid ""
"A tidy operation cannot start if one or more configuration windows are still "
"open"
msgstr ""
-#: .././mainapp.py:11579
+#: .././mainapp.py:11921
msgid "Tidy operation complete"
msgstr ""
-#: .././mainapp.py:11581
+#: .././mainapp.py:11923
msgid "Tidy operation halted"
msgstr ""
-#: .././mainapp.py:11722 .././mainwin.py:20733 .././config.py:14148
+#: .././mainapp.py:12064 .././mainwin.py:21112 .././config.py:14187
msgid "Livestream has started"
msgstr ""
-#: .././mainapp.py:11950
+#: .././mainapp.py:12292
msgid "Process operation complete"
msgstr ""
-#: .././mainapp.py:11952
+#: .././mainapp.py:12294
msgid "Process operation halted"
msgstr ""
-#: .././mainapp.py:11956
+#: .././mainapp.py:12298
msgid "Files processed:"
msgstr ""
-#: .././mainapp.py:11957
+#: .././mainapp.py:12299
msgid "Errors:"
msgstr ""
-#: .././mainapp.py:13287 .././mainapp.py:13480
+#: .././mainapp.py:13642 .././mainapp.py:13835
msgid "Cannot move anything to:"
msgstr ""
-#: .././mainapp.py:13289 .././mainapp.py:13482
+#: .././mainapp.py:13644 .././mainapp.py:13837
msgid ""
"because a file or folder with the same name already exists (although "
"Tartube's database doesn't know anything about it)"
msgstr ""
-#: .././mainapp.py:13293
+#: .././mainapp.py:13648
msgid ""
"You probably created that file/folder accidentally, in which case you should "
"delete it manually before trying again"
msgstr ""
-#: .././mainapp.py:13307 .././mainapp.py:13500
+#: .././mainapp.py:13662 .././mainapp.py:13855
msgid "Are you sure you want to move this channel:"
msgstr ""
-#: .././mainapp.py:13309 .././mainapp.py:13502
+#: .././mainapp.py:13664 .././mainapp.py:13857
msgid "Are you sure you want to move this playlist:"
msgstr ""
-#: .././mainapp.py:13311 .././mainapp.py:13504
+#: .././mainapp.py:13666 .././mainapp.py:13859
msgid "Are you sure you want to move this folder:"
msgstr ""
-#: .././mainapp.py:13316
+#: .././mainapp.py:13671
msgid ""
"This procedure will move all downloaded files to the top level of Tartube's "
"data folder"
msgstr ""
-#: .././mainapp.py:13354 .././mainapp.py:13559
+#: .././mainapp.py:13709 .././mainapp.py:13914
#, python-brace-format
msgid "Could not move '{0}' (filesystem error)"
msgstr ""
-#: .././mainapp.py:13422
+#: .././mainapp.py:13777
msgid "Channels, playlists and folders can only be dragged into a folder"
msgstr ""
-#: .././mainapp.py:13435
+#: .././mainapp.py:13790
#, python-brace-format
msgid "The fixed folder '{0}' cannot be moved (but it can still be hidden)"
msgstr ""
-#: .././mainapp.py:13448
+#: .././mainapp.py:13803
#, python-brace-format
msgid "The folder '{0}' can only contain videos"
msgstr ""
-#: .././mainapp.py:13460
+#: .././mainapp.py:13815
#, python-brace-format
msgid "The folder '{0}' can only contain other folders and videos"
msgstr ""
-#: .././mainapp.py:13487
+#: .././mainapp.py:13842
msgid ""
"You probably created that file/folder accidentally, in which case, you "
"should delete it manually before trying again"
msgstr ""
-#: .././mainapp.py:13506
+#: .././mainapp.py:13861
msgid "into this folder:"
msgstr ""
-#: .././mainapp.py:13510
+#: .././mainapp.py:13865
msgid "This procedure will move all downloaded files to the new location"
msgstr ""
-#: .././mainapp.py:13516 .././mainapp.py:13648
+#: .././mainapp.py:13871 .././mainapp.py:14004
msgid ""
"WARNING: The destination folder is marked as temporary, so everything inside "
"it will be DELETED when Tartube restarts!"
msgstr ""
-#: .././mainapp.py:13626
+#: .././mainapp.py:13982
msgid "Videos cannot be dragged into this folder"
msgstr ""
-#: .././mainapp.py:13636
+#: .././mainapp.py:13992
#, python-brace-format
msgid "Are you sure you want to move the video to '{0}'?"
msgstr ""
-#: .././mainapp.py:13642
+#: .././mainapp.py:13998
#, python-brace-format
msgid "Are you sure you want to move '{0}' videos to '{1}'?"
msgstr ""
#. Show confirmation dialogue
-#: .././mainapp.py:13783
+#: .././mainapp.py:14139
msgid "Videos moved"
msgstr ""
-#: .././mainapp.py:13784
+#: .././mainapp.py:14140
msgid "Videos not moved:"
msgstr ""
-#: .././mainapp.py:14182
+#: .././mainapp.py:14538
msgid ""
"Are you SURE you want to delete files? This procedure cannot be reversed!"
msgstr ""
-#: .././mainapp.py:14199
+#: .././mainapp.py:14555
msgid ""
"Are you SURE you want to remove these items from your database? This "
"procedure cannot be reversed!"
msgstr ""
-#: .././mainapp.py:16130 .././mainapp.py:16251 .././mainapp.py:16438
+#: .././mainapp.py:16486 .././mainapp.py:16607 .././mainapp.py:16794
#, python-brace-format
msgid "The channel contains {0} item(s), so this action may take a while"
msgstr ""
-#: .././mainapp.py:16136 .././mainapp.py:16257 .././mainapp.py:16444
+#: .././mainapp.py:16492 .././mainapp.py:16613 .././mainapp.py:16800
#, python-brace-format
msgid "The playlist contains {0} item(s), so this action may take a while"
msgstr ""
-#: .././mainapp.py:16142 .././mainapp.py:16263 .././mainapp.py:16450
+#: .././mainapp.py:16498 .././mainapp.py:16619 .././mainapp.py:16806
#, python-brace-format
msgid "The folder contains {0} item(s), so this action may take a while"
msgstr ""
-#: .././mainapp.py:16515 .././mainapp.py:22150 .././mainapp.py:22292
-#: .././mainapp.py:22429 .././config.py:26219
+#: .././mainapp.py:16871 .././mainapp.py:22526 .././mainapp.py:22668
+#: .././mainapp.py:22805 .././config.py:26816
#, python-brace-format
msgid "The name '{0}' is not allowed"
msgstr ""
-#: .././mainapp.py:16524 .././config.py:16624 .././config.py:26210
+#: .././mainapp.py:16880 .././config.py:16689 .././config.py:26807
#, python-brace-format
msgid "The name '{0}' is already in use"
msgstr ""
-#: .././mainapp.py:16534
+#: .././mainapp.py:16890
#, python-brace-format
msgid "Failed to rename '{0}'"
msgstr ""
#. Confirm the result
-#: .././mainapp.py:16734
+#: .././mainapp.py:17090
msgid "Search/replace complete"
msgstr ""
-#: .././mainapp.py:16735
+#: .././mainapp.py:17091
#, python-brace-format
msgid "Updated URLs: {0}"
msgstr ""
-#: .././mainapp.py:16736
+#: .././mainapp.py:17092
#, python-brace-format
msgid "Errors: {0}"
msgstr ""
-#: .././mainapp.py:16999
+#: .././mainapp.py:17355
msgid "Select where to save the database export"
msgstr ""
-#: .././mainapp.py:17129
+#: .././mainapp.py:17485
msgid "There is nothing to export!"
msgstr ""
-#: .././mainapp.py:17169 .././mainapp.py:17214 .././mainapp.py:17267
-#: .././config.py:27800
+#: .././mainapp.py:17525 .././mainapp.py:17570 .././mainapp.py:17623
+#: .././config.py:28430
msgid "Failed to save the database export file:"
msgstr ""
-#: .././mainapp.py:17275 .././config.py:27790
+#: .././mainapp.py:17631 .././config.py:28420
msgid "Database export file saved to:"
msgstr ""
-#: .././mainapp.py:17540
+#: .././mainapp.py:17896
msgid "Select the database export"
msgstr ""
-#: .././mainapp.py:17558 .././mainapp.py:17569 .././mainapp.py:17603
+#: .././mainapp.py:17914 .././mainapp.py:17925 .././mainapp.py:17959
msgid "Failed to load the database export file"
msgstr ""
-#: .././mainapp.py:17586
+#: .././mainapp.py:17942
msgid "The database export file is invalid"
msgstr ""
-#: .././mainapp.py:17617
+#: .././mainapp.py:17973
msgid "The database export file is invalid (or empty)"
msgstr ""
-#: .././mainapp.py:17662
+#: .././mainapp.py:18018
msgid "Nothing was imported from the database export file"
msgstr ""
#. Show a confirmation
-#: .././mainapp.py:17676
+#: .././mainapp.py:18032
msgid "Imported into database"
msgstr ""
-#: .././mainapp.py:17677 .././mainwin.py:1691 .././config.py:962
-#: .././config.py:17091 .././config.py:20294
+#: .././mainapp.py:18033 .././mainwin.py:1703 .././config.py:962
+#: .././config.py:17283 .././config.py:20604
msgid "Videos"
msgstr ""
-#: .././mainapp.py:17678 .././config.py:17124 .././config.py:20327
+#: .././mainapp.py:18034 .././config.py:17316 .././config.py:20637
msgid "Channels"
msgstr ""
-#: .././mainapp.py:17679 .././config.py:17135 .././config.py:20338
+#: .././mainapp.py:18035 .././config.py:17327 .././config.py:20648
msgid "Playlists"
msgstr ""
-#: .././mainapp.py:17680
+#: .././mainapp.py:18036
msgid "Folders"
msgstr ""
-#: .././mainapp.py:18446
+#: .././mainapp.py:18802
msgid ""
"The video file is missing from Tartube's data folder (try downloading the "
"video again!)"
msgstr ""
-#: .././mainapp.py:18789
+#: .././mainapp.py:19145
msgid "Select where to save the custom download export"
msgstr ""
-#: .././mainapp.py:18846
+#: .././mainapp.py:19202
msgid "Failed to save the custom download export file:"
msgstr ""
-#: .././mainapp.py:18854
+#: .././mainapp.py:19210
msgid "Custom download exported to:"
msgstr ""
-#: .././mainapp.py:18882
+#: .././mainapp.py:19238
msgid "Select the custom download export file"
msgstr ""
-#: .././mainapp.py:18901
+#: .././mainapp.py:19257
msgid "Failed to load the custom download export file"
msgstr ""
-#: .././mainapp.py:18918
+#: .././mainapp.py:19274
msgid "The custom download export file is invalid"
msgstr ""
-#: .././mainapp.py:18929
+#: .././mainapp.py:19285
msgid "The custom download export file is invalid (or empty)"
msgstr ""
-#: .././mainapp.py:19452 .././mainapp.py:19813
+#: .././mainapp.py:19816 .././mainapp.py:20177
msgid "Select where to save the options export"
msgstr ""
-#: .././mainapp.py:19500 .././mainapp.py:19861
+#: .././mainapp.py:19864 .././mainapp.py:20225
msgid "Failed to save the options export file:"
msgstr ""
-#: .././mainapp.py:19508
+#: .././mainapp.py:19872
msgid "Download options exported to to:"
msgstr ""
-#: .././mainapp.py:19536 .././mainapp.py:19897
+#: .././mainapp.py:19900 .././mainapp.py:20261
msgid "Select the options export file"
msgstr ""
-#: .././mainapp.py:19555 .././mainapp.py:19916
+#: .././mainapp.py:19919 .././mainapp.py:20280
msgid "Failed to load the options export file"
msgstr ""
-#: .././mainapp.py:19572 .././mainapp.py:19933
+#: .././mainapp.py:19936 .././mainapp.py:20297
msgid "The options export file is invalid"
msgstr ""
-#: .././mainapp.py:19583 .././mainapp.py:19944
+#: .././mainapp.py:19947 .././mainapp.py:20308
msgid "The options export file is invalid (or empty)"
msgstr ""
-#: .././mainapp.py:19869
+#: .././mainapp.py:20233
msgid "FFmpeg options exported to to:"
msgstr ""
-#: .././mainapp.py:20881
+#: .././mainapp.py:21257
msgid "Please select a destination folder"
msgstr ""
#. Prompt for confirmation
-#: .././mainapp.py:20947
+#: .././mainapp.py:21323
msgid "Are you sure you want to clear this list?"
msgstr ""
#. Prompt for confirmation
-#: .././mainapp.py:20991
+#: .././mainapp.py:21367
msgid "Are you sure you want to clear downloaded videos?"
msgstr ""
-#: .././mainapp.py:21088 .././mainwin.py:16836
+#: .././mainapp.py:21464 .././mainwin.py:17152
msgid "Only checked/downloaded videos can be processed by FFmpeg"
msgstr ""
-#: .././mainapp.py:21195
+#: .././mainapp.py:21571
msgid "No destination(s) to show"
msgstr ""
-#: .././mainapp.py:21242
+#: .././mainapp.py:21618
msgid "No video(s) have been downloaded"
msgstr ""
#. Prompt for confirmation
-#: .././mainapp.py:21369
+#: .././mainapp.py:21745
msgid "Are you sure you want to remove the selected item(s)?"
msgstr ""
-#: .././mainapp.py:22141
+#: .././mainapp.py:22517
msgid "You must give the channel a name"
msgstr ""
-#: .././mainapp.py:22159 .././mainapp.py:22438
+#: .././mainapp.py:22535 .././mainapp.py:22814
msgid "You must enter a valid URL"
msgstr ""
-#: .././mainapp.py:22186 .././mainapp.py:22314 .././mainapp.py:22464
+#: .././mainapp.py:22562 .././mainapp.py:22690 .././mainapp.py:22840
msgid "That name is not permitted on your system"
msgstr ""
-#: .././mainapp.py:22284
+#: .././mainapp.py:22660
msgid "You must give the folder a name"
msgstr ""
-#: .././mainapp.py:22420
+#: .././mainapp.py:22796
msgid "You must give the playlist a name"
msgstr ""
-#: .././mainapp.py:22645
+#: .././mainapp.py:23021
msgid "There were no livestream alerts to cancel"
msgstr ""
-#: .././mainapp.py:22647
+#: .././mainapp.py:23023
msgid "Livestream alerts for 1 video were cancelled"
msgstr ""
-#: .././mainapp.py:22650
+#: .././mainapp.py:23026
#, python-brace-format
msgid "Livestream alerts for {0} videos were cancelled"
msgstr ""
-#: .././mainapp.py:23063
+#: .././mainapp.py:23456
msgid ""
"Before trying to reset channel/playlist names, you must check or download at "
"one least one video from each!"
msgstr ""
-#: .././mainapp.py:23140
+#: .././mainapp.py:23533
msgid "All Tartube data has been saved"
msgstr ""
-#: .././mainapp.py:23167
+#: .././mainapp.py:23560
msgid "Database saved"
msgstr ""
-#: .././mainapp.py:23464 .././mainwin.py:15720
+#: .././mainapp.py:23857 .././mainwin.py:15964
msgid ""
"Files cannot be recovered, after being deleted. Are you sure you want to "
"continue?"
@@ -816,303 +816,307 @@ msgstr ""
#. Because livestream operations run silently in the background, when
#. the user goes to the trouble of clicking a menu item in the
#. main window's menu, tell them why nothing is happening
-#: .././mainapp.py:23501
+#: .././mainapp.py:23894
msgid "Cannot update existing livestreams because"
msgstr ""
-#: .././mainapp.py:23503
+#: .././mainapp.py:23896
msgid "there is another operation running"
msgstr ""
-#: .././mainapp.py:23505
+#: .././mainapp.py:23898
msgid "they are currently being updated"
msgstr ""
-#: .././mainapp.py:23507
+#: .././mainapp.py:23900
msgid "one or more configuration windows are open"
msgstr ""
-#: .././mainapp.py:23509
+#: .././mainapp.py:23902
msgid "there are no livestreams to update"
msgstr ""
-#: .././mainapp.py:23574
+#: .././mainapp.py:23967
msgid "There is already a channel with that name"
msgstr ""
-#: .././mainapp.py:23576
+#: .././mainapp.py:23969
msgid "There is already a playlist with that name"
msgstr ""
-#: .././mainapp.py:23578
+#: .././mainapp.py:23971
msgid "There is already a folder with that name"
msgstr ""
-#: .././mainapp.py:23581
+#: .././mainapp.py:23974
msgid "(so please choose a different name)"
msgstr ""
-#: .././mainwin.py:984
+#: .././mainwin.py:988
msgid "Tartube cannot start because it cannot find its icons folder"
msgstr ""
#. File column
-#: .././mainwin.py:1262 .././config.py:10351
+#: .././mainwin.py:1266 .././config.py:10390
msgid "_File"
msgstr ""
-#: .././mainwin.py:1269
+#: .././mainwin.py:1273
msgid "_Database preferences..."
msgstr ""
-#: .././mainwin.py:1275
+#: .././mainwin.py:1279
msgid "_Check database integrity"
msgstr ""
-#: .././mainwin.py:1284
+#: .././mainwin.py:1288
msgid "_Save database"
msgstr ""
-#: .././mainwin.py:1290
+#: .././mainwin.py:1294
msgid "Save _all"
msgstr ""
-#: .././mainwin.py:1299
-msgid "_Close to tray"
+#: .././mainwin.py:1303
+msgid "Close to _tray"
msgstr ""
#. Quit
-#: .././mainwin.py:1304 .././mainwin.py:25743
+#: .././mainwin.py:1308 .././mainwin.py:26142
msgid "_Quit"
msgstr ""
#. Edit column
-#: .././mainwin.py:1309
+#: .././mainwin.py:1313
msgid "_Edit"
msgstr ""
-#: .././mainwin.py:1316
+#: .././mainwin.py:1320
msgid "_System preferences..."
msgstr ""
-#: .././mainwin.py:1322
+#: .././mainwin.py:1326
msgid "_General download options..."
msgstr ""
#. Separator
-#: .././mainwin.py:1331
+#: .././mainwin.py:1335
msgid "_System"
msgstr ""
-#: .././mainwin.py:1338
-msgid "_Open MSYS2 terminal..."
+#: .././mainwin.py:1342
+msgid "Open _MSYS2 terminal..."
msgstr ""
-#: .././mainwin.py:1347
+#: .././mainwin.py:1351
msgid "Show Tartube _install folder"
msgstr ""
-#: .././mainwin.py:1355
+#: .././mainwin.py:1359
msgid "Show Tartube _script folder"
msgstr ""
#. Media column
-#: .././mainwin.py:1361 .././config.py:18033
+#: .././mainwin.py:1365 .././config.py:18225
msgid "_Media"
msgstr ""
-#: .././mainwin.py:1368
+#: .././mainwin.py:1372
msgid "Add _videos..."
msgstr ""
-#: .././mainwin.py:1374
+#: .././mainwin.py:1378
msgid "Add _channel..."
msgstr ""
-#: .././mainwin.py:1380
+#: .././mainwin.py:1384
msgid "Add _playlist..."
msgstr ""
-#: .././mainwin.py:1386
+#: .././mainwin.py:1390
msgid "Add _folder..."
msgstr ""
-#: .././mainwin.py:1395
+#: .././mainwin.py:1399
msgid "_Add many channels/playlists..."
msgstr ""
-#: .././mainwin.py:1401
+#: .././mainwin.py:1405
msgid "_Reset channel/playlist names..."
msgstr ""
-#: .././mainwin.py:1414
+#: .././mainwin.py:1418
msgid "_Export from database..."
msgstr ""
-#: .././mainwin.py:1420
+#: .././mainwin.py:1424
msgid "_Import into database..."
msgstr ""
-#: .././mainwin.py:1426
+#: .././mainwin.py:1430
msgid "Import _YouTube subscriptions..."
msgstr ""
-#: .././mainwin.py:1434
+#: .././mainwin.py:1438
msgid "_Export/import"
msgstr ""
-#: .././mainwin.py:1442
+#: .././mainwin.py:1446
msgid "_Switch between views"
msgstr ""
-#: .././mainwin.py:1452
+#: .././mainwin.py:1456
msgid "_Hide (most) system folders"
msgstr ""
-#: .././mainwin.py:1460
-msgid "Sh_ow hidden folders"
+#: .././mainwin.py:1464
+msgid "_Show hidden folders"
msgstr ""
-#: .././mainwin.py:1465
-msgid "_Show/hide"
+#: .././mainwin.py:1469
+msgid "S_how/hide"
msgstr ""
-#: .././mainwin.py:1471
+#: .././mainwin.py:1475
msgid "_Unmark channels/playlists/folders"
msgstr ""
-#: .././mainwin.py:1487
-msgid "_Add test media"
+#: .././mainwin.py:1491
+msgid "Ad_d test media"
msgstr ""
-#: .././mainwin.py:1495
-msgid "_Run test code"
+#: .././mainwin.py:1499
+msgid "Run _test code"
msgstr ""
#. Operations column
#. Add this tab...
-#: .././mainwin.py:1501 .././config.py:21816
+#: .././mainwin.py:1505 .././config.py:22134
msgid "_Operations"
msgstr ""
#. Check all
-#: .././mainwin.py:1508 .././mainwin.py:25714
+#: .././mainwin.py:1512 .././mainwin.py:26113
msgid "_Check all"
msgstr ""
#. Download all
-#: .././mainwin.py:1514 .././mainwin.py:25721
+#: .././mainwin.py:1518 .././mainwin.py:26120
msgid "_Download all"
msgstr ""
-#: .././mainwin.py:1521
+#: .././mainwin.py:1525
msgid "C_ustom download all"
msgstr ""
-#: .././mainwin.py:1529
+#: .././mainwin.py:1533
msgid "_Refresh database..."
msgstr ""
-#: .././mainwin.py:1539
+#: .././mainwin.py:1543
msgid "U_pdate"
msgstr ""
-#: .././mainwin.py:1545 .././mainwin.py:4045
+#: .././mainwin.py:1549 .././mainwin.py:4099
msgid "_Test"
msgstr ""
-#: .././mainwin.py:1556
-msgid "_Install FFmpeg..."
+#: .././mainwin.py:1560
+msgid "Install _FFmpeg..."
msgstr ""
-#: .././mainwin.py:1564
-msgid "_Install matplotlib..."
+#: .././mainwin.py:1568
+msgid "Install _matplotlib..."
msgstr ""
-#: .././mainwin.py:1575
+#: .././mainwin.py:1576
+msgid "Install _streamlink..."
+msgstr ""
+
+#: .././mainwin.py:1587
msgid "Tidy up _files..."
msgstr ""
-#: .././mainwin.py:1586 .././mainwin.py:25732
+#: .././mainwin.py:1598 .././mainwin.py:26131
msgid "_Stop current operation"
msgstr ""
-#: .././mainwin.py:1594
-msgid "_Stop after current videos"
+#: .././mainwin.py:1606
+msgid "Stop _after current videos"
msgstr ""
#. Livestreams column
-#: .././mainwin.py:1602
+#: .././mainwin.py:1614
msgid "_Livestreams"
msgstr ""
-#: .././mainwin.py:1609
+#: .././mainwin.py:1621
msgid "_Livestream preferences..."
msgstr ""
-#: .././mainwin.py:1618
+#: .././mainwin.py:1630
msgid "_Update existing livestreams"
msgstr ""
-#: .././mainwin.py:1623
+#: .././mainwin.py:1635
msgid "_Cancel all livestream alerts"
msgstr ""
#. Help column
-#: .././mainwin.py:1628
+#: .././mainwin.py:1640
msgid "_Help"
msgstr ""
-#: .././mainwin.py:1634
+#: .././mainwin.py:1646
msgid "_About..."
msgstr ""
-#: .././mainwin.py:1642
+#: .././mainwin.py:1654
msgid "Check for _updates"
msgstr ""
-#: .././mainwin.py:1648
+#: .././mainwin.py:1660
msgid "Go to _website"
msgstr ""
-#: .././mainwin.py:1657
+#: .././mainwin.py:1669
msgid "Send _feedback"
msgstr ""
-#: .././mainwin.py:1701
+#: .././mainwin.py:1713
msgid "Add new video(s)"
msgstr ""
-#: .././mainwin.py:1710 .././mainwin.py:24071 .././media.py:82
+#: .././mainwin.py:1722 .././mainwin.py:24470 .././media.py:82
msgid "Channel"
msgstr ""
-#: .././mainwin.py:1720
+#: .././mainwin.py:1732
msgid "Add a new channel"
msgstr ""
-#: .././mainwin.py:1731 .././mainwin.py:24073 .././media.py:84
+#: .././mainwin.py:1743 .././mainwin.py:24472 .././media.py:84
msgid "Playlist"
msgstr ""
-#: .././mainwin.py:1741
+#: .././mainwin.py:1753
msgid "Add a new playlist"
msgstr ""
-#: .././mainwin.py:1752 .././mainwin.py:24075 .././media.py:86
+#: .././mainwin.py:1764 .././mainwin.py:24474 .././media.py:86
msgid "Folder"
msgstr ""
-#: .././mainwin.py:1762
+#: .././mainwin.py:1774
msgid "Add a new folder"
msgstr ""
-#: .././mainwin.py:1776 .././config.py:21626
+#: .././mainwin.py:1788 .././config.py:21944
msgid "Check"
msgstr ""
-#: .././mainwin.py:1787 .././mainwin.py:2034 .././mainwin.py:4584
-#: .././mainwin.py:4882
+#: .././mainwin.py:1799 .././mainwin.py:2046 .././mainwin.py:4652
+#: .././mainwin.py:4843 .././mainwin.py:5002
msgid "Check all videos, channels, playlists and folders"
msgstr ""
@@ -1122,318 +1126,327 @@ msgstr ""
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
#. Link not clickable
-#: .././mainwin.py:1797 .././mainwin.py:21961 .././mainwin.py:21973
-#: .././mainwin.py:21978 .././mainwin.py:21986 .././mainwin.py:22255
-#: .././mainwin.py:22267 .././mainwin.py:22951 .././mainwin.py:24254
-#: .././mainwin.py:24266 .././mainwin.py:24292 .././config.py:21502
-#: .././config.py:21628
+#: .././mainwin.py:1809 .././mainwin.py:22340 .././mainwin.py:22352
+#: .././mainwin.py:22357 .././mainwin.py:22365 .././mainwin.py:22651
+#: .././mainwin.py:22663 .././mainwin.py:23347 .././mainwin.py:24653
+#: .././mainwin.py:24665 .././mainwin.py:24691 .././config.py:21820
+#: .././config.py:21946
msgid "Download"
msgstr ""
-#: .././mainwin.py:1808 .././mainwin.py:2042 .././mainwin.py:4598
-#: .././mainwin.py:4898
+#: .././mainwin.py:1820 .././mainwin.py:2054 .././mainwin.py:4666
+#: .././mainwin.py:5018
msgid "Download all videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:1823 .././config.py:11036 .././config.py:11221
-#: .././config.py:11676 .././config.py:11883 .././config.py:14343
-#: .././config.py:14524
+#: .././mainwin.py:1835 .././config.py:11075 .././config.py:11260
+#: .././config.py:11715 .././config.py:11922 .././config.py:14382
+#: .././config.py:14563
msgid "Stop"
msgstr ""
-#: .././mainwin.py:1835
+#: .././mainwin.py:1847
msgid "Stop the current operation"
msgstr ""
-#: .././mainwin.py:1847
+#: .././mainwin.py:1859
msgid "Switch"
msgstr ""
-#: .././mainwin.py:1858
+#: .././mainwin.py:1870
msgid "Switch between simple and complex views"
msgstr ""
-#: .././mainwin.py:1871 .././mainwin.py:4086
+#: .././mainwin.py:1883 .././mainwin.py:4140
msgid "Hide"
msgstr ""
-#: .././mainwin.py:1873 .././mainwin.py:4093
+#: .././mainwin.py:1885 .././mainwin.py:4147
msgid "Show"
msgstr ""
-#: .././mainwin.py:1885 .././mainwin.py:4088
+#: .././mainwin.py:1897 .././mainwin.py:4142
msgid "Hide (most) system folders"
msgstr ""
-#: .././mainwin.py:1889 .././mainwin.py:4095
+#: .././mainwin.py:1901 .././mainwin.py:4149
msgid "Show all system folders"
msgstr ""
-#: .././mainwin.py:1904
+#: .././mainwin.py:1916
msgid "Quit"
msgstr ""
-#: .././mainwin.py:1914
+#: .././mainwin.py:1926
msgid "Close Tartube"
msgstr ""
-#: .././mainwin.py:1933 .././config.py:4869 .././config.py:12097
-#: .././config.py:19721 .././config.py:20716
+#: .././mainwin.py:1945 .././config.py:4869 .././config.py:12136
+#: .././config.py:19947 .././config.py:21026
msgid "_Videos"
msgstr ""
-#: .././mainwin.py:1941
+#: .././mainwin.py:1953
msgid "_Progress"
msgstr ""
-#: .././mainwin.py:1949
+#: .././mainwin.py:1961
msgid "_Classic Mode"
msgstr ""
-#: .././mainwin.py:1958
+#: .././mainwin.py:1970
msgid "_Drag and Drop"
msgstr ""
-#: .././mainwin.py:1967
+#: .././mainwin.py:1979
msgid "_Output"
msgstr ""
-#: .././mainwin.py:1976 .././config.py:15291 .././config.py:16513
+#: .././mainwin.py:1988 .././config.py:15330 .././config.py:16578
msgid "_Errors / Warnings"
msgstr ""
-#: .././mainwin.py:2032 .././mainwin.py:4582 .././mainwin.py:4880
+#: .././mainwin.py:2044 .././mainwin.py:4650 .././mainwin.py:4841
+#: .././mainwin.py:5000
msgid "Check all"
msgstr ""
-#: .././mainwin.py:2040 .././mainwin.py:3488 .././mainwin.py:4596
-#: .././mainwin.py:18673
+#: .././mainwin.py:2052 .././mainwin.py:3542 .././mainwin.py:4664
+#: .././mainwin.py:19002
msgid "Download all"
msgstr ""
-#: .././mainwin.py:2058 .././mainwin.py:3492 .././mainwin.py:4620
-#: .././mainwin.py:18664
+#: .././mainwin.py:2070 .././mainwin.py:3546 .././mainwin.py:4688
+#: .././mainwin.py:18993
msgid "Custom download all"
msgstr ""
-#: .././mainwin.py:2061 .././mainwin.py:4623 .././mainwin.py:4923
+#: .././mainwin.py:2073 .././mainwin.py:4691 .././mainwin.py:5043
msgid ""
"Perform a custom download of all videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:2078 .././mainwin.py:4650 .././mainwin.py:4940
+#: .././mainwin.py:2090 .././mainwin.py:4718 .././mainwin.py:5060
msgid "Select the custom download to use"
msgstr ""
-#: .././mainwin.py:2135
+#: .././mainwin.py:2147
msgid "Page"
msgstr ""
-#: .././mainwin.py:2146
+#: .././mainwin.py:2158
msgid "Set visible page"
msgstr ""
-#: .././mainwin.py:2176 .././mainwin.py:2649 .././mainwin.py:2735
-#: .././mainwin.py:3273
+#: .././mainwin.py:2188 .././mainwin.py:2691 .././mainwin.py:2777
+#: .././mainwin.py:3327
msgid "Size"
msgstr ""
-#: .././mainwin.py:2186
+#: .././mainwin.py:2198
msgid "Set page size"
msgstr ""
-#: .././mainwin.py:2209
+#: .././mainwin.py:2221
msgid "Go to first page"
msgstr ""
-#: .././mainwin.py:2224
+#: .././mainwin.py:2236
msgid "Go to previous page"
msgstr ""
-#: .././mainwin.py:2241
+#: .././mainwin.py:2253
msgid "Go to next page"
msgstr ""
-#: .././mainwin.py:2256
+#: .././mainwin.py:2268
msgid "Go to last page"
msgstr ""
-#: .././mainwin.py:2271
+#: .././mainwin.py:2283
msgid "Scroll up"
msgstr ""
-#: .././mainwin.py:2286
+#: .././mainwin.py:2298
msgid "Scroll down"
msgstr ""
-#: .././mainwin.py:2305 .././mainwin.py:5104
+#: .././mainwin.py:2317 .././mainwin.py:5224
msgid "Show more settings"
msgstr ""
-#: .././mainwin.py:2318
+#: .././mainwin.py:2330
msgid "Sort"
msgstr ""
-#: .././mainwin.py:2324 .././config.py:14064
+#: .././mainwin.py:2336 .././config.py:14103
msgid "Upload time"
msgstr ""
-#: .././mainwin.py:2325 .././mainwin.py:26123 .././mainwin.py:29622
-#: .././config.py:3009 .././config.py:12121 .././config.py:20023
-#: .././config.py:21502 .././config.py:22477 .././config.py:24433
-#: .././config.py:24713
+#: .././mainwin.py:2337 .././mainwin.py:26522 .././mainwin.py:30023
+#: .././config.py:3009 .././config.py:12160 .././config.py:20333
+#: .././config.py:21820 .././config.py:22851 .././config.py:24928
+#: .././config.py:25208
msgid "Name"
msgstr ""
-#: .././mainwin.py:2326
+#: .././mainwin.py:2338
msgid "Download time"
msgstr ""
-#: .././mainwin.py:2327
+#: .././mainwin.py:2339
msgid "Database ID"
msgstr ""
-#: .././mainwin.py:2354
+#: .././mainwin.py:2366
msgid "Resort videos"
msgstr ""
-#: .././mainwin.py:2367
+#: .././mainwin.py:2379
msgid "Find date"
msgstr ""
-#: .././mainwin.py:2380
+#: .././mainwin.py:2392
msgid "Find videos by date"
msgstr ""
-#: .././mainwin.py:2397
+#: .././mainwin.py:2409
msgid "Cancel find videos by date"
msgstr ""
-#: .././mainwin.py:2410 .././mainwin.py:3862 .././config.py:14769
+#: .././mainwin.py:2422
+msgid "Thumbnail size"
+msgstr ""
+
+#: .././mainwin.py:2451 .././mainwin.py:3916 .././config.py:14808
msgid "Filter"
msgstr ""
-#: .././mainwin.py:2418 .././mainwin.py:3868 .././config.py:14779
+#: .././mainwin.py:2459 .././mainwin.py:3922 .././config.py:14818
msgid "Enter search text"
msgstr ""
-#: .././mainwin.py:2423 .././mainwin.py:3870 .././config.py:14782
+#: .././mainwin.py:2464 .././mainwin.py:3924 .././config.py:14821
msgid "Regex"
msgstr ""
-#: .././mainwin.py:2431 .././mainwin.py:3873
+#: .././mainwin.py:2472 .././mainwin.py:3927
msgid "Select if search text is a regex"
msgstr ""
-#: .././mainwin.py:2447
+#: .././mainwin.py:2488
msgid "Names"
msgstr ""
-#: .././mainwin.py:2461
+#: .././mainwin.py:2502
msgid "Descriptions"
msgstr ""
-#: .././mainwin.py:2475 .././config.py:14682
+#: .././mainwin.py:2516 .././config.py:14721
msgid "Comments"
msgstr ""
-#: .././mainwin.py:2495
+#: .././mainwin.py:2536
msgid "Filter videos"
msgstr ""
-#: .././mainwin.py:2512 .././mainwin.py:3927
+#: .././mainwin.py:2553 .././mainwin.py:3981
msgid "Cancel filter"
msgstr ""
-#: .././mainwin.py:2525
-msgid "Thumbnail size"
+#: .././mainwin.py:2569
+msgid "Draw frames"
+msgstr ""
+
+#: .././mainwin.py:2583
+msgid "Draw icons"
msgstr ""
-#: .././mainwin.py:2557
-msgid "Show frames"
+#: .././mainwin.py:2597
+msgid "Show downloaded"
msgstr ""
-#: .././mainwin.py:2571
-msgid "Show icons"
+#: .././mainwin.py:2612
+msgid "Show undownloaded"
msgstr ""
-#: .././mainwin.py:2585
-msgid "Show blocked videos"
+#: .././mainwin.py:2627
+msgid "Show blocked"
msgstr ""
-#: .././mainwin.py:2642
+#: .././mainwin.py:2684
msgid "TRANSLATOR'S NOTE: Ext is short for a file extension, e.g. .EXE"
msgstr ""
-#: .././mainwin.py:2647 .././mainwin.py:3271 .././config.py:10493
+#: .././mainwin.py:2689 .././mainwin.py:3325 .././config.py:10532
msgid "Source"
msgstr ""
-#: .././mainwin.py:2647 .././mainwin.py:3271
+#: .././mainwin.py:2689 .././mainwin.py:3325
msgid "Status"
msgstr ""
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Incoming file"
msgstr ""
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Ext"
msgstr ""
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "Speed"
msgstr ""
-#: .././mainwin.py:2648 .././mainwin.py:3272
+#: .././mainwin.py:2690 .././mainwin.py:3326
msgid "ETA"
msgstr ""
-#: .././mainwin.py:2735 .././config.py:16239
+#: .././mainwin.py:2777 .././config.py:16279
msgid "New videos"
msgstr ""
-#: .././mainwin.py:2735 .././config.py:440 .././config.py:14034
+#: .././mainwin.py:2777 .././config.py:440 .././config.py:14073
msgid "Duration"
msgstr ""
-#: .././mainwin.py:2736
+#: .././mainwin.py:2778
msgid "Date"
msgstr ""
-#: .././mainwin.py:2736 .././config.py:13905
+#: .././mainwin.py:2778 .././config.py:13944
msgid "File"
msgstr ""
-#: .././mainwin.py:2736
+#: .././mainwin.py:2778
msgid "Downloaded to"
msgstr ""
-#: .././mainwin.py:2797
+#: .././mainwin.py:2839
msgid "Max downloads"
msgstr ""
-#: .././mainwin.py:2820
+#: .././mainwin.py:2862
msgid "D/L speed (KiB/s)"
msgstr ""
-#: .././mainwin.py:2844 .././mainwin.py:5309
+#: .././mainwin.py:2886 .././mainwin.py:5429
msgid "Alternative limits do not currently apply"
msgstr ""
-#: .././mainwin.py:2855 .././config.py:5272
+#: .././mainwin.py:2897 .././config.py:5274
msgid "Video resolution"
msgstr ""
-#: .././mainwin.py:2890
+#: .././mainwin.py:2932
msgid "Hide rows when they are finished"
msgstr ""
-#: .././mainwin.py:2903
+#: .././mainwin.py:2945
msgid "Add newest videos to the top of the list"
msgstr ""
-#: .././mainwin.py:2988
+#: .././mainwin.py:3030
msgid "Open the Classic Mode menu"
msgstr ""
@@ -1441,7 +1454,7 @@ msgstr ""
#. enabled, URLs are automatically copied into this textview
#. --------------------------------------------------------------------
#. Initial widgets
-#: .././mainwin.py:2995 .././mainwin.py:26011
+#: .././mainwin.py:3037 .././mainwin.py:26410
msgid "Enter URLs below"
msgstr ""
@@ -1451,1004 +1464,1033 @@ msgstr ""
#. the specified destination and format
#. --------------------------------------------------------------------
#. Destination directory
-#: .././mainwin.py:3039
+#: .././mainwin.py:3081
msgid "Destination:"
msgstr ""
-#: .././mainwin.py:3076
+#: .././mainwin.py:3118
msgid "Add a new destination folder"
msgstr ""
-#: .././mainwin.py:3095
+#: .././mainwin.py:3137
msgid "Open the destination folder"
msgstr ""
#. Video/audio format
-#: .././mainwin.py:3100
+#: .././mainwin.py:3142
msgid "Format:"
msgstr ""
#. (Dummy items in the combo)
-#: .././mainwin.py:3104 .././mainwin.py:18439 .././config.py:22477
+#: .././mainwin.py:3146 .././mainwin.py:18755 .././config.py:22851
msgid "Default"
msgstr ""
-#: .././mainwin.py:3104 .././mainwin.py:18440
+#: .././mainwin.py:3146 .././mainwin.py:18756
msgid "Video:"
msgstr ""
-#: .././mainwin.py:3108 .././mainwin.py:18441
+#: .././mainwin.py:3150 .././mainwin.py:18757
msgid "Audio:"
msgstr ""
#. Video resolution
#. (Dummy items in the combo)
-#: .././mainwin.py:3137 .././mainwin.py:18941
+#: .././mainwin.py:3179 .././mainwin.py:19270
msgid "Highest"
msgstr ""
-#: .././mainwin.py:3168
-msgid "Convert to this format (requires FFmpeg)"
+#: .././mainwin.py:3210
+msgid "Convert to this format"
msgstr ""
-#: .././mainwin.py:3177
+#: .././mainwin.py:3219
msgid "Download in this format"
msgstr ""
-#: .././mainwin.py:3207
+#: .././mainwin.py:3232 .././config.py:5244
+msgid "Is a livestream"
+msgstr ""
+
+#: .././mainwin.py:3261
msgid "Add URLs"
msgstr ""
-#: .././mainwin.py:3213
+#: .././mainwin.py:3267
msgid "Add these URLs"
msgstr ""
-#: .././mainwin.py:3326
+#: .././mainwin.py:3380
msgid "Play video"
msgstr ""
-#: .././mainwin.py:3349
+#: .././mainwin.py:3403
msgid "Open destination(s)"
msgstr ""
-#: .././mainwin.py:3367
+#: .././mainwin.py:3421
msgid "Stop download"
msgstr ""
-#: .././mainwin.py:3388
+#: .././mainwin.py:3442
msgid "Re-download"
msgstr ""
-#: .././mainwin.py:3401
+#: .././mainwin.py:3455
msgid ""
"Allow downloader to create an archive file (enable this only when "
"downloading channels and playlists)"
msgstr ""
-#: .././mainwin.py:3431
+#: .././mainwin.py:3485
msgid "Process with FFmpeg"
msgstr ""
#. (Signal connect appears below)
-#: .././mainwin.py:3447 .././config.py:6506 .././config.py:19493
-#: .././config.py:21567
+#: .././mainwin.py:3501 .././config.py:6531 .././config.py:19719
+#: .././config.py:21885
msgid "Move up"
msgstr ""
#. (Signal connect appears below)
-#: .././mainwin.py:3468 .././config.py:6510 .././config.py:19502
-#: .././config.py:21576
+#: .././mainwin.py:3522 .././config.py:6535 .././config.py:19728
+#: .././config.py:21894
msgid "Move down"
msgstr ""
-#: .././mainwin.py:3484
+#: .././mainwin.py:3538
msgid "Remove from list"
msgstr ""
-#: .././mainwin.py:3500 .././mainwin.py:18676
+#: .././mainwin.py:3554 .././mainwin.py:19005
msgid "Download the URLs above"
msgstr ""
-#: .././mainwin.py:3504 .././mainwin.py:18667
+#: .././mainwin.py:3558 .././mainwin.py:18996
msgid "Perform a custom download on the URLs above"
msgstr ""
-#: .././mainwin.py:3508
+#: .././mainwin.py:3562
msgid "Clear all"
msgstr ""
-#: .././mainwin.py:3520 .././mainwin.py:3531
+#: .././mainwin.py:3574 .././mainwin.py:3585
msgid "Clear the URLs above"
msgstr ""
-#: .././mainwin.py:3524
+#: .././mainwin.py:3578
msgid "Clear downloaded"
msgstr ""
-#: .././mainwin.py:3577
+#: .././mainwin.py:3631
msgid "When you drag a video here, it is added to the Classic Mode tab"
msgstr ""
-#: .././mainwin.py:3586
+#: .././mainwin.py:3640
msgid "Each zone represents a set of download options"
msgstr ""
-#: .././mainwin.py:3596
+#: .././mainwin.py:3650
msgid "Warning: Drag and drop does not work well on MS Windows"
msgstr ""
-#: .././mainwin.py:3617
+#: .././mainwin.py:3671
msgid "Add a new dropzone"
msgstr ""
-#: .././mainwin.py:3670
+#: .././mainwin.py:3724
msgid "Maximum page size"
msgstr ""
-#: .././mainwin.py:3726 .././config.py:21259
+#: .././mainwin.py:3780 .././config.py:21577
msgid "Show Tartube errors"
msgstr ""
-#: .././mainwin.py:3739 .././config.py:21267
+#: .././mainwin.py:3793 .././config.py:21585
msgid "Show Tartube warnings"
msgstr ""
-#: .././mainwin.py:3752 .././config.py:21275
+#: .././mainwin.py:3806 .././config.py:21593
msgid "Show operation errors"
msgstr ""
-#: .././mainwin.py:3770 .././config.py:21286
+#: .././mainwin.py:3824 .././config.py:21604
msgid "Show operation warnings"
msgstr ""
-#: .././mainwin.py:3793 .././config.py:21297
+#: .././mainwin.py:3847 .././config.py:21615
msgid "Show dates"
msgstr ""
-#: .././mainwin.py:3811 .././config.py:21308
+#: .././mainwin.py:3865 .././config.py:21626
msgid "Show channel/playlist/folder names"
msgstr ""
-#: .././mainwin.py:3829 .././config.py:21319
+#: .././mainwin.py:3883 .././config.py:21637
msgid "Show video names"
msgstr ""
-#: .././mainwin.py:3847 .././config.py:21330
+#: .././mainwin.py:3901 .././config.py:21648
msgid "Show full messages"
msgstr ""
-#: .././mainwin.py:3910
+#: .././mainwin.py:3964
msgid "Filter messages"
msgstr ""
-#: .././mainwin.py:3932 .././config.py:11133 .././config.py:11337
-#: .././config.py:11773 .././config.py:12000 .././config.py:14431
-#: .././config.py:14623 .././config.py:16367 .././config.py:18135
+#: .././mainwin.py:3986 .././config.py:11172 .././config.py:11376
+#: .././config.py:11812 .././config.py:12039 .././config.py:14470
+#: .././config.py:14662 .././config.py:16407 .././config.py:18327
msgid "Clear list"
msgstr ""
-#: .././mainwin.py:4465
+#: .././mainwin.py:4525
msgid "Checking..."
msgstr ""
-#: .././mainwin.py:4467
+#: .././mainwin.py:4527 .././mainwin.py:4864 .././formats.py:1183
+msgid "Checking"
+msgstr ""
+
+#: .././mainwin.py:4530
msgid "Downloading..."
msgstr ""
-#: .././mainwin.py:4469
+#: .././mainwin.py:4532 .././mainwin.py:4866 .././formats.py:1180
+msgid "Downloading"
+msgstr ""
+
+#: .././mainwin.py:4535
msgid "Refreshing..."
msgstr ""
-#: .././mainwin.py:4471
+#: .././mainwin.py:4538
msgid "Tidying..."
msgstr ""
-#: .././mainwin.py:4473
+#: .././mainwin.py:4541
msgid "FFmpeg processing..."
msgstr ""
-#: .././mainwin.py:4587 .././mainwin.py:4885
+#: .././mainwin.py:4655 .././mainwin.py:4846 .././mainwin.py:5005
msgid "Check marked items"
msgstr ""
-#: .././mainwin.py:4589 .././mainwin.py:4888
+#: .././mainwin.py:4657 .././mainwin.py:4848 .././mainwin.py:5008
msgid "Check marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4601
+#: .././mainwin.py:4669
msgid "Download marked items"
msgstr ""
-#: .././mainwin.py:4603 .././mainwin.py:4904
+#: .././mainwin.py:4671 .././mainwin.py:5024
msgid "Download marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4629
+#: .././mainwin.py:4697
msgid "Custom download marked items"
msgstr ""
-#: .././mainwin.py:4633
+#: .././mainwin.py:4701
msgid ""
"Perform a custom download of marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:4852
+#: .././mainwin.py:4970
msgid "Installing FFmpeg"
msgstr ""
-#: .././mainwin.py:4854
+#: .././mainwin.py:4972
msgid "Installing matplotlib"
msgstr ""
-#: .././mainwin.py:4856
+#: .././mainwin.py:4974
+msgid "Installing streamlink"
+msgstr ""
+
+#: .././mainwin.py:4976
msgid "Updating downloader"
msgstr ""
-#: .././mainwin.py:4858
+#: .././mainwin.py:4978
msgid "Fetching formats"
msgstr ""
-#: .././mainwin.py:4860
+#: .././mainwin.py:4980
msgid "Fetching subtitles"
msgstr ""
-#: .././mainwin.py:4862
+#: .././mainwin.py:4982
msgid "Testing downloader"
msgstr ""
-#: .././mainwin.py:4864
+#: .././mainwin.py:4984
msgid "Contacting website"
msgstr ""
-#: .././mainwin.py:4933
+#: .././mainwin.py:5053
msgid ""
"Perform a custom download of marked videos, channels, playlists and folders"
msgstr ""
-#: .././mainwin.py:5134
+#: .././mainwin.py:5254
msgid "Show fewer settings"
msgstr ""
-#: .././mainwin.py:5299
+#: .././mainwin.py:5419
msgid "Alternative limits currently apply"
msgstr ""
-#: .././mainwin.py:5330
+#: .././mainwin.py:5450
msgid "This tab emulates the classic youtube-dl-gui interface"
msgstr ""
-#: .././mainwin.py:5335
+#: .././mainwin.py:5455
msgid "Videos downloaded here are not added to Tartube's database"
msgstr ""
-#: .././mainwin.py:5347 .././config.py:6440
+#: .././mainwin.py:5467 .././config.py:6465
msgid "If your preferred formats are not available, the download will fail!"
msgstr ""
-#: .././mainwin.py:5353
+#: .././mainwin.py:5473
msgid ""
"If you want a specific format, install FFMpeg and select 'Convert to this "
"format'!"
msgstr ""
-#: .././mainwin.py:5549
+#: .././mainwin.py:5669
msgid "_Check channel"
msgstr ""
-#: .././mainwin.py:5551
+#: .././mainwin.py:5671
msgid "_Check playlist"
msgstr ""
-#: .././mainwin.py:5553
+#: .././mainwin.py:5673
msgid "_Check folder"
msgstr ""
-#: .././mainwin.py:5574
+#: .././mainwin.py:5694
msgid "_Download channel"
msgstr ""
-#: .././mainwin.py:5576
+#: .././mainwin.py:5696
msgid "_Download playlist"
msgstr ""
-#: .././mainwin.py:5578
+#: .././mainwin.py:5698
msgid "_Download folder"
msgstr ""
-#: .././mainwin.py:5599
+#: .././mainwin.py:5719
msgid "C_ustom download channel"
msgstr ""
-#: .././mainwin.py:5601
+#: .././mainwin.py:5721
msgid "C_ustom download playlist"
msgstr ""
-#: .././mainwin.py:5603
+#: .././mainwin.py:5723
msgid "C_ustom download folder"
msgstr ""
-#: .././mainwin.py:5650
+#: .././mainwin.py:5770
msgid "_Empty folder"
msgstr ""
-#: .././mainwin.py:5662
+#: .././mainwin.py:5782
msgid "_All contents"
msgstr ""
-#: .././mainwin.py:5680
+#: .././mainwin.py:5800
msgid "_Remove videos"
msgstr ""
-#: .././mainwin.py:5692
+#: .././mainwin.py:5812
msgid "_Just folder videos"
msgstr ""
-#: .././mainwin.py:5698
-msgid "Channel co_ntents"
+#: .././mainwin.py:5818
+msgid "Channel c_ontents"
msgstr ""
-#: .././mainwin.py:5700
-msgid "Playlist co_ntents"
+#: .././mainwin.py:5820
+msgid "Playlist c_ontents"
msgstr ""
-#: .././mainwin.py:5702
-msgid "Folder co_ntents"
+#: .././mainwin.py:5822
+msgid "Folder c_ontents"
msgstr ""
-#: .././mainwin.py:5714
+#: .././mainwin.py:5834
msgid "_Move to top level"
msgstr ""
-#: .././mainwin.py:5732
+#: .././mainwin.py:5852
msgid "_Convert to playlist"
msgstr ""
-#: .././mainwin.py:5734
+#: .././mainwin.py:5854
msgid "_Convert to channel"
msgstr ""
-#: .././mainwin.py:5757
+#: .././mainwin.py:5877
msgid "_Hide folder"
msgstr ""
-#: .././mainwin.py:5767
+#: .././mainwin.py:5887
msgid "_Rename channel..."
msgstr ""
-#: .././mainwin.py:5769
+#: .././mainwin.py:5889
msgid "_Rename playlist..."
msgstr ""
-#: .././mainwin.py:5771
+#: .././mainwin.py:5891
msgid "_Rename folder..."
msgstr ""
-#: .././mainwin.py:5788
+#: .././mainwin.py:5908
msgid "Set _nickname..."
msgstr ""
-#: .././mainwin.py:5803
+#: .././mainwin.py:5923
msgid "Set _URL..."
msgstr ""
-#: .././mainwin.py:5815
+#: .././mainwin.py:5935
msgid "Set _download destination..."
msgstr ""
-#: .././mainwin.py:5833
+#: .././mainwin.py:5953
msgid "_Export channel..."
msgstr ""
-#: .././mainwin.py:5835
+#: .././mainwin.py:5955
msgid "_Export playlist..."
msgstr ""
-#: .././mainwin.py:5837
+#: .././mainwin.py:5957
msgid "_Export folder..."
msgstr ""
-#: .././mainwin.py:5850
+#: .././mainwin.py:5970
msgid "Re_fresh channel"
msgstr ""
-#: .././mainwin.py:5852
+#: .././mainwin.py:5972
msgid "Re_fresh playlist"
msgstr ""
-#: .././mainwin.py:5854
+#: .././mainwin.py:5974
msgid "Re_fresh folder"
msgstr ""
-#: .././mainwin.py:5871
+#: .././mainwin.py:5991
msgid "_Tidy up channel"
msgstr ""
-#: .././mainwin.py:5873
+#: .././mainwin.py:5993
msgid "_Tidy up playlist"
msgstr ""
-#: .././mainwin.py:5875
+#: .././mainwin.py:5995
msgid "_Tidy up folder"
msgstr ""
-#: .././mainwin.py:5892
-msgid "Add to _Classic Mode tab"
+#: .././mainwin.py:6012 .././mainwin.py:6654 .././mainwin.py:8551
+msgid "Add to C_lassic Mode tab"
msgstr ""
-#: .././mainwin.py:5906
+#: .././mainwin.py:6026
msgid "Channel _actions"
msgstr ""
-#: .././mainwin.py:5908
+#: .././mainwin.py:6028
msgid "Playlist _actions"
msgstr ""
-#: .././mainwin.py:5910
+#: .././mainwin.py:6030
msgid "Folder _actions"
msgstr ""
-#: .././mainwin.py:5930 .././mainwin.py:6687
+#: .././mainwin.py:6050 .././mainwin.py:6853
msgid "_Apply download options..."
msgstr ""
-#: .././mainwin.py:5948 .././mainwin.py:6701
+#: .././mainwin.py:6068 .././mainwin.py:6867
msgid "_Remove download options"
msgstr ""
-#: .././mainwin.py:5964 .././mainwin.py:6713
+#: .././mainwin.py:6084 .././mainwin.py:6879
msgid "_Edit download options..."
msgstr ""
-#: .././mainwin.py:5980
-msgid "Add to s_cheduled download..."
+#: .././mainwin.py:6100
+msgid "Add to _scheduled download..."
msgstr ""
-#: .././mainwin.py:5990
-msgid "_Show system command..."
+#: .././mainwin.py:6110
+msgid "Show system _command..."
msgstr ""
-#: .././mainwin.py:6009
+#: .././mainwin.py:6129
msgid "Set _removal time..."
msgstr ""
-#: .././mainwin.py:6022
+#: .././mainwin.py:6142
msgid "_Mark for checking/downloading"
msgstr ""
-#: .././mainwin.py:6043
+#: .././mainwin.py:6163
msgid "_Don't add videos to Tartube's database"
msgstr ""
-#: .././mainwin.py:6055
+#: .././mainwin.py:6175
msgid "D_isable checking/downloading"
msgstr ""
-#: .././mainwin.py:6067
+#: .././mainwin.py:6187
msgid "_Just disable downloading"
msgstr ""
-#: .././mainwin.py:6088 .././mainwin.py:6772
-msgid "D_ownloads"
+#: .././mainwin.py:6208
+msgid "Down_loads"
msgstr ""
-#: .././mainwin.py:6099
+#: .././mainwin.py:6219
msgid "Channel _properties..."
msgstr ""
-#: .././mainwin.py:6101
+#: .././mainwin.py:6221
msgid "Playlist _properties..."
msgstr ""
-#: .././mainwin.py:6103
+#: .././mainwin.py:6223
msgid "Folder _properties..."
msgstr ""
-#: .././mainwin.py:6119
+#: .././mainwin.py:6239
msgid "_Default location"
msgstr ""
-#: .././mainwin.py:6132
+#: .././mainwin.py:6252
msgid "_Actual location"
msgstr ""
-#: .././mainwin.py:6146
+#: .././mainwin.py:6266
msgid "_Show"
msgstr ""
-#: .././mainwin.py:6155
+#: .././mainwin.py:6275
msgid "D_elete channel"
msgstr ""
-#: .././mainwin.py:6157
+#: .././mainwin.py:6277
msgid "D_elete playlist"
msgstr ""
-#: .././mainwin.py:6159
+#: .././mainwin.py:6279
msgid "D_elete folder"
msgstr ""
-#: .././mainwin.py:6254
+#: .././mainwin.py:6375
msgid "_Check video"
msgstr ""
-#: .././mainwin.py:6278
+#: .././mainwin.py:6399
msgid "_Download video"
msgstr ""
-#: .././mainwin.py:6301
+#: .././mainwin.py:6422
msgid "Re-_download this video"
msgstr ""
-#: .././mainwin.py:6319
+#: .././mainwin.py:6440
msgid "C_ustom download video"
msgstr ""
-#: .././mainwin.py:6337 .././mainwin.py:6649
+#: .././mainwin.py:6458 .././mainwin.py:6815 .././mainwin.py:8613
msgid "Download and _watch"
msgstr ""
-#: .././mainwin.py:6357 .././mainwin.py:8250
+#: .././mainwin.py:6478 .././mainwin.py:8434
msgid "Watch in _player"
msgstr ""
-#: .././mainwin.py:6372 .././mainwin.py:6383 .././mainwin.py:8262
-#: .././mainwin.py:8280
-msgid "Watch on _website"
+#: .././mainwin.py:6496 .././mainwin.py:6517 .././mainwin.py:8465
+msgid "_Watch on website"
msgstr ""
-#: .././mainwin.py:6397 .././mainwin.py:8294
+#: .././mainwin.py:6506 .././mainwin.py:6530 .././mainwin.py:7634
+#: .././mainwin.py:8478
+#, python-brace-format
+msgid "_Watch on {0}"
+msgstr ""
+
+#: .././mainwin.py:6544 .././mainwin.py:8492
msgid "_YouTube"
msgstr ""
-#: .././mainwin.py:6407 .././mainwin.py:8304
+#: .././mainwin.py:6554 .././mainwin.py:8502
msgid "_HookTube"
msgstr ""
-#: .././mainwin.py:6417 .././mainwin.py:8314
+#: .././mainwin.py:6564 .././mainwin.py:8512
msgid "_Invidious"
msgstr ""
-#: .././mainwin.py:6427 .././mainwin.py:8324
+#: .././mainwin.py:6574 .././mainwin.py:8522
msgid "TRANSLATOR'S NOTE: Watch on YouTube, Watch on HookTube, etc"
msgstr ""
-#: .././mainwin.py:6432 .././mainwin.py:8329
+#: .././mainwin.py:6579 .././mainwin.py:8527
msgid "W_atch on"
msgstr ""
-#: .././mainwin.py:6446
-msgid "Create video cl_ip..."
+#: .././mainwin.py:6593
+msgid "_Create video clip..."
msgstr ""
-#: .././mainwin.py:6452
-msgid "Download video cl_ip..."
+#: .././mainwin.py:6599
+msgid "Download video clip..."
msgstr ""
-#: .././mainwin.py:6468
+#: .././mainwin.py:6615
msgid "_Remove video slices..."
msgstr ""
-#: .././mainwin.py:6483 .././mainwin.py:8350
+#: .././mainwin.py:6630 .././mainwin.py:8537
msgid "_Process with FFmpeg..."
msgstr ""
-#: .././mainwin.py:6497
+#: .././mainwin.py:6644
msgid "_Special"
msgstr ""
-#: .././mainwin.py:6507 .././mainwin.py:8364
-msgid "Add to C_lassic Mode tab"
-msgstr ""
-
-#: .././mainwin.py:6528
+#: .././mainwin.py:6675
msgid "Auto _notify"
msgstr ""
-#: .././mainwin.py:6544
+#: .././mainwin.py:6691
msgid "Auto _sound alarm"
msgstr ""
-#: .././mainwin.py:6559
+#: .././mainwin.py:6706
msgid "Auto _open"
msgstr ""
-#: .././mainwin.py:6572
+#: .././mainwin.py:6719
msgid "_Download on start"
msgstr ""
-#: .././mainwin.py:6587
+#: .././mainwin.py:6734
msgid "Download on _stop"
msgstr ""
-#: .././mainwin.py:6605
+#: .././mainwin.py:6752
msgid "Not a _livestream"
msgstr ""
-#: .././mainwin.py:6615
+#: .././mainwin.py:6762
+msgid "_Finalise livestream"
+msgstr ""
+
+#: .././mainwin.py:6781
msgid "_Livestream"
msgstr ""
-#: .././mainwin.py:6628 .././mainwin.py:8383
+#: .././mainwin.py:6794 .././mainwin.py:8591
msgid "_Mark for download"
msgstr ""
-#: .././mainwin.py:6639 .././mainwin.py:8395
+#: .././mainwin.py:6805 .././mainwin.py:8603
msgid "_Download"
msgstr ""
-#: .././mainwin.py:6659 .././mainwin.py:8416 .././config.py:20218
+#: .././mainwin.py:6825 .././mainwin.py:8624 .././config.py:20528
msgid "_Temporary"
msgstr ""
-#: .././mainwin.py:6729
-msgid "Show system _command"
+#: .././mainwin.py:6895
+msgid "_Show system command"
msgstr ""
-#: .././mainwin.py:6739
+#: .././mainwin.py:6905
msgid "_Test system command"
msgstr ""
-#: .././mainwin.py:6754
+#: .././mainwin.py:6920
msgid "_Disable downloads"
msgstr ""
-#: .././mainwin.py:6787
+#: .././mainwin.py:6938
+msgid "D_ownloads"
+msgstr ""
+
+#: .././mainwin.py:6953
msgid "Video is _archived"
msgstr ""
-#: .././mainwin.py:6800
+#: .././mainwin.py:6966
msgid "Video is _bookmarked"
msgstr ""
-#: .././mainwin.py:6811
+#: .././mainwin.py:6977
msgid "Video is _favourite"
msgstr ""
-#: .././mainwin.py:6822
+#: .././mainwin.py:6988
msgid "Video is _missing"
msgstr ""
-#: .././mainwin.py:6838
+#: .././mainwin.py:7004
msgid "Video is _new"
msgstr ""
-#: .././mainwin.py:6851
+#: .././mainwin.py:7017
msgid "Video is in _waiting list"
msgstr ""
-#: .././mainwin.py:6862
+#: .././mainwin.py:7028
msgid "_Mark video"
msgstr ""
-#: .././mainwin.py:6873
+#: .././mainwin.py:7039
msgid "_Location"
msgstr ""
-#: .././mainwin.py:6885
+#: .././mainwin.py:7051
msgid "_Properties..."
msgstr ""
-#: .././mainwin.py:6897
-msgid "_Show video"
+#: .././mainwin.py:7063
+msgid "S_how video"
msgstr ""
-#: .././mainwin.py:6906
+#: .././mainwin.py:7072
msgid "Available _formats"
msgstr ""
-#: .././mainwin.py:6916
+#: .././mainwin.py:7082
msgid "Available _subtitles"
msgstr ""
-#: .././mainwin.py:6926
+#: .././mainwin.py:7092
msgid "_Fetch"
msgstr ""
#. Delete video
-#: .././mainwin.py:6937
+#: .././mainwin.py:7103
msgid "D_elete video"
msgstr ""
#. Check/download videos
-#: .././mainwin.py:7041
+#: .././mainwin.py:7209
msgid "_Check videos"
msgstr ""
-#: .././mainwin.py:7061
+#: .././mainwin.py:7229
msgid "_Download videos"
msgstr ""
-#: .././mainwin.py:7084
+#: .././mainwin.py:7252
msgid "C_ustom download videos"
msgstr ""
-#: .././mainwin.py:7116
+#: .././mainwin.py:7284
msgid "_Archived"
msgstr ""
-#: .././mainwin.py:7127
+#: .././mainwin.py:7295
msgid "Not a_rchived"
msgstr ""
-#: .././mainwin.py:7141
+#: .././mainwin.py:7309
msgid "_Bookmarked"
msgstr ""
-#: .././mainwin.py:7152
+#: .././mainwin.py:7320
msgid "Not b_ookmarked"
msgstr ""
-#: .././mainwin.py:7166
+#: .././mainwin.py:7334
msgid "_Favourite"
msgstr ""
-#: .././mainwin.py:7177
+#: .././mainwin.py:7345
msgid "Not fa_vourite"
msgstr ""
-#: .././mainwin.py:7191
+#: .././mainwin.py:7359
msgid "_Missing"
msgstr ""
-#: .././mainwin.py:7204
+#: .././mainwin.py:7372
msgid "Not m_issing"
msgstr ""
-#: .././mainwin.py:7220
+#: .././mainwin.py:7388
msgid "_New"
msgstr ""
-#: .././mainwin.py:7231
+#: .././mainwin.py:7399
msgid "Not n_ew"
msgstr ""
-#: .././mainwin.py:7245
+#: .././mainwin.py:7413
msgid "In _waiting list"
msgstr ""
-#: .././mainwin.py:7256
+#: .././mainwin.py:7424
msgid "Not in w_aiting list"
msgstr ""
-#: .././mainwin.py:7267
+#: .././mainwin.py:7435
msgid "_Mark videos"
msgstr ""
-#: .././mainwin.py:7276
+#: .././mainwin.py:7444
msgid "Show p_roperties..."
msgstr ""
#. Delete videos
-#: .././mainwin.py:7291
+#: .././mainwin.py:7459
msgid "D_elete videos"
msgstr ""
#. Stop check/download
-#: .././mainwin.py:7362
+#: .././mainwin.py:7532
msgid "_Stop now"
msgstr ""
-#: .././mainwin.py:7379
-msgid "Stop checking videos"
+#: .././mainwin.py:7549
+msgid "Stop checking _videos"
msgstr ""
-#: .././mainwin.py:7381
+#: .././mainwin.py:7551
msgid "Stop after this _video"
msgstr ""
-#: .././mainwin.py:7400
+#: .././mainwin.py:7570
msgid "Stop after these v_ideos"
msgstr ""
-#: .././mainwin.py:7415
+#: .././mainwin.py:7585
msgid "Download _next"
msgstr ""
-#: .././mainwin.py:7427
+#: .././mainwin.py:7597
msgid "Download _last"
msgstr ""
-#: .././mainwin.py:7450
-msgid "Watch on _YouTube"
+#: .././mainwin.py:7621
+msgid "_Watch on Website"
msgstr ""
-#: .././mainwin.py:7460
-msgid "Watch on _HookTube"
+#: .././mainwin.py:7646
+msgid "_Watch on YouTube"
msgstr ""
-#: .././mainwin.py:7470
-msgid "Watch on _Invidious"
+#: .././mainwin.py:7656
+msgid "Watch on _HookTube"
msgstr ""
-#: .././mainwin.py:7482
-msgid "Watch on _Website"
+#: .././mainwin.py:7666
+msgid "Watch on _Invidious"
msgstr ""
-#: .././mainwin.py:7578
+#: .././mainwin.py:7762
msgid "_Delete video(s)"
msgstr ""
-#: .././mainwin.py:7642
+#: .././mainwin.py:7826
msgid "Choose a custom download:"
msgstr ""
-#: .././mainwin.py:7715
+#: .././mainwin.py:7899
msgid "_Enable automatic copy/paste"
msgstr ""
-#: .././mainwin.py:7727
+#: .././mainwin.py:7911
msgid "_Remember URLs"
msgstr ""
-#: .././mainwin.py:7742
+#: .././mainwin.py:7926
msgid "_Set download options"
msgstr ""
-#: .././mainwin.py:7753
+#: .././mainwin.py:7937
msgid "Use _default download options"
msgstr ""
-#: .././mainwin.py:7765
-msgid "_Edit download options"
+#: .././mainwin.py:7949
+msgid "Edit download _options"
msgstr ""
-#: .././mainwin.py:7779
+#: .././mainwin.py:7963
msgid "Enable _custom downloads"
msgstr ""
-#: .././mainwin.py:7792
+#: .././mainwin.py:7976
msgid "Custom downloads _preferences..."
msgstr ""
-#: .././mainwin.py:7807 .././config.py:19854
+#: .././mainwin.py:7991 .././config.py:20164
msgid "_Update"
msgstr ""
-#: .././mainwin.py:7857
+#: .././mainwin.py:8041
msgid "_Play video"
msgstr ""
-#: .././mainwin.py:7869
+#: .././mainwin.py:8053
msgid "_Open destination(s)"
msgstr ""
-#: .././mainwin.py:7884
+#: .././mainwin.py:8068
msgid "_Re-download"
msgstr ""
-#: .././mainwin.py:7896
+#: .././mainwin.py:8080
msgid "_Stop download"
msgstr ""
-#: .././mainwin.py:7910
+#: .././mainwin.py:8094
msgid "Process with _FFmpeg"
msgstr ""
-#: .././mainwin.py:7927
+#: .././mainwin.py:8111
msgid "_Copy file path"
msgstr ""
#. Copy URL
-#: .././mainwin.py:7939
+#: .././mainwin.py:8123
msgid "Copy UR_L"
msgstr ""
-#: .././mainwin.py:7951
+#: .././mainwin.py:8135
msgid "Copy s_ystem command"
msgstr ""
-#: .././mainwin.py:7967
+#: .././mainwin.py:8151
msgid "Move _up"
msgstr ""
-#: .././mainwin.py:7979
+#: .././mainwin.py:8163
msgid "Move _down"
msgstr ""
-#: .././mainwin.py:7994
+#: .././mainwin.py:8178
msgid "Re_move from list"
msgstr ""
-#: .././mainwin.py:8033
+#: .././mainwin.py:8217
msgid "Mark as _archived"
msgstr ""
-#: .././mainwin.py:8044
+#: .././mainwin.py:8228
msgid "Mark as not a_rchived"
msgstr ""
-#: .././mainwin.py:8058
+#: .././mainwin.py:8242
msgid "Mark as _bookmarked"
msgstr ""
-#: .././mainwin.py:8070
+#: .././mainwin.py:8254
msgid "Mark as not b_ookmarked"
msgstr ""
-#: .././mainwin.py:8083
+#: .././mainwin.py:8267
msgid "Mark as _favourite"
msgstr ""
-#: .././mainwin.py:8096
+#: .././mainwin.py:8280
msgid "Mark as not fa_vourite"
msgstr ""
-#: .././mainwin.py:8110
+#: .././mainwin.py:8294
msgid "Mark as _missing"
msgstr ""
-#: .././mainwin.py:8123
+#: .././mainwin.py:8307
msgid "Mark as not m_issing"
msgstr ""
-#: .././mainwin.py:8140
+#: .././mainwin.py:8324
msgid "Mark as _new"
msgstr ""
-#: .././mainwin.py:8152
+#: .././mainwin.py:8336
msgid "Mark as not n_ew"
msgstr ""
-#: .././mainwin.py:8166
+#: .././mainwin.py:8350
msgid "Mark as in _waiting list"
msgstr ""
-#: .././mainwin.py:8178
-msgid "Mark as not in wai_ting list"
+#: .././mainwin.py:8362
+msgid "Mark as not in waiting _list"
msgstr ""
-#: .././mainwin.py:8230
+#: .././mainwin.py:8414
msgid "D_ownload and watch"
msgstr ""
-#: .././mainwin.py:8339
+#: .././mainwin.py:8446
+msgid "Watch on _website"
+msgstr ""
+
+#: .././mainwin.py:8564
msgid "Mark as _not livestreams"
msgstr ""
-#: .././mainwin.py:8405
-msgid "_Download and watch"
+#: .././mainwin.py:8575
+msgid "_Finalise livestreams"
msgstr ""
-#: .././mainwin.py:9244
+#: .././mainwin.py:9452
msgid ""
"TRANSLATOR'S NOTE: V = number of videos B = (number of videos) bookmarked D "
"= downloaded F = favourite L = live/livestream M = missing N = new W = in "
"waiting list E = (number of) errors W = warnings"
msgstr ""
-#: .././mainwin.py:9251
+#: .././mainwin.py:9459
msgid "V:"
msgstr ""
-#: .././mainwin.py:9252
+#: .././mainwin.py:9460
msgid "B:"
msgstr ""
-#: .././mainwin.py:9253
+#: .././mainwin.py:9461
msgid "D:"
msgstr ""
-#: .././mainwin.py:9254
+#: .././mainwin.py:9462
msgid "F:"
msgstr ""
-#: .././mainwin.py:9255
+#: .././mainwin.py:9463
msgid "L:"
msgstr ""
-#: .././mainwin.py:9256
+#: .././mainwin.py:9464
msgid "M:"
msgstr ""
-#: .././mainwin.py:9257
+#: .././mainwin.py:9465
msgid "N:"
msgstr ""
-#: .././mainwin.py:9258 .././mainwin.py:9269
+#: .././mainwin.py:9466 .././mainwin.py:9477
msgid "W:"
msgstr ""
-#: .././mainwin.py:9268
+#: .././mainwin.py:9476
msgid "E:"
msgstr ""
@@ -2456,200 +2498,200 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:11298 .././mainwin.py:12103 .././mainwin.py:22358
-#: .././mainwin.py:22362 .././mainwin.py:22897 .././mainwin.py:24417
-#: .././mainwin.py:24421 .././mainwin.py:24642
+#: .././mainwin.py:11536 .././mainwin.py:12341 .././mainwin.py:22754
+#: .././mainwin.py:22758 .././mainwin.py:23293 .././mainwin.py:24816
+#: .././mainwin.py:24820 .././mainwin.py:25041
msgid "Waiting"
msgstr ""
-#: .././mainwin.py:12979
+#: .././mainwin.py:13220
msgid ""
"TRANSLATOR'S NOTE: Thread means a computer processor thread. If you're not "
"sure how to translate it, just use 'Page #', as in Page #1, Page #2, etc"
msgstr ""
-#: .././mainwin.py:12986
+#: .././mainwin.py:13227
msgid "Thread"
msgstr ""
-#: .././mainwin.py:12989
+#: .././mainwin.py:13230
msgid "_Summary"
msgstr ""
-#: .././mainwin.py:13428 .././config.py:14894 .././config.py:21502
+#: .././mainwin.py:13669 .././config.py:14933 .././config.py:21820
msgid "Time"
msgstr ""
-#: .././mainwin.py:13428
+#: .././mainwin.py:13669
msgid "Container"
msgstr ""
-#: .././mainwin.py:13428 .././config.py:12121 .././downloads.py:6900
+#: .././mainwin.py:13669 .././config.py:12160 .././downloads.py:7030
#: .././media.py:88
msgid "Video"
msgstr ""
-#: .././mainwin.py:13428 .././mainwin.py:13429
+#: .././mainwin.py:13669 .././mainwin.py:13670
msgid "Message"
msgstr ""
-#: .././mainwin.py:13676
+#: .././mainwin.py:13920
msgid "Tartube error"
msgstr ""
-#: .././mainwin.py:13680
+#: .././mainwin.py:13924
msgid "Tartube warning"
msgstr ""
-#: .././mainwin.py:13904
+#: .././mainwin.py:14148
msgid "_Errors"
msgstr ""
-#: .././mainwin.py:13908
+#: .././mainwin.py:14152
msgid "Warnings"
msgstr ""
-#: .././mainwin.py:14025
+#: .././mainwin.py:14269
msgid ""
"There are not scheduled downloads that don't already contain the channel/"
"playlist/folder"
msgstr ""
-#: .././mainwin.py:15432
+#: .././mainwin.py:15676
msgid "The external folder is not available"
msgstr ""
-#: .././mainwin.py:15434
+#: .././mainwin.py:15678
msgid "The external directory is not available"
msgstr ""
-#: .././mainwin.py:15534
+#: .././mainwin.py:15778
msgid "The URL is not valid"
msgstr ""
-#: .././mainwin.py:16731 .././config.py:12521 .././config.py:15495
+#: .././mainwin.py:17047 .././config.py:12560 .././config.py:15534
msgid "Invalid timestamp(s)"
msgstr ""
-#: .././mainwin.py:16904 .././mainwin.py:16913 .././config.py:12372
-#: .././config.py:12380 .././config.py:15391 .././config.py:15399
+#: .././mainwin.py:17220 .././mainwin.py:17229 .././config.py:12411
+#: .././config.py:12419 .././config.py:15430 .././config.py:15438
msgid "Invalid start/stop times"
msgstr ""
-#: .././mainwin.py:19824
+#: .././mainwin.py:20203
msgid "The following items are duplicates:"
msgstr ""
-#: .././mainwin.py:19974
+#: .././mainwin.py:20353
#, python-brace-format
msgid "The channel contains {0} items, so this action may take a while"
msgstr ""
-#: .././mainwin.py:19981
+#: .././mainwin.py:20360
#, python-brace-format
msgid "The playlist contains {0} items, so this action may take a while"
msgstr ""
-#: .././mainwin.py:19988
+#: .././mainwin.py:20367
#, python-brace-format
msgid "The folder contains {0} items, so this action may take a while"
msgstr ""
-#: .././mainwin.py:20690 .././mainwin.py:21728
+#: .././mainwin.py:21069 .././mainwin.py:22107
msgid "Originally from:"
msgstr ""
-#: .././mainwin.py:20703 .././mainwin.py:21742
+#: .././mainwin.py:21082 .././mainwin.py:22121
msgid "From channel"
msgstr ""
-#: .././mainwin.py:20705 .././mainwin.py:21744
+#: .././mainwin.py:21084 .././mainwin.py:22123
msgid "From playlist"
msgstr ""
-#: .././mainwin.py:20707 .././mainwin.py:21746
+#: .././mainwin.py:21086 .././mainwin.py:22125
msgid "From folder"
msgstr ""
-#: .././mainwin.py:20735
+#: .././mainwin.py:21114
msgid "Livestream has not started yet"
msgstr ""
-#: .././mainwin.py:20742
+#: .././mainwin.py:21121
msgid "Debut has started"
msgstr ""
-#: .././mainwin.py:20744
+#: .././mainwin.py:21123
msgid "Debut has not started yet"
msgstr ""
-#: .././mainwin.py:20751 .././mainwin.py:20757 .././mainwin.py:21793
-#: .././mainwin.py:21800
+#: .././mainwin.py:21130 .././mainwin.py:21136 .././mainwin.py:22172
+#: .././mainwin.py:22179
msgid "Duration:"
msgstr ""
-#: .././mainwin.py:20757 .././mainwin.py:20763 .././mainwin.py:20774
-#: .././mainwin.py:21800 .././mainwin.py:21807 .././mainwin.py:21823
-#: .././mainwin.py:24124 .././mainwin.py:24130 .././mainwin.py:24141
-#: .././media.py:555 .././media.py:565 .././media.py:2128 .././media.py:2134
-#: .././media.py:2144
+#: .././mainwin.py:21136 .././mainwin.py:21142 .././mainwin.py:21153
+#: .././mainwin.py:22179 .././mainwin.py:22186 .././mainwin.py:22202
+#: .././mainwin.py:24523 .././mainwin.py:24529 .././mainwin.py:24540
+#: .././media.py:555 .././media.py:565 .././media.py:2120 .././media.py:2126
+#: .././media.py:2136
msgid "unknown"
msgstr ""
-#: .././mainwin.py:20761 .././mainwin.py:20763 .././mainwin.py:21804
-#: .././mainwin.py:21806
+#: .././mainwin.py:21140 .././mainwin.py:21142 .././mainwin.py:22183
+#: .././mainwin.py:22185
msgid "Size:"
msgstr ""
-#: .././mainwin.py:20772 .././mainwin.py:20774 .././mainwin.py:21818
+#: .././mainwin.py:21151 .././mainwin.py:21153 .././mainwin.py:22197
msgid "Date:"
msgstr ""
-#: .././mainwin.py:21113
+#: .././mainwin.py:21492
msgid "Watch:"
msgstr ""
-#: .././mainwin.py:21182
+#: .././mainwin.py:21561
msgid "Temporary:"
msgstr ""
-#: .././mainwin.py:21225
+#: .././mainwin.py:21604
msgid "Marked:"
msgstr ""
-#: .././mainwin.py:21700 .././mainwin.py:21763
+#: .././mainwin.py:22079 .././mainwin.py:22142
msgid "Show the full description"
msgstr ""
-#: .././mainwin.py:21701 .././mainwin.py:21764
+#: .././mainwin.py:22080 .././mainwin.py:22143
msgid "More"
msgstr ""
-#: .././mainwin.py:21713 .././mainwin.py:21772
+#: .././mainwin.py:22092 .././mainwin.py:22151
msgid "Show the short description"
msgstr ""
-#: .././mainwin.py:21714 .././mainwin.py:21773
+#: .././mainwin.py:22093 .././mainwin.py:22152
msgid "Less"
msgstr ""
-#: .././mainwin.py:21813
+#: .././mainwin.py:22192
msgid "Received:"
msgstr ""
-#: .././mainwin.py:21842
+#: .././mainwin.py:22221
msgid "Live now:"
msgstr ""
-#: .././mainwin.py:21844 .././mainwin.py:24274
+#: .././mainwin.py:22223 .././mainwin.py:24673
msgid "Live soon:"
msgstr ""
-#: .././mainwin.py:21853
+#: .././mainwin.py:22232
msgid "Debut now:"
msgstr ""
-#: .././mainwin.py:21855 .././mainwin.py:24276
+#: .././mainwin.py:22234 .././mainwin.py:24675
msgid "Debut soon:"
msgstr ""
@@ -2657,14 +2699,14 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21862 .././mainwin.py:21864 .././mainwin.py:21868
-#: .././mainwin.py:22144 .././mainwin.py:22146 .././mainwin.py:22150
-#: .././mainwin.py:22622 .././mainwin.py:24155 .././mainwin.py:24157
-#: .././mainwin.py:24161
+#: .././mainwin.py:22241 .././mainwin.py:22243 .././mainwin.py:22247
+#: .././mainwin.py:22540 .././mainwin.py:22542 .././mainwin.py:22546
+#: .././mainwin.py:23018 .././mainwin.py:24554 .././mainwin.py:24556
+#: .././mainwin.py:24560
msgid "Notify"
msgstr ""
-#: .././mainwin.py:21872 .././mainwin.py:22154 .././mainwin.py:24165
+#: .././mainwin.py:22251 .././mainwin.py:22550 .././mainwin.py:24564
msgid "When the livestream starts, notify the user"
msgstr ""
@@ -2672,13 +2714,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21883 .././mainwin.py:21885 .././mainwin.py:22160
-#: .././mainwin.py:22162 .././mainwin.py:22165 .././mainwin.py:22513
-#: .././mainwin.py:24176 .././mainwin.py:24178
+#: .././mainwin.py:22262 .././mainwin.py:22264 .././mainwin.py:22556
+#: .././mainwin.py:22558 .././mainwin.py:22561 .././mainwin.py:22909
+#: .././mainwin.py:24575 .././mainwin.py:24577
msgid "Alarm"
msgstr ""
-#: .././mainwin.py:21889 .././mainwin.py:22169 .././mainwin.py:24182
+#: .././mainwin.py:22268 .././mainwin.py:22565 .././mainwin.py:24581
msgid "When the livestream starts, sound an alarm"
msgstr ""
@@ -2686,13 +2728,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21894 .././mainwin.py:21896 .././mainwin.py:22175
-#: .././mainwin.py:22177 .././mainwin.py:22180 .././mainwin.py:22659
-#: .././mainwin.py:24187 .././mainwin.py:24189
+#: .././mainwin.py:22273 .././mainwin.py:22275 .././mainwin.py:22571
+#: .././mainwin.py:22573 .././mainwin.py:22576 .././mainwin.py:23055
+#: .././mainwin.py:24586 .././mainwin.py:24588
msgid "Open"
msgstr ""
-#: .././mainwin.py:21900 .././mainwin.py:22184 .././mainwin.py:24193
+#: .././mainwin.py:22279 .././mainwin.py:22580 .././mainwin.py:24592
msgid "When the livestream starts, open it"
msgstr ""
@@ -2702,14 +2744,14 @@ msgstr ""
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
#. (Livestream already broadcasting)
-#: .././mainwin.py:21908 .././mainwin.py:21913 .././mainwin.py:21915
-#: .././mainwin.py:22190 .././mainwin.py:22192 .././mainwin.py:22195
-#: .././mainwin.py:22549 .././mainwin.py:24201 .././mainwin.py:24206
-#: .././mainwin.py:24208
+#: .././mainwin.py:22287 .././mainwin.py:22292 .././mainwin.py:22294
+#: .././mainwin.py:22586 .././mainwin.py:22588 .././mainwin.py:22591
+#: .././mainwin.py:22945 .././mainwin.py:24600 .././mainwin.py:24605
+#: .././mainwin.py:24607
msgid "D/L on start"
msgstr ""
-#: .././mainwin.py:21919 .././mainwin.py:22199 .././mainwin.py:24212
+#: .././mainwin.py:22298 .././mainwin.py:22595 .././mainwin.py:24611
msgid "When the livestream starts, download it"
msgstr ""
@@ -2717,18 +2759,18 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21925 .././mainwin.py:21930 .././mainwin.py:21932
-#: .././mainwin.py:22205 .././mainwin.py:22207 .././mainwin.py:22210
-#: .././mainwin.py:22586 .././mainwin.py:24218 .././mainwin.py:24223
-#: .././mainwin.py:24225
+#: .././mainwin.py:22304 .././mainwin.py:22309 .././mainwin.py:22311
+#: .././mainwin.py:22601 .././mainwin.py:22603 .././mainwin.py:22606
+#: .././mainwin.py:22982 .././mainwin.py:24617 .././mainwin.py:24622
+#: .././mainwin.py:24624
msgid "D/L on stop"
msgstr ""
-#: .././mainwin.py:21936 .././mainwin.py:22214 .././mainwin.py:24229
+#: .././mainwin.py:22315 .././mainwin.py:22610 .././mainwin.py:24628
msgid "When the livestream stops, download it"
msgstr ""
-#: .././mainwin.py:21952 .././mainwin.py:24245
+#: .././mainwin.py:22331 .././mainwin.py:24644
msgid "Watch in your media player"
msgstr ""
@@ -2736,41 +2778,54 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:21953 .././mainwin.py:23269 .././mainwin.py:24246
+#: .././mainwin.py:22332 .././mainwin.py:23665 .././mainwin.py:24645
msgid "Player"
msgstr ""
-#: .././mainwin.py:21985 .././mainwin.py:24291
+#: .././mainwin.py:22364 .././mainwin.py:24690
msgid "Download this video"
msgstr ""
-#: .././mainwin.py:22000 .././mainwin.py:24306
+#: .././mainwin.py:22379 .././mainwin.py:24705
msgid ""
"TRANSLATOR'S NOTE: If you want to use &, use & - if you want to use a "
"different word (e.g. French et), then just use that word"
msgstr ""
-#: .././mainwin.py:22008 .././mainwin.py:24314
+#: .././mainwin.py:22387 .././mainwin.py:24713
msgid "Download and watch in your media player"
msgstr ""
-#: .././mainwin.py:22009
+#: .././mainwin.py:22388
msgid "Download & watch"
msgstr ""
-#: .././mainwin.py:22016
+#: .././mainwin.py:22395
msgid "Not downloaded"
msgstr ""
-#: .././mainwin.py:22039
+#: .././mainwin.py:22419
+msgid "Watch on website"
+msgstr ""
+
+#: .././mainwin.py:22420 .././mainwin.py:23708
+msgid "Website"
+msgstr ""
+
+#: .././mainwin.py:22435
+#, python-brace-format
+msgid "Watch on {0}"
+msgstr ""
+
+#: .././mainwin.py:22449
msgid "Watch on YouTube"
msgstr ""
-#: .././mainwin.py:22040 .././mainwin.py:23311
+#: .././mainwin.py:22450
msgid "YouTube"
msgstr ""
-#: .././mainwin.py:22052
+#: .././mainwin.py:22462
msgid "Watch on HookTube"
msgstr ""
@@ -2778,11 +2833,11 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22053 .././mainwin.py:23085
+#: .././mainwin.py:22463 .././mainwin.py:23481
msgid "HookTube"
msgstr ""
-#: .././mainwin.py:22065
+#: .././mainwin.py:22475
msgid "Watch on Invidious"
msgstr ""
@@ -2790,7 +2845,7 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22066 .././mainwin.py:23126
+#: .././mainwin.py:22476 .././mainwin.py:23522
msgid "Invidious"
msgstr ""
@@ -2798,25 +2853,17 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22085 .././mainwin.py:23168 .././config.py:17113
-#: .././config.py:20316
+#: .././mainwin.py:22495 .././mainwin.py:23564 .././config.py:17305
+#: .././config.py:20626
msgid "Other"
msgstr ""
-#: .././mainwin.py:22105
-msgid "Watch on website"
-msgstr ""
-
-#: .././mainwin.py:22106 .././mainwin.py:23313
-msgid "Website"
-msgstr ""
-
#. Links not clickable
-#: .././mainwin.py:22117
+#: .././mainwin.py:22513
msgid "No link"
msgstr ""
-#: .././mainwin.py:22248
+#: .././mainwin.py:22644
msgid "Download to a temporary folder later"
msgstr ""
@@ -2824,19 +2871,19 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22249 .././mainwin.py:22266 .././mainwin.py:23044
+#: .././mainwin.py:22645 .././mainwin.py:22662 .././mainwin.py:23440
msgid "Mark for download"
msgstr ""
-#: .././mainwin.py:22254
+#: .././mainwin.py:22650
msgid "Download to a temporary folder"
msgstr ""
-#: .././mainwin.py:22260
+#: .././mainwin.py:22656
msgid "Download to a temporary folder, then watch"
msgstr ""
-#: .././mainwin.py:22261 .././mainwin.py:24315
+#: .././mainwin.py:22657 .././mainwin.py:24714
msgid "D/L & watch"
msgstr ""
@@ -2844,12 +2891,12 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22268 .././mainwin.py:23003
+#: .././mainwin.py:22664 .././mainwin.py:23399
msgid "D/L and watch"
msgstr ""
#. Archived/not archived
-#: .././mainwin.py:22289 .././mainwin.py:24350
+#: .././mainwin.py:22685 .././mainwin.py:24749
msgid "Prevent automatic deletion of the video"
msgstr ""
@@ -2857,13 +2904,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22293 .././mainwin.py:22297 .././mainwin.py:22694
-#: .././mainwin.py:24354 .././mainwin.py:24358 .././mainwin.py:24558
+#: .././mainwin.py:22689 .././mainwin.py:22693 .././mainwin.py:23090
+#: .././mainwin.py:24753 .././mainwin.py:24757 .././mainwin.py:24957
msgid "Archived"
msgstr ""
#. Bookmarked/not bookmarked
-#: .././mainwin.py:22302 .././mainwin.py:24363
+#: .././mainwin.py:22698 .././mainwin.py:24762
msgid "Show video in Bookmarks folder"
msgstr ""
@@ -2873,13 +2920,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22307 .././mainwin.py:22312 .././mainwin.py:24367
-#: .././mainwin.py:24371 .././mainwin.py:24600
+#: .././mainwin.py:22703 .././mainwin.py:22708 .././mainwin.py:24766
+#: .././mainwin.py:24770 .././mainwin.py:24999
msgid "B/mark"
msgstr ""
#. Favourite/not favourite
-#: .././mainwin.py:22317 .././mainwin.py:24376
+#: .././mainwin.py:22713 .././mainwin.py:24775
msgid "Show in Favourite Videos folder"
msgstr ""
@@ -2887,13 +2934,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22321 .././mainwin.py:22325 .././mainwin.py:22778
-#: .././mainwin.py:24380 .././mainwin.py:24384 .././config.py:14895
+#: .././mainwin.py:22717 .././mainwin.py:22721 .././mainwin.py:23174
+#: .././mainwin.py:24779 .././mainwin.py:24783 .././config.py:14934
msgid "Favourite"
msgstr ""
#. Missing/not missing
-#: .././mainwin.py:22329 .././mainwin.py:24388
+#: .././mainwin.py:22725 .././mainwin.py:24787
msgid "Mark video as removed by creator"
msgstr ""
@@ -2901,13 +2948,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22333 .././mainwin.py:22337 .././mainwin.py:22820
-#: .././mainwin.py:24392 .././mainwin.py:24396
+#: .././mainwin.py:22729 .././mainwin.py:22733 .././mainwin.py:23216
+#: .././mainwin.py:24791 .././mainwin.py:24795
msgid "Missing"
msgstr ""
#. New/not new
-#: .././mainwin.py:22342 .././mainwin.py:24401
+#: .././mainwin.py:22738 .././mainwin.py:24800
msgid "Mark video as never watched"
msgstr ""
@@ -2915,13 +2962,13 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22346 .././mainwin.py:22350 .././mainwin.py:22855
-#: .././mainwin.py:24405 .././mainwin.py:24409
+#: .././mainwin.py:22742 .././mainwin.py:22746 .././mainwin.py:23251
+#: .././mainwin.py:24804 .././mainwin.py:24808
msgid "New"
msgstr ""
#. In waiting list/not in waiting list
-#: .././mainwin.py:22355 .././mainwin.py:24414
+#: .././mainwin.py:22751 .././mainwin.py:24813
msgid "Show in Waiting Videos folder"
msgstr ""
@@ -2929,1083 +2976,1083 @@ msgstr ""
#. this function returns. Workaround is to make the label unclickable,
#. then use a Glib timer to restore it (after some small fraction of a
#. second)
-#: .././mainwin.py:22736
+#: .././mainwin.py:23132
msgid "Bookmarked"
msgstr ""
-#: .././mainwin.py:24098
+#: .././mainwin.py:24497
msgid "Click to open"
msgstr ""
-#: .././mainwin.py:24286
+#: .././mainwin.py:24685
msgid "TRANSLATOR'S NOTE: D/L means download"
msgstr ""
-#: .././mainwin.py:24322
+#: .././mainwin.py:24721
msgid "Can't D/L"
msgstr ""
-#: .././mainwin.py:24343
+#: .././mainwin.py:24742
msgid ""
"TRANSLATOR'S NOTE: This section contains shortened labels: Archive = "
"Archived, B/Mark = Bookmarked, Waiting: In waiting list"
msgstr ""
-#: .././mainwin.py:25502
+#: .././mainwin.py:25901
msgid "Invalid URL"
msgstr ""
-#: .././mainwin.py:25513
+#: .././mainwin.py:25912
msgid "Duplicate URL"
msgstr ""
-#: .././mainwin.py:25519
+#: .././mainwin.py:25918
msgid "Failed to add URL"
msgstr ""
-#: .././mainwin.py:25988
+#: .././mainwin.py:26387
msgid "Add many channels/playlists"
msgstr ""
-#: .././mainwin.py:26017 .././mainwin.py:26682 .././mainwin.py:27518
-#: .././mainwin.py:28007
+#: .././mainwin.py:26416 .././mainwin.py:27081 .././mainwin.py:27919
+#: .././mainwin.py:28408
msgid "Enable automatic copy/paste"
msgstr ""
#. Buttons to add URLs as channels/playlists
-#: .././mainwin.py:26070
+#: .././mainwin.py:26469
msgid "Add channels"
msgstr ""
-#: .././mainwin.py:26074
+#: .././mainwin.py:26473
msgid "Add playlists"
msgstr ""
-#: .././mainwin.py:26087
+#: .././mainwin.py:26486
msgid "Double-click the names/URLs to customise them"
msgstr ""
-#: .././mainwin.py:26095
+#: .././mainwin.py:26494
msgid ""
"HINT: You can also click Media > Reset channel/playlist names..."
"b>"
msgstr ""
-#: .././mainwin.py:26123 .././mainwin.py:29614 .././mainwin.py:31512
-#: .././config.py:3341 .././config.py:5387 .././config.py:5518
+#: .././mainwin.py:26522 .././mainwin.py:30015 .././mainwin.py:31913
+#: .././config.py:3341 .././config.py:5389 .././config.py:5520
msgid "Type"
msgstr ""
-#: .././mainwin.py:26123 .././config.py:20023
+#: .././mainwin.py:26522 .././config.py:20333
msgid "URL"
msgstr ""
#. Add more buttons
-#: .././mainwin.py:26154
+#: .././mainwin.py:26553
msgid "Toggle channel/playlist"
msgstr ""
-#: .././mainwin.py:26158
+#: .././mainwin.py:26557
msgid "Delete selected lines"
msgstr ""
-#: .././mainwin.py:26197
+#: .././mainwin.py:26596
msgid "Add to this folder:"
msgstr ""
-#: .././mainwin.py:26530
+#: .././mainwin.py:26929
msgid "Add channel"
msgstr ""
-#: .././mainwin.py:26549
+#: .././mainwin.py:26948
msgid "Enter the channel name"
msgstr ""
-#: .././mainwin.py:26554
+#: .././mainwin.py:26953
msgid "(Use the channel's real name or a customised name)"
msgstr ""
-#: .././mainwin.py:26562
+#: .././mainwin.py:26961
msgid "Copy and paste a link to the channel"
msgstr ""
-#: .././mainwin.py:26586
+#: .././mainwin.py:26985
msgid ""
"Before adding the URL for a YouTube channel, first click the Videos tab in "
"your browser!"
msgstr ""
-#: .././mainwin.py:26635
+#: .././mainwin.py:27034
msgid "(Optional) Add this channel inside a folder"
msgstr ""
-#: .././mainwin.py:26665
+#: .././mainwin.py:27064
msgid "Enable video downloads for this channel"
msgstr ""
-#: .././mainwin.py:26672 .././mainwin.py:27305 .././mainwin.py:27508
-#: .././mainwin.py:27998
+#: .././mainwin.py:27071 .././mainwin.py:27706 .././mainwin.py:27909
+#: .././mainwin.py:28399
msgid "Don't download the videos, just check them"
msgstr ""
-#: .././mainwin.py:26877
+#: .././mainwin.py:27278
msgid "Add dropzone"
msgstr ""
-#: .././mainwin.py:26899
+#: .././mainwin.py:27300
msgid "Create new download options called"
msgstr ""
-#: .././mainwin.py:26911 .././mainwin.py:28184
+#: .././mainwin.py:27312 .././mainwin.py:28585
msgid "Use these download options"
msgstr ""
-#: .././mainwin.py:26948 .././mainwin.py:28221
+#: .././mainwin.py:27349 .././mainwin.py:28622
msgid "Clone these download options"
msgstr ""
-#: .././mainwin.py:27206
+#: .././mainwin.py:27607
msgid "Add folder"
msgstr ""
-#: .././mainwin.py:27225
+#: .././mainwin.py:27626
msgid "Enter the folder name"
msgstr ""
-#: .././mainwin.py:27268
+#: .././mainwin.py:27669
msgid "(Optional) Add this folder inside another folder"
msgstr ""
-#: .././mainwin.py:27299
+#: .././mainwin.py:27700
msgid "Enable video downloads for this folder"
msgstr ""
-#: .././mainwin.py:27392
+#: .././mainwin.py:27793
msgid "Add playlist"
msgstr ""
-#: .././mainwin.py:27411
+#: .././mainwin.py:27812
msgid "Enter the playlist name"
msgstr ""
-#: .././mainwin.py:27416
+#: .././mainwin.py:27817
msgid "(Use the playlist's real name or a customised name)"
msgstr ""
-#: .././mainwin.py:27424
+#: .././mainwin.py:27825
msgid "Copy and paste a link to the playlist"
msgstr ""
-#: .././mainwin.py:27471
+#: .././mainwin.py:27872
msgid "(Optional) Add this playlist inside a folder"
msgstr ""
-#: .././mainwin.py:27501
+#: .././mainwin.py:27902
msgid "Enable video downloads for this playlist"
msgstr ""
-#: .././mainwin.py:27680
+#: .././mainwin.py:28081
msgid "Reset timestamps"
msgstr ""
-#: .././mainwin.py:27702
+#: .././mainwin.py:28103
msgid "Copy timestamps below, e.g."
msgstr ""
-#: .././mainwin.py:27703
+#: .././mainwin.py:28104
msgid "Introduction"
msgstr ""
-#: .././mainwin.py:27828
+#: .././mainwin.py:28229
msgid "Add videos"
msgstr ""
-#: .././mainwin.py:27847
+#: .././mainwin.py:28248
msgid "Copy and paste the links to one or more videos"
msgstr ""
-#: .././mainwin.py:27853
+#: .././mainwin.py:28254
msgid "Links containing multiple videos will be converted to a channel"
msgstr ""
-#: .././mainwin.py:27860
+#: .././mainwin.py:28261
msgid "Links containing multiple videos will be converted to a playlist"
msgstr ""
-#: .././mainwin.py:27867
+#: .././mainwin.py:28268
msgid "Links containing multiple videos will be downloaded separately"
msgstr ""
-#: .././mainwin.py:27874
+#: .././mainwin.py:28275
msgid "Links containing multiple videos will not be downloaded at all"
msgstr ""
-#: .././mainwin.py:27962
+#: .././mainwin.py:28363
msgid "Add the videos to this folder"
msgstr ""
-#: .././mainwin.py:27992
+#: .././mainwin.py:28393
msgid "I want to download these videos"
msgstr ""
-#: .././mainwin.py:28152 .././config.py:2156
+#: .././mainwin.py:28553 .././config.py:2156
msgid "Apply download options"
msgstr ""
-#: .././mainwin.py:28174
+#: .././mainwin.py:28575
msgid "Create new download options"
msgstr ""
-#: .././mainwin.py:28436
+#: .././mainwin.py:28837
msgid "Select a date"
msgstr ""
-#: .././mainwin.py:28541
+#: .././mainwin.py:28942
msgid "Delete channel"
msgstr ""
-#: .././mainwin.py:28543
+#: .././mainwin.py:28944
msgid "Delete playlist"
msgstr ""
-#: .././mainwin.py:28545
+#: .././mainwin.py:28946
msgid "Delete folder"
msgstr ""
-#: .././mainwin.py:28548
+#: .././mainwin.py:28949
msgid "Empty channel"
msgstr ""
-#: .././mainwin.py:28550
+#: .././mainwin.py:28951
msgid "Empty playlist"
msgstr ""
-#: .././mainwin.py:28552
+#: .././mainwin.py:28953
msgid "Empty folder"
msgstr ""
-#: .././mainwin.py:28586
+#: .././mainwin.py:28987
msgid "This channel does not contain any videos"
msgstr ""
-#: .././mainwin.py:28588
+#: .././mainwin.py:28989
msgid "This playlist does not contain any videos"
msgstr ""
-#: .././mainwin.py:28590
+#: .././mainwin.py:28991
msgid "This folder doesn't contain anything"
msgstr ""
-#: .././mainwin.py:28596
+#: .././mainwin.py:28997
msgid "(but there might be some files in Tartube's data folder)"
msgstr ""
-#: .././mainwin.py:28609
+#: .././mainwin.py:29010
msgid "This channel contains:"
msgstr ""
-#: .././mainwin.py:28611
+#: .././mainwin.py:29012
msgid "This playlist contains:"
msgstr ""
-#: .././mainwin.py:28613 .././config.py:17086
+#: .././mainwin.py:29014 .././config.py:17278
msgid "This folder contains:"
msgstr ""
-#: .././mainwin.py:28620
+#: .././mainwin.py:29021
msgid "1 folder"
msgstr ""
-#: .././mainwin.py:28622
+#: .././mainwin.py:29023
#, python-brace-format
msgid "{0} folders"
msgstr ""
-#: .././mainwin.py:28629
+#: .././mainwin.py:29030
msgid "1 channel"
msgstr ""
-#: .././mainwin.py:28631
+#: .././mainwin.py:29032
#, python-brace-format
msgid "{0} channels"
msgstr ""
-#: .././mainwin.py:28638
+#: .././mainwin.py:29039
msgid "1 playlist"
msgstr ""
-#: .././mainwin.py:28640
+#: .././mainwin.py:29041
#, python-brace-format
msgid "{0} playlists"
msgstr ""
-#: .././mainwin.py:28647 .././mainwin.py:29687
+#: .././mainwin.py:29048 .././mainwin.py:30088
msgid "1 video"
msgstr ""
-#: .././mainwin.py:28649 .././mainwin.py:29690
+#: .././mainwin.py:29050 .././mainwin.py:30091
#, python-brace-format
msgid "{0} videos"
msgstr ""
-#: .././mainwin.py:28662
+#: .././mainwin.py:29063
msgid ""
"Do you want to remove the channel from your filesystem, or do you just want "
"to remove the channel from this list?"
msgstr ""
-#: .././mainwin.py:28666
+#: .././mainwin.py:29067
msgid "Just remove the channel from this list"
msgstr ""
-#: .././mainwin.py:28670
+#: .././mainwin.py:29071
msgid ""
"Do you want to remove the playlist from your filesystem, or do you just "
"want to remove the playlist from this list?"
msgstr ""
-#: .././mainwin.py:28674
+#: .././mainwin.py:29075
msgid "Just remove the playlist from this list"
msgstr ""
-#: .././mainwin.py:28678
+#: .././mainwin.py:29079
msgid ""
"Do you want to remove the folder from your filesystem, or do you just want "
"to remove the folder from this list?"
msgstr ""
-#: .././mainwin.py:28682
+#: .././mainwin.py:29083
msgid "Just remove the folder from this list"
msgstr ""
-#: .././mainwin.py:28688
+#: .././mainwin.py:29089
msgid ""
"Do you want to empty the channel on your filesystem, or do you just want to "
"empty the channel in this list?"
msgstr ""
-#: .././mainwin.py:28692
+#: .././mainwin.py:29093
msgid "Just empty the channel in this list"
msgstr ""
-#: .././mainwin.py:28696
+#: .././mainwin.py:29097
msgid ""
"Do you want to empty the playlist on your filesystem, or do you just want to "
"empty the playlist in this list?"
msgstr ""
-#: .././mainwin.py:28700
+#: .././mainwin.py:29101
msgid "Just empty the playlist in this list"
msgstr ""
-#: .././mainwin.py:28704
+#: .././mainwin.py:29105
msgid ""
"Do you want to empty the folder on your filesystem, or do you just want to "
"empty the folder in this list?"
msgstr ""
-#: .././mainwin.py:28708
+#: .././mainwin.py:29109
msgid "Just empty the folder in this list"
msgstr ""
-#: .././mainwin.py:28723
+#: .././mainwin.py:29124
msgid "Delete files on your computer"
msgstr ""
-#: .././mainwin.py:28775
+#: .././mainwin.py:29176
msgid "Delete dropzone"
msgstr ""
-#: .././mainwin.py:28793
+#: .././mainwin.py:29194
msgid "Just delete the dropzone"
msgstr ""
-#: .././mainwin.py:28798
+#: .././mainwin.py:29199
msgid "Also delete download options"
msgstr ""
-#: .././mainwin.py:28889
+#: .././mainwin.py:29290
msgid "Duplicate URLs"
msgstr ""
-#: .././mainwin.py:28912
+#: .././mainwin.py:29313
msgid "The following URLs are duplicates:"
msgstr ""
-#: .././mainwin.py:28987
+#: .././mainwin.py:29388
msgid "Export from database"
msgstr ""
-#: .././mainwin.py:29013
+#: .././mainwin.py:29414
msgid ""
"Tartube is ready to export a partial summary of its database, containing a "
"list of videos, channels, playlists and/or folders (but not including the "
"videos themselves)"
msgstr ""
-#: .././mainwin.py:29020
+#: .././mainwin.py:29421
msgid ""
"Tartube is ready to export a summary of its database, containing a list of "
"videos, channels, playlists and/or folders (but not including the videos "
"themselves)"
msgstr ""
-#: .././mainwin.py:29036
+#: .././mainwin.py:29437
msgid "Choose what should be included:"
msgstr ""
-#: .././mainwin.py:29044
+#: .././mainwin.py:29445
msgid "Include lists of videos"
msgstr ""
-#: .././mainwin.py:29049
+#: .././mainwin.py:29450
msgid "Include channels"
msgstr ""
-#: .././mainwin.py:29054
+#: .././mainwin.py:29455
msgid "Include playlists"
msgstr ""
-#: .././mainwin.py:29059
+#: .././mainwin.py:29460
msgid "Preserve folder structure"
msgstr ""
-#: .././mainwin.py:29067
+#: .././mainwin.py:29468
msgid "Export as JSON"
msgstr ""
-#: .././mainwin.py:29073
+#: .././mainwin.py:29474
msgid "Export as CSV using separator"
msgstr ""
-#: .././mainwin.py:29100
+#: .././mainwin.py:29501
msgid "Export as plain text"
msgstr ""
-#: .././mainwin.py:29196
+#: .././mainwin.py:29597
msgid "Type extractor code"
msgstr ""
-#: .././mainwin.py:29233
+#: .././mainwin.py:29634
#, python-brace-format
msgid "Type an extractor code in the range {0}-{1}"
msgstr ""
-#: .././mainwin.py:29236
+#: .././mainwin.py:29637
msgid "(mp3, mp4 etc are also acceptable)"
msgstr ""
-#: .././mainwin.py:29242
+#: .././mainwin.py:29643
msgid "e.g. 136 for mp4 720p"
msgstr ""
-#: .././mainwin.py:29367
+#: .././mainwin.py:29768
msgid "Click the Output tab to see available formats"
msgstr ""
-#: .././mainwin.py:29369
+#: .././mainwin.py:29770
msgid "Click the Output tab to see available subtitles"
msgstr ""
-#: .././mainwin.py:29378
+#: .././mainwin.py:29779
msgid "Update general download options"
msgstr ""
-#: .././mainwin.py:29386
+#: .././mainwin.py:29787
msgid "Apply download options to this video only"
msgstr ""
-#: .././mainwin.py:29394
+#: .././mainwin.py:29795
msgid "Update this video's download options"
msgstr ""
-#: .././mainwin.py:29561
+#: .././mainwin.py:29962
msgid "Import into database"
msgstr ""
-#: .././mainwin.py:29585
+#: .././mainwin.py:29986
msgid "Choose which items to import"
msgstr ""
-#: .././mainwin.py:29606 .././config.py:22527 .././config.py:24485
-#: .././config.py:24763
+#: .././mainwin.py:30007 .././config.py:22901 .././config.py:24980
+#: .././config.py:25258
msgid "Import"
msgstr ""
-#: .././mainwin.py:29642
+#: .././mainwin.py:30043
msgid "Import videos"
msgstr ""
-#: .././mainwin.py:29647
+#: .././mainwin.py:30048
msgid "Merge channels/playlists/folders"
msgstr ""
#. Strip of widgets at the bottom
#. Bottom strip
-#: .././mainwin.py:29650 .././mainwin.py:31578 .././mainwin.py:33031
+#: .././mainwin.py:30051 .././mainwin.py:31979 .././mainwin.py:33432
msgid "Select all"
msgstr ""
-#: .././mainwin.py:29655 .././mainwin.py:31583
+#: .././mainwin.py:30056 .././mainwin.py:31984
msgid "Unselect all"
msgstr ""
-#: .././mainwin.py:29904
+#: .././mainwin.py:30305
msgid "Mount drive"
msgstr ""
-#: .././mainwin.py:29929
+#: .././mainwin.py:30330
msgid "The Tartube data folder is set to:"
msgstr ""
-#: .././mainwin.py:29942
+#: .././mainwin.py:30343
msgid "...but this folder doesn't exist"
msgstr ""
-#: .././mainwin.py:29945
+#: .././mainwin.py:30346
msgid "...but Tartube cannot write to this folder"
msgstr ""
-#: .././mainwin.py:29955
+#: .././mainwin.py:30356
msgid "I have mounted the drive, please try again"
msgstr ""
-#: .././mainwin.py:29961
+#: .././mainwin.py:30362
msgid "Use this data folder:"
msgstr ""
-#: .././mainwin.py:29988
+#: .././mainwin.py:30389
msgid "Select a different data folder"
msgstr ""
-#: .././mainwin.py:29994
+#: .././mainwin.py:30395
msgid "Use the default data folder"
msgstr ""
-#: .././mainwin.py:30000
+#: .././mainwin.py:30401
msgid "Shut down Tartube"
msgstr ""
#. 'Cancel' button
-#: .././mainwin.py:30007 .././config.py:1118
+#: .././mainwin.py:30408 .././config.py:1118
msgid "Cancel"
msgstr ""
#. 'OK' button
-#: .././mainwin.py:30011 .././config.py:1109 .././config.py:2338
-#: .././config.py:13145 .././config.py:13511
+#: .././mainwin.py:30412 .././config.py:1109 .././config.py:2338
+#: .././config.py:13184 .././config.py:13550
msgid "OK"
msgstr ""
-#: .././mainwin.py:30042
+#: .././mainwin.py:30443
msgid "The folder still doesn't exist. Please try a different option"
msgstr ""
-#: .././mainwin.py:30183
+#: .././mainwin.py:30584
msgid "MSYS2 terminal"
msgstr ""
-#: .././mainwin.py:30204
+#: .././mainwin.py:30605
msgid "On MS Windows, Tartube runs in the MSYS2 environment."
msgstr ""
-#: .././mainwin.py:30212
+#: .././mainwin.py:30613
msgid ""
"Advanced users can use the MSYS2 terminal to make changes to the\n"
"environment (for example, to tweak youtube-dl or FFmpeg)"
msgstr ""
-#: .././mainwin.py:30223 .././mainwin.py:30427
+#: .././mainwin.py:30624 .././mainwin.py:30828
msgid "Always show this window"
msgstr ""
-#: .././mainwin.py:30302 .././config.py:437
+#: .././mainwin.py:30703 .././config.py:437
msgid "Downloads"
msgstr ""
-#: .././mainwin.py:30332
+#: .././mainwin.py:30733
msgid "Nothing happened?"
msgstr ""
-#: .././mainwin.py:30348
+#: .././mainwin.py:30749
msgid "Check the requested format is actually available"
msgstr ""
-#: .././mainwin.py:30353
+#: .././mainwin.py:30754
msgid "(Try converting instead of a direct download)"
msgstr ""
-#: .././mainwin.py:30366
+#: .././mainwin.py:30767
msgid "Check the downloader is installed and updated"
msgstr ""
-#: .././mainwin.py:30371 .././mainwin.py:32621
+#: .././mainwin.py:30772 .././mainwin.py:33022
msgid "Update"
msgstr ""
-#: .././mainwin.py:30377
+#: .././mainwin.py:30778
msgid "Tell Tartube where to find the downloader"
msgstr ""
-#: .././mainwin.py:30382
+#: .././mainwin.py:30783
msgid "Set the downloader's file path"
msgstr ""
-#: .././mainwin.py:30388
+#: .././mainwin.py:30789
msgid "Try a different downloader"
msgstr ""
-#: .././mainwin.py:30394
+#: .././mainwin.py:30795
msgid "Find more help"
msgstr ""
-#: .././mainwin.py:30399
+#: .././mainwin.py:30800
msgid "Read the FAQ"
msgstr ""
-#: .././mainwin.py:30405
+#: .././mainwin.py:30806
msgid "Ask for help"
msgstr ""
-#: .././mainwin.py:30417
+#: .././mainwin.py:30818
msgid ""
"Don't forget to check the Output tab and the\n"
"Errors/Warnings tab for error messages!"
msgstr ""
-#: .././mainwin.py:30585
+#: .././mainwin.py:30986
msgid "Download video clip"
msgstr ""
-#: .././mainwin.py:30587
+#: .././mainwin.py:30988
msgid "Create video clip"
msgstr ""
-#: .././mainwin.py:30614 .././config.py:11059 .././config.py:11699
-#: .././config.py:14362
+#: .././mainwin.py:31015 .././config.py:11098 .././config.py:11738
+#: .././config.py:14401
msgid "Start timestamp (e.g. 15:29)"
msgstr ""
-#: .././mainwin.py:30624 .././config.py:11079 .././config.py:11719
-#: .././config.py:14375
+#: .././mainwin.py:31025 .././config.py:11118 .././config.py:11758
+#: .././config.py:14414
msgid "Stop timestamp (optional)"
msgstr ""
-#: .././mainwin.py:30633 .././config.py:11094 .././config.py:11734
-#: .././config.py:14388
+#: .././mainwin.py:31034 .././config.py:11133 .././config.py:11773
+#: .././config.py:14427
msgid "Clip title (optional)"
msgstr ""
-#: .././mainwin.py:30641
+#: .././mainwin.py:31042
msgid "Download this clip"
msgstr ""
-#: .././mainwin.py:30643
+#: .././mainwin.py:31044
msgid "Create this clip"
msgstr ""
-#: .././mainwin.py:30652
+#: .././mainwin.py:31053
msgid "Download all clips"
msgstr ""
-#: .././mainwin.py:30654
+#: .././mainwin.py:31055
msgid "Create all clips"
msgstr ""
-#: .././mainwin.py:30821
+#: .././mainwin.py:31222
msgid "Download sliced video"
msgstr ""
-#: .././mainwin.py:30823
+#: .././mainwin.py:31224
msgid "Create sliced video"
msgstr ""
-#: .././mainwin.py:30850 .././config.py:11279 .././config.py:11941
-#: .././config.py:14567
+#: .././mainwin.py:31251 .././config.py:11318 .././config.py:11980
+#: .././config.py:14606
msgid "Start (timestamp or seconds)"
msgstr ""
-#: .././mainwin.py:30860 .././config.py:11292 .././config.py:11954
-#: .././config.py:14579
+#: .././mainwin.py:31261 .././config.py:11331 .././config.py:11993
+#: .././config.py:14618
msgid "Stop (optional)"
msgstr ""
-#: .././mainwin.py:30868
+#: .././mainwin.py:31269
msgid "Download and remove this slice"
msgstr ""
-#: .././mainwin.py:30870
+#: .././mainwin.py:31271
msgid "Create this sliced video"
msgstr ""
-#: .././mainwin.py:30885
+#: .././mainwin.py:31286
msgid "Download and remove everything but this slice"
msgstr ""
-#: .././mainwin.py:30893
+#: .././mainwin.py:31294
msgid "Download video with all slices removed"
msgstr ""
-#: .././mainwin.py:30895
+#: .././mainwin.py:31296
msgid "Create video with all slices removed"
msgstr ""
-#: .././mainwin.py:31052
+#: .././mainwin.py:31453
msgid "Set removal time"
msgstr ""
-#: .././mainwin.py:31075
+#: .././mainwin.py:31476
msgid ""
"When videos are checked/downloaded, older videos\n"
"are removed from the Recent Videos folder."
msgstr ""
-#: .././mainwin.py:31086 .././config.py:17291
+#: .././mainwin.py:31487 .././config.py:17483
msgid "Empty the whole folder"
msgstr ""
-#: .././mainwin.py:31093 .././config.py:17300
+#: .././mainwin.py:31494 .././config.py:17492
msgid "Remove videos after days"
msgstr ""
-#: .././mainwin.py:31181
+#: .././mainwin.py:31582
msgid "Stale lockfile"
msgstr ""
-#: .././mainwin.py:31218
+#: .././mainwin.py:31619
msgid ""
"Failed to load the Tartube database file, because another copy of Tartube "
"seems to be using it"
msgstr ""
-#: .././mainwin.py:31225
+#: .././mainwin.py:31626
msgid "Do you want to load it anyway?"
msgstr ""
-#: .././mainwin.py:31231
+#: .././mainwin.py:31632
msgid ""
"(Only click 'Yes' if you are sure that other copies of Tartube are not using "
"the database right now)"
msgstr ""
-#: .././mainwin.py:31243
+#: .././mainwin.py:31644
msgid "Yes, load the file"
msgstr ""
-#: .././mainwin.py:31250
+#: .././mainwin.py:31651
msgid "No, just shut down Tartube"
msgstr ""
-#: .././mainwin.py:31252
+#: .././mainwin.py:31653
msgid "No, don't load the file"
msgstr ""
-#: .././mainwin.py:31338
+#: .././mainwin.py:31739
msgid "Rename channel"
msgstr ""
-#: .././mainwin.py:31340
+#: .././mainwin.py:31741
msgid "Rename playlist"
msgstr ""
-#: .././mainwin.py:31342
+#: .././mainwin.py:31743
msgid "Rename folder"
msgstr ""
-#: .././mainwin.py:31366
+#: .././mainwin.py:31767
msgid "Set the new name for the channel:"
msgstr ""
-#: .././mainwin.py:31368
+#: .././mainwin.py:31769
msgid "Set the new name for the playlist:"
msgstr ""
-#: .././mainwin.py:31370
+#: .././mainwin.py:31771
msgid "Set the new name for the folder:"
msgstr ""
-#: .././mainwin.py:31376
+#: .././mainwin.py:31777
msgid "N.B. This procedure will modify your filesystem!\n"
msgstr ""
-#: .././mainwin.py:31446
+#: .././mainwin.py:31847
msgid "Reset channel/playlist names"
msgstr ""
-#: .././mainwin.py:31472
+#: .././mainwin.py:31873
msgid "This list is updated whenever channels/playlists are checked/downloaded"
msgstr ""
-#: .././mainwin.py:31480
+#: .././mainwin.py:31881
msgid "Select which names should be reset to the names on the original website"
msgstr ""
#. 'Reset' button
#. (Signal connect appears below)
-#: .././mainwin.py:31504 .././config.py:1091 .././config.py:5814
-#: .././config.py:5968 .././config.py:22753 .././config.py:23594
-#: .././config.py:23622 .././config.py:24236 .././config.py:24277
-#: .././config.py:24351
+#: .././mainwin.py:31905 .././config.py:1091 .././config.py:5839
+#: .././config.py:5993 .././config.py:23127 .././config.py:24087
+#: .././config.py:24115 .././config.py:24729 .././config.py:24770
+#: .././config.py:24837
msgid "Reset"
msgstr ""
-#: .././mainwin.py:31520
+#: .././mainwin.py:31921
msgid "Database name"
msgstr ""
-#: .././mainwin.py:31528
+#: .././mainwin.py:31929
msgid "Original name"
msgstr ""
-#: .././mainwin.py:31738
+#: .././mainwin.py:32139
msgid "Add to scheduled download"
msgstr ""
-#: .././mainwin.py:31761
+#: .././mainwin.py:32162
msgid "Add the channel to this scheduled download:"
msgstr ""
-#: .././mainwin.py:31763
+#: .././mainwin.py:32164
msgid "Add the playlist to this scheduled download:"
msgstr ""
-#: .././mainwin.py:31765
+#: .././mainwin.py:32166
msgid "Add the folder to this scheduled download:"
msgstr ""
-#: .././mainwin.py:31861
+#: .././mainwin.py:32262
msgid "Set download destination"
msgstr ""
-#: .././mainwin.py:31906
+#: .././mainwin.py:32307
msgid "This channel normally downloads videos into its own folder"
msgstr ""
-#: .././mainwin.py:31911
+#: .././mainwin.py:32312
msgid "This playlist normally downloads videos into its own folder"
msgstr ""
-#: .././mainwin.py:31916
+#: .././mainwin.py:32317
msgid "This folder normally downloads videos into itself"
msgstr ""
-#: .././mainwin.py:31921
+#: .././mainwin.py:32322
msgid "This channel normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31926
+#: .././mainwin.py:32327
msgid "This playlist normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31931
+#: .././mainwin.py:32332
msgid "This folder normally downloads videos into its own directory"
msgstr ""
-#: .././mainwin.py:31941
+#: .././mainwin.py:32342
msgid "Use this location"
msgstr ""
-#: .././mainwin.py:31949
+#: .././mainwin.py:32350
msgid "Choose a different location if:"
msgstr ""
-#: .././mainwin.py:31952
+#: .././mainwin.py:32353
msgid ""
"You want to add a channel and its playlists, without downloading the same "
"video twice"
msgstr ""
-#: .././mainwin.py:31958
+#: .././mainwin.py:32359
msgid ""
"A video creator has channels on both YouTube and BitChute, and you want to "
"add both without downloading the same video twice"
msgstr ""
-#: .././mainwin.py:32058
+#: .././mainwin.py:32459
msgid ""
"Using an external folder is not recommended, in general. Choose an external "
"folder if:"
msgstr ""
-#: .././mainwin.py:32063
+#: .././mainwin.py:32464
msgid ""
"Using an external directory is not recommended, in general. Choose an "
"external directory if:"
msgstr ""
-#: .././mainwin.py:32069
+#: .././mainwin.py:32470
msgid ""
"You want a different application to process the downloaded videos (other "
"applications should not modify Tartube's main data folder)"
msgstr ""
-#: .././mainwin.py:32075
+#: .././mainwin.py:32476
msgid ""
"You want a different application to process the downloaded videos (other "
"applications should not modify Tartube's main data directory)"
msgstr ""
#. (Signal connect appears below)
-#: .././mainwin.py:32092 .././config.py:5564 .././config.py:5810
-#: .././config.py:5964 .././config.py:8044 .././config.py:8065
-#: .././config.py:8086 .././config.py:22749 .././config.py:24120
-#: .././config.py:24232 .././config.py:24273 .././config.py:24347
+#: .././mainwin.py:32493 .././config.py:5566 .././config.py:5835
+#: .././config.py:5989 .././config.py:8069 .././config.py:8090
+#: .././config.py:8111 .././config.py:23123 .././config.py:24613
+#: .././config.py:24725 .././config.py:24766 .././config.py:24833
msgid "Set"
msgstr ""
-#: .././mainwin.py:32173
+#: .././mainwin.py:32574
msgid "Select an external folder"
msgstr ""
-#: .././mainwin.py:32175
+#: .././mainwin.py:32576
msgid "Select an external directory"
msgstr ""
-#: .././mainwin.py:32195
+#: .././mainwin.py:32596
msgid "An external folder must not be inside Tartube's own data folder"
msgstr ""
-#: .././mainwin.py:32201
+#: .././mainwin.py:32602
msgid "An external directory must not be inside Tartube's own data directory"
msgstr ""
-#: .././mainwin.py:32391
+#: .././mainwin.py:32792
msgid "Set nickname"
msgstr ""
-#: .././mainwin.py:32416
+#: .././mainwin.py:32817
#, python-brace-format
msgid ""
"Set a nickname for the channel '{0}' (or leave it blank to reset the "
"nickname)"
msgstr ""
-#: .././mainwin.py:32421
+#: .././mainwin.py:32822
#, python-brace-format
msgid ""
"Set a nickname for the playlist '{0}' (or leave it blank to reset the "
"nickname)"
msgstr ""
-#: .././mainwin.py:32426
+#: .././mainwin.py:32827
#, python-brace-format
msgid ""
"Set a nickname for the folder '{0}' (or leave it blank to reset the nickname)"
msgstr ""
-#: .././mainwin.py:32486
+#: .././mainwin.py:32887
msgid "Set URL"
msgstr ""
-#: .././mainwin.py:32511
+#: .././mainwin.py:32912
#, python-brace-format
msgid "Update the URL for the channel '{0}'"
msgstr ""
-#: .././mainwin.py:32515
+#: .././mainwin.py:32916
#, python-brace-format
msgid "Update the URL for the playlist '{0}'"
msgstr ""
-#: .././mainwin.py:32576
+#: .././mainwin.py:32977
msgid "Show system command"
msgstr ""
-#: .././mainwin.py:32630
+#: .././mainwin.py:33031
msgid "Copy to clipboard"
msgstr ""
-#: .././mainwin.py:32792 .././config.py:23094
+#: .././mainwin.py:33193 .././config.py:23574
msgid "Test"
msgstr ""
-#: .././mainwin.py:32812
+#: .././mainwin.py:33213
msgid "URL of the video to download (optional)"
msgstr ""
-#: .././mainwin.py:32823
+#: .././mainwin.py:33224
msgid "Command line options (optional)"
msgstr ""
-#: .././mainwin.py:32901
+#: .././mainwin.py:33302
msgid "Tidy up files"
msgstr ""
-#: .././mainwin.py:32903
+#: .././mainwin.py:33304
msgid "Tidy up channel"
msgstr ""
-#: .././mainwin.py:32905
+#: .././mainwin.py:33306
msgid "Tidy up playlist"
msgstr ""
-#: .././mainwin.py:32907
+#: .././mainwin.py:33308
msgid "Tidy up folder"
msgstr ""
-#: .././mainwin.py:32936
+#: .././mainwin.py:33337
msgid "Check that videos are not corrupted"
msgstr ""
-#: .././mainwin.py:32941
+#: .././mainwin.py:33342
msgid "Delete corrupted video files"
msgstr ""
-#: .././mainwin.py:32951
+#: .././mainwin.py:33352
msgid "Check that videos do/don't exist"
msgstr ""
-#: .././mainwin.py:32958
+#: .././mainwin.py:33359
msgid ""
"Delete downloaded video files (doesn't remove videos from Tartube's database)"
msgstr ""
-#: .././mainwin.py:32970
+#: .././mainwin.py:33371
msgid "Also delete all video/audio files with the same name"
msgstr ""
-#: .././mainwin.py:32978
+#: .././mainwin.py:33379
msgid "Remove no-URL videos from database"
msgstr ""
-#: .././mainwin.py:32982
+#: .././mainwin.py:33383
msgid "Remove duplicate videos from database"
msgstr ""
-#: .././mainwin.py:32987
+#: .././mainwin.py:33388
msgid "Delete all archive files"
msgstr ""
-#: .././mainwin.py:32991
+#: .././mainwin.py:33392
msgid "Move thumbnails into own folder"
msgstr ""
-#: .././mainwin.py:32996
+#: .././mainwin.py:33397
msgid "Delete all thumbnail files"
msgstr ""
-#: .././mainwin.py:33002
+#: .././mainwin.py:33403
msgid "Convert .webp thumbnails to .jpg using FFmpeg"
msgstr ""
-#: .././mainwin.py:33011
+#: .././mainwin.py:33412
msgid "Move other metadata files into own folder"
msgstr ""
-#: .././mainwin.py:33019
+#: .././mainwin.py:33420
msgid "Delete all description files"
msgstr ""
-#: .././mainwin.py:33023
+#: .././mainwin.py:33424
msgid "Delete all metadata (JSON) files"
msgstr ""
-#: .././mainwin.py:33027
+#: .././mainwin.py:33428
msgid "Delete all annotation files"
msgstr ""
#. (Signal connect appears below)
-#: .././mainwin.py:33036
+#: .././mainwin.py:33437
msgid "Select none"
msgstr ""
@@ -4013,7 +4060,7 @@ msgstr ""
msgid "Uploads"
msgstr ""
-#: .././config.py:439 .././config.py:14050
+#: .././config.py:439 .././config.py:14089
msgid "File size"
msgstr ""
@@ -4065,7 +4112,7 @@ msgstr ""
msgid "Days"
msgstr ""
-#: .././config.py:540 .././config.py:17780
+#: .././config.py:540 .././config.py:17972
msgid "Hours"
msgstr ""
@@ -4106,7 +4153,7 @@ msgstr ""
msgid "Apply changes without closing the window"
msgstr ""
-#: .././config.py:1112 .././config.py:13148 .././config.py:13514
+#: .././config.py:1112 .././config.py:13187 .././config.py:13553
msgid "Apply changes"
msgstr ""
@@ -4142,7 +4189,7 @@ msgstr ""
msgid "Video URL"
msgstr ""
-#: .././config.py:2138 .././config.py:7148
+#: .././config.py:2138 .././config.py:7173
msgid "_Options"
msgstr ""
@@ -4166,7 +4213,7 @@ msgstr ""
msgid "Custom download settings"
msgstr ""
-#: .././config.py:3005 .././config.py:4570 .././config.py:10247
+#: .././config.py:3005 .././config.py:4570 .././config.py:10286
msgid "_Name"
msgstr ""
@@ -4221,7 +4268,8 @@ msgstr ""
msgid "Completely reset all settings to their default values"
msgstr ""
-#: .././config.py:3163
+#. Add this tab...
+#: .././config.py:3163 .././config.py:7151
msgid "_Subtitles"
msgstr ""
@@ -4251,15 +4299,15 @@ msgid ""
"any subtitles):"
msgstr ""
-#: .././config.py:3226 .././config.py:7222
+#: .././config.py:3226 .././config.py:7247
msgid "Add language"
msgstr ""
-#: .././config.py:3238 .././config.py:7240
+#: .././config.py:3238 .././config.py:7265
msgid "Remove language"
msgstr ""
-#: .././config.py:3276 .././config.py:11607 .././config.py:23208
+#: .././config.py:3276 .././config.py:11646
msgid "_Clips"
msgstr ""
@@ -4283,7 +4331,7 @@ msgstr ""
msgid "Remove slices from the video using SponsorBlock data (requires FFmpeg)"
msgstr ""
-#: .././config.py:3341 .././config.py:17817 .././config.py:18125
+#: .././config.py:3341 .././config.py:18009 .././config.py:18317
msgid "Remove"
msgstr ""
@@ -4323,8 +4371,8 @@ msgstr ""
msgid "Minimum delay to apply (in minutes; randomises the actual delay)"
msgstr ""
-#: .././config.py:3501
-msgid "Mirrors"
+#: .././config.py:3501 .././config.py:24061
+msgid "_Mirrors"
msgstr ""
#: .././config.py:3506
@@ -4347,12 +4395,12 @@ msgstr ""
msgid "Obtain the video from this YouTube front-end:"
msgstr ""
-#: .././config.py:3556 .././config.py:23600
+#: .././config.py:3556 .././config.py:24093
msgid "Type the exact text that replaces youtube.com e.g."
msgstr ""
-#: .././config.py:3579 .././config.py:22848
-msgid "Li_vestreams"
+#: .././config.py:3579
+msgid "L_ivestreams"
msgstr ""
#: .././config.py:3583
@@ -4375,8 +4423,8 @@ msgstr ""
msgid "Only download finished livestreams"
msgstr ""
-#: .././config.py:3678 .././config.py:4060 .././config.py:8476
-#: .././config.py:9286 .././config.py:12658 .././config.py:13054
+#: .././config.py:3678 .././config.py:4060 .././config.py:8501
+#: .././config.py:9325 .././config.py:12697 .././config.py:13093
msgid "This procedure cannot be reversed. Are you sure you want to continue?"
msgstr ""
@@ -4442,7 +4490,7 @@ msgid "Completely reset all download options to their default values"
msgstr ""
#. Add this tab...
-#: .././config.py:4769 .././config.py:4780 .././config.py:22169
+#: .././config.py:4769 .././config.py:4780 .././config.py:22487
msgid "_Downloads"
msgstr ""
@@ -4493,7 +4541,7 @@ msgstr ""
msgid "_Playlists"
msgstr ""
-#: .././config.py:4970 .././config.py:18176 .././config.py:21851
+#: .././config.py:4970 .././config.py:18368 .././config.py:22169
msgid "_Limits"
msgstr ""
@@ -4547,7 +4595,7 @@ msgid "E_xternal"
msgstr ""
#. Add this tab...
-#: .././config.py:5141 .././config.py:19183
+#: .././config.py:5141 .././config.py:19386
msgid "_Files"
msgstr ""
@@ -4571,11 +4619,11 @@ msgstr ""
msgid "Add to template:"
msgstr ""
-#: .././config.py:5234 .././config.py:13735
+#: .././config.py:5234 .././config.py:13774
msgid "Video properties"
msgstr ""
-#: .././config.py:5236 .././config.py:14020
+#: .././config.py:5236 .././config.py:14059
msgid "Video ID"
msgstr ""
@@ -4603,191 +4651,191 @@ msgstr ""
msgid "Age restriction (years)"
msgstr ""
-#: .././config.py:5244
-msgid "Is a livestream"
-msgstr ""
-
#: .././config.py:5245
-msgid "Autonumber videos, starting at 0"
+msgid "Autonumber videos"
msgstr ""
#: .././config.py:5247
-msgid "Creator/uploader"
+msgid "Autonumber videos (playlists)"
msgstr ""
#: .././config.py:5249
+msgid "Creator/uploader"
+msgstr ""
+
+#: .././config.py:5251
msgid "Full name of video uploader"
msgstr ""
-#: .././config.py:5250
+#: .././config.py:5252
msgid "Uploader ID"
msgstr ""
-#: .././config.py:5251
+#: .././config.py:5253
msgid "Nickname/ID of video uploader"
msgstr ""
-#: .././config.py:5252
+#: .././config.py:5254
msgid "Channel name"
msgstr ""
-#: .././config.py:5253
+#: .././config.py:5255
msgid "Channel ID"
msgstr ""
-#: .././config.py:5254
+#: .././config.py:5256
msgid "Playlist name"
msgstr ""
-#: .././config.py:5255 .././config.py:16317
+#: .././config.py:5257 .././config.py:16357
msgid "Playlist ID"
msgstr ""
-#: .././config.py:5256
+#: .././config.py:5258
msgid "Video index in playlist"
msgstr ""
-#: .././config.py:5258
+#: .././config.py:5260
msgid "Date/time/location"
msgstr ""
-#: .././config.py:5260
+#: .././config.py:5262
msgid "Release date (YYYYMMDD)"
msgstr ""
-#: .././config.py:5261
+#: .././config.py:5263
msgid "Release time (UNIX timestamp)"
msgstr ""
-#: .././config.py:5262
+#: .././config.py:5264
msgid "Upload data (YYYYMMDD)"
msgstr ""
-#: .././config.py:5263
+#: .././config.py:5265
msgid "Video length (seconds)"
msgstr ""
-#: .././config.py:5264
+#: .././config.py:5266
msgid "Filming location"
msgstr ""
-#: .././config.py:5266 .././config.py:5268
+#: .././config.py:5268 .././config.py:5270
msgid "Video format"
msgstr ""
-#: .././config.py:5269
+#: .././config.py:5271
msgid "Video format code"
msgstr ""
-#: .././config.py:5270
+#: .././config.py:5272
msgid "Video width"
msgstr ""
-#: .././config.py:5271
+#: .././config.py:5273
msgid "Video height"
msgstr ""
-#: .././config.py:5273
+#: .././config.py:5275
msgid "Video frame rate"
msgstr ""
-#: .././config.py:5274
+#: .././config.py:5276
msgid "Average video/audio bitrate (KiB/s)"
msgstr ""
-#: .././config.py:5275
+#: .././config.py:5277
msgid "Average video bitrate (KiB/s)"
msgstr ""
-#: .././config.py:5276
+#: .././config.py:5278
msgid "Average audio bitrate (KiB/s)"
msgstr ""
-#: .././config.py:5278
+#: .././config.py:5280
msgid "Ratings/comments"
msgstr ""
-#: .././config.py:5280
+#: .././config.py:5282
msgid "Number of views"
msgstr ""
-#: .././config.py:5281
+#: .././config.py:5283
msgid "Number of positive ratings"
msgstr ""
-#: .././config.py:5282
+#: .././config.py:5284
msgid "Number of negative ratings"
msgstr ""
-#: .././config.py:5283
+#: .././config.py:5285
msgid "Average rating"
msgstr ""
-#: .././config.py:5284
+#: .././config.py:5286
msgid "Number of reposts"
msgstr ""
-#: .././config.py:5285
+#: .././config.py:5287
msgid "Number of comments"
msgstr ""
-#: .././config.py:5321 .././config.py:5430 .././config.py:5573
-#: .././config.py:17811 .././config.py:18115 .././config.py:21549
-#: .././config.py:22518 .././config.py:24476 .././config.py:24754
+#: .././config.py:5323 .././config.py:5432 .././config.py:5575
+#: .././config.py:18003 .././config.py:18307 .././config.py:21867
+#: .././config.py:22892 .././config.py:24971 .././config.py:25249
msgid "Add"
msgstr ""
-#: .././config.py:5354
+#: .././config.py:5356
msgid "_Override"
msgstr ""
-#: .././config.py:5361
+#: .././config.py:5363
msgid "List of output filename templates"
msgstr ""
-#: .././config.py:5368
+#: .././config.py:5370
msgid "Overrides the output template in the 'File names' tab"
msgstr ""
-#: .././config.py:5387
+#: .././config.py:5389
msgid "Template"
msgstr ""
-#: .././config.py:5406 .././config.py:5537
+#: .././config.py:5408 .././config.py:5539
msgid "Output type"
msgstr ""
-#: .././config.py:5419
+#: .././config.py:5421
msgid "Output template"
msgstr ""
-#: .././config.py:5441 .././config.py:5584 .././config.py:21585
-#: .././config.py:22576 .././config.py:24534 .././config.py:24812
+#: .././config.py:5443 .././config.py:5586 .././config.py:21903
+#: .././config.py:22950 .././config.py:25029 .././config.py:25307
msgid "Delete"
msgstr ""
-#: .././config.py:5450 .././config.py:5593 .././config.py:20135
-#: .././config.py:22592 .././config.py:24550 .././config.py:24828
+#: .././config.py:5452 .././config.py:5595 .././config.py:20445
+#: .././config.py:22966 .././config.py:25045 .././config.py:25323
msgid "Refresh list"
msgstr ""
-#: .././config.py:5493
+#: .././config.py:5495
msgid "_Paths"
msgstr ""
-#: .././config.py:5500
+#: .././config.py:5502
msgid "List of output paths"
msgstr ""
-#: .././config.py:5518
+#: .././config.py:5520
msgid "Path"
msgstr ""
-#: .././config.py:5552
+#: .././config.py:5554
msgid "Output path"
msgstr ""
-#: .././config.py:5636
+#: .././config.py:5638
msgid "_Filesystem"
msgstr ""
@@ -4799,11 +4847,11 @@ msgstr ""
msgid "Restrict filenames to ASCII characters"
msgstr ""
-#: .././config.py:5657
+#: .././config.py:5659
msgid "Use the server's file modification time"
msgstr ""
-#: .././config.py:5664
+#: .././config.py:5666
msgid "Download all videos into this folder"
msgstr ""
@@ -4816,936 +4864,943 @@ msgid "Limit filename length (excluding extension) to this many characters"
msgstr ""
#: .././config.py:5755
+msgid "WARNING: The filename length includes the length of the folder name!"
+msgstr ""
+
+#: .././config.py:5760
+msgid "WARNING: The filename length includes the length of the directory nam!e"
+msgstr ""
+
+#: .././config.py:5772
+msgid "Do not overwrite any files"
+msgstr ""
+
+#: .././config.py:5780
msgid "Overwrite all video and metadata files (includes '--no-continue')"
msgstr ""
-#: .././config.py:5764
+#: .././config.py:5789
msgid "Write playlist metadata in addition to video metadata"
msgstr ""
-#: .././config.py:5772
+#: .././config.py:5797
msgid "Write all fields, including private fields, to the .info.json file"
msgstr ""
-#: .././config.py:5794
+#: .././config.py:5819
msgid "_Cookies"
msgstr ""
-#: .././config.py:5801
+#: .././config.py:5826
msgid "Cookies options"
msgstr ""
-#: .././config.py:5806
+#: .././config.py:5831
msgid "Path to the downloader's cookie jar file"
msgstr ""
-#: .././config.py:5861
+#: .././config.py:5886
msgid "Cookie options"
msgstr ""
-#: .././config.py:5866
+#: .././config.py:5891
msgid "Do not read/dump cookies from/to the cookiejar file"
msgstr ""
-#: .././config.py:5873
+#: .././config.py:5898
msgid "Do not load cookies from browser"
msgstr ""
-#: .././config.py:5884
+#: .././config.py:5909
msgid "Retrieve cookies from browser"
msgstr ""
-#: .././config.py:5902
+#: .././config.py:5927
msgid "Browser"
msgstr ""
-#: .././config.py:5920
+#: .././config.py:5945
msgid "Chromium keyring"
msgstr ""
-#: .././config.py:5939
+#: .././config.py:5964
msgid "Browser profile name (optional)"
msgstr ""
-#: .././config.py:5952
+#: .././config.py:5977
msgid "Browser profile path (optional)"
msgstr ""
-#: .././config.py:6144
+#: .././config.py:6169
msgid "_Shortcuts"
msgstr ""
-#: .././config.py:6150
+#: .././config.py:6175
msgid "Internet shortcut options"
msgstr ""
-#: .././config.py:6156
+#: .././config.py:6181
msgid "Write an internet shortcut file (.url, .webloc or .desktop)"
msgstr ""
-#: .././config.py:6163
+#: .././config.py:6188
msgid "Write a Windows internet shortcut file (.url)"
msgstr ""
-#: .././config.py:6170
+#: .././config.py:6195
msgid "Write a macOS inernet shortcut file (.webloc)"
msgstr ""
-#: .././config.py:6177
+#: .././config.py:6202
msgid "Write a Linux internet shortcut file (.desktop)"
msgstr ""
-#: .././config.py:6197
+#: .././config.py:6222
msgid "_Write/move"
msgstr ""
-#: .././config.py:6204
+#: .././config.py:6229
msgid "File write options"
msgstr ""
-#: .././config.py:6209
+#: .././config.py:6234
msgid "Write video's description to a .description file"
msgstr ""
-#: .././config.py:6216
+#: .././config.py:6241
msgid "Write video's metadata to an .info.json file"
msgstr ""
-#: .././config.py:6224
+#: .././config.py:6249
msgid "Write video's annotations to an .annotations.xml file"
msgstr ""
-#: .././config.py:6233
+#: .././config.py:6258
msgid ""
"Annotations are not downloaded when checking videos/channels/playlists/"
"folders"
msgstr ""
-#: .././config.py:6240
+#: .././config.py:6265
msgid "Write the video's thumbnail to the same folder"
msgstr ""
-#: .././config.py:6248
+#: .././config.py:6273
msgid "File move options"
msgstr ""
-#: .././config.py:6253
+#: .././config.py:6278
msgid "Move video's description file into a sub-folder"
msgstr ""
-#: .././config.py:6259
+#: .././config.py:6284
msgid "Write video's metadata file into a sub-folder"
msgstr ""
-#: .././config.py:6265
+#: .././config.py:6290
msgid "Write video's annotations file into a sub-folder"
msgstr ""
-#: .././config.py:6271
+#: .././config.py:6296
msgid "Write the video's thumbnail into a sub-folder"
msgstr ""
-#: .././config.py:6290
+#: .././config.py:6315
msgid "_Keep"
msgstr ""
-#: .././config.py:6296
+#: .././config.py:6321
msgid "Options during real (not simulated) downloads"
msgstr ""
-#: .././config.py:6302 .././config.py:6333
+#: .././config.py:6327 .././config.py:6358
msgid "Keep the description file after the download has finished"
msgstr ""
-#: .././config.py:6308 .././config.py:6339
+#: .././config.py:6333 .././config.py:6364
msgid "Keep the metadata file after the download has finished"
msgstr ""
-#: .././config.py:6314 .././config.py:6345
+#: .././config.py:6339 .././config.py:6370
msgid "Keep the annotations file after the download has finished"
msgstr ""
-#: .././config.py:6320 .././config.py:6351
+#: .././config.py:6345 .././config.py:6376
msgid "Keep the thumbnail file after the download has finished"
msgstr ""
-#: .././config.py:6327
+#: .././config.py:6352
msgid "Options during simulated (not real) downloads"
msgstr ""
#. Add this tab...
-#: .././config.py:6365
+#: .././config.py:6390
msgid "F_ormats"
msgstr ""
-#: .././config.py:6402
+#: .././config.py:6427
msgid "Preferred format options"
msgstr ""
-#: .././config.py:6449
+#: .././config.py:6474
msgid "If you want a specific format, install FFmpeg and use the Convert tab!"
msgstr ""
-#: .././config.py:6456
+#: .././config.py:6481
msgid "Recognised video/audio formats"
msgstr ""
-#: .././config.py:6471
+#: .././config.py:6496
msgid "Add format"
msgstr ""
-#: .././config.py:6484
+#: .././config.py:6509
msgid "Type extractor code directly"
msgstr ""
-#: .././config.py:6489
+#: .././config.py:6514
msgid "List of preferred formats"
msgstr ""
-#: .././config.py:6502
+#: .././config.py:6527
msgid "Remove format"
msgstr ""
-#: .././config.py:6569
+#: .././config.py:6594
msgid "If a merge is required after post-processing, output to this format:"
msgstr ""
-#: .././config.py:6602
+#: .././config.py:6627
msgid "_Preferred"
msgstr ""
#. Add this tab...
-#: .././config.py:6622 .././config.py:7361
+#: .././config.py:6647 .././config.py:7386
msgid "_Advanced"
msgstr ""
-#: .././config.py:6630
+#: .././config.py:6655
msgid "Multiple format options"
msgstr ""
-#: .././config.py:6639
+#: .././config.py:6664
msgid ""
"Multiple formats will not be downloaded, because an archive file will be "
"created"
msgstr ""
-#: .././config.py:6642
+#: .././config.py:6667
msgid "The archive file can be disabled in the System Preferences window"
msgstr ""
-#: .././config.py:6651
+#: .././config.py:6676
msgid ""
"For each video, download the first available format from the preferred list"
msgstr ""
-#: .././config.py:6665
+#: .././config.py:6690
msgid ""
"From the preferred list, download the first format that's available for all "
"videos"
msgstr ""
-#: .././config.py:6679
+#: .././config.py:6704
msgid "For each video, download all available formats from the preferred list"
msgstr ""
-#: .././config.py:6692
+#: .././config.py:6717
msgid "Download all available formats for all videos"
msgstr ""
-#: .././config.py:6725 .././config.py:6745
+#: .././config.py:6750 .././config.py:6770
msgid "Other format options"
msgstr ""
-#: .././config.py:6730
+#: .././config.py:6755
msgid "Prefer free video formats, unless one is specified above"
msgstr ""
-#: .././config.py:6737
+#: .././config.py:6762
msgid "Do not download DASH-related data for YouTube videos"
msgstr ""
-#: .././config.py:6752
+#: .././config.py:6777
msgid "Check formats selected are actually downloadable (Experimental)"
msgstr ""
-#: .././config.py:6762
+#: .././config.py:6787
msgid ""
"Allow unplayable formats to be listed and downloaded (also disables post-"
"processing)"
msgstr ""
-#: .././config.py:6778
+#: .././config.py:6803
msgid "_Convert"
msgstr ""
-#: .././config.py:6783
+#: .././config.py:6808
msgid "Convert to video"
msgstr ""
-#: .././config.py:6788
+#: .././config.py:6813
msgid "Convert downloaded video to another format"
msgstr ""
-#: .././config.py:6802
+#: .././config.py:6827
msgid "Convert to audio"
msgstr ""
-#: .././config.py:6808
+#: .././config.py:6833
msgid ""
"Download each video, extract the sound, and then discard the original video"
msgstr ""
-#: .././config.py:6813
+#: .././config.py:6838
msgid "(requires that FFmpeg or AVConv is installed on your system)"
msgstr ""
-#: .././config.py:6824
+#: .././config.py:6849
msgid "Use this audio format:"
msgstr ""
-#: .././config.py:6840
+#: .././config.py:6865
msgid "Use this audio quality:"
msgstr ""
-#: .././config.py:6846 .././config.py:6945
+#: .././config.py:6871 .././config.py:6970
msgid "High"
msgstr ""
-#: .././config.py:6848 .././config.py:6947
+#: .././config.py:6873 .././config.py:6972
msgid "Low"
msgstr ""
#. Add this tab...
-#: .././config.py:6868
+#: .././config.py:6893
msgid "_Post-processing"
msgstr ""
#. Add this tab...
-#: .././config.py:6886 .././config.py:13892 .././config.py:16157
-#: .././config.py:16978 .././config.py:17599 .././config.py:18980
+#: .././config.py:6911 .././config.py:13931 .././config.py:16197
+#: .././config.py:17170 .././config.py:17791 .././config.py:19183
msgid "_General"
msgstr ""
-#: .././config.py:6894 .././config.py:7054 .././config.py:7329
+#: .././config.py:6919 .././config.py:7079 .././config.py:7354
msgid "Post-processing options"
msgstr ""
-#: .././config.py:6900
+#: .././config.py:6925
msgid "Post-process video files to convert them to audio-only files"
msgstr ""
-#: .././config.py:6908
+#: .././config.py:6933
msgid "Prefer AVConv over FFmpeg"
msgstr ""
-#: .././config.py:6917
+#: .././config.py:6942
msgid "Prefer FFmpeg over AVConv (default)"
msgstr ""
-#: .././config.py:6926
+#: .././config.py:6951
msgid "Audio format of the post-processed file"
msgstr ""
-#: .././config.py:6940
+#: .././config.py:6965
msgid "Audio quality of the post-processed file"
msgstr ""
-#: .././config.py:6958
+#: .././config.py:6983
msgid "Encode video to another format, if necessary"
msgstr ""
-#: .././config.py:6971
+#: .././config.py:6996
msgid "Arguments to pass to post-processor"
msgstr ""
-#: .././config.py:6982
+#: .././config.py:7007
msgid "Keep original file after processing it"
msgstr ""
-#: .././config.py:6990
+#: .././config.py:7015
msgid "Merge subtitles file with video (.mp4 only)"
msgstr ""
-#: .././config.py:7002
+#: .././config.py:7027
msgid "Embed thumbnail in audio file as cover art"
msgstr ""
-#: .././config.py:7009
+#: .././config.py:7034
msgid "Write metadata to the video file"
msgstr ""
-#: .././config.py:7016
+#: .././config.py:7041
msgid "Automatically correct known faults of the file"
msgstr ""
-#: .././config.py:7022
+#: .././config.py:7047
msgid "Do nothing"
msgstr ""
-#: .././config.py:7023
+#: .././config.py:7048
msgid "Warn, but do nothing"
msgstr ""
-#: .././config.py:7024
+#: .././config.py:7049
msgid "Fix if possible, otherwise warn"
msgstr ""
-#: .././config.py:7047
+#: .././config.py:7072
msgid "_yt-dlp"
msgstr ""
-#: .././config.py:7059
+#: .././config.py:7084
msgid "Remux video into another container if necessary"
msgstr ""
-#: .././config.py:7078
+#: .././config.py:7103
msgid "Embed metadata including chapter markers (if supported by format)"
msgstr ""
-#: .././config.py:7087
+#: .././config.py:7112
msgid "Convert thumbnails to another format"
msgstr ""
-#: .././config.py:7102
+#: .././config.py:7127
msgid "Split video into multiple files based on internal chapters"
msgstr ""
-#: .././config.py:7111
+#: .././config.py:7136
msgid "N.B. The 'chapter' prefix can be used in the 'Output' and 'Paths' tabs"
msgstr ""
-#. Add this tab...
-#: .././config.py:7126
-msgid "S_ubtitles"
-msgstr ""
-
-#: .././config.py:7152
+#: .././config.py:7177
msgid "Subtitles options"
msgstr ""
-#: .././config.py:7158
+#: .././config.py:7183
msgid "Don't download the subtitles file"
msgstr ""
-#: .././config.py:7169
+#: .././config.py:7194
msgid "Download the automatic subtitles file (YouTube only)"
msgstr ""
-#: .././config.py:7182
-msgid "Download all available subtitles files"
+#: .././config.py:7207
+msgid "Download all available subtitle files"
msgstr ""
-#: .././config.py:7195
-msgid "Download subtitles file for these languages:"
+#: .././config.py:7220
+msgid "Download subtitle file for these languages:"
msgstr ""
-#: .././config.py:7303
+#: .././config.py:7328
msgid "_More options"
msgstr ""
-#: .././config.py:7309
+#: .././config.py:7334
msgid "Subtitle format options"
msgstr ""
-#: .././config.py:7315
+#: .././config.py:7340
msgid "Preferred subtitle format(s), e.g. 'srt', 'vtt', 'srt/ass/vtt/lrc/best'"
msgstr ""
-#: .././config.py:7334
+#: .././config.py:7359
msgid "Applies to .mp4 videos only; requires FFmpeg/AVConv"
msgstr ""
-#: .././config.py:7341
+#: .././config.py:7366
msgid "During post-processing, merge subtitles file with video"
msgstr ""
-#: .././config.py:7388
+#: .././config.py:7413
msgid "_Configurations"
msgstr ""
-#: .././config.py:7395
+#: .././config.py:7420
msgid "Configuration file options"
msgstr ""
-#: .././config.py:7400
+#: .././config.py:7425
msgid "Use the downloader's configuration file"
msgstr ""
-#: .././config.py:7411 .././config.py:7597
+#: .././config.py:7436 .././config.py:7622
msgid "File loaded from:"
msgstr ""
-#: .././config.py:7422 .././config.py:7608
+#: .././config.py:7447 .././config.py:7633
msgid "Save file"
msgstr ""
-#: .././config.py:7468
+#: .././config.py:7493
msgid "_Authentication"
msgstr ""
-#: .././config.py:7475
+#: .././config.py:7500
msgid "Authentication options"
msgstr ""
-#: .././config.py:7480
+#: .././config.py:7505
msgid "Username with which to log in"
msgstr ""
-#: .././config.py:7491
+#: .././config.py:7516
msgid "Password with which to log in"
msgstr ""
-#: .././config.py:7502
+#: .././config.py:7527
msgid "Password required for this URL"
msgstr ""
-#: .././config.py:7513
+#: .././config.py:7538
msgid "Two-factor authentication code"
msgstr ""
-#: .././config.py:7525
+#: .././config.py:7550
msgid "Adobe Pass multiple-system operator (TV provider) identifier"
msgstr ""
-#: .././config.py:7538
+#: .././config.py:7563
msgid " Adobe Pass multiple-system operator account login"
msgstr ""
-#: .././config.py:7549
+#: .././config.py:7574
msgid "Adobe Pass multiple-system operator account password"
msgstr ""
-#: .././config.py:7573
+#: .././config.py:7598
msgid "._netrc"
msgstr ""
-#: .././config.py:7580
+#: .././config.py:7605
msgid ".netrc options"
msgstr ""
-#: .././config.py:7585
+#: .././config.py:7610
msgid "Use .netrc authentication data"
msgstr ""
-#: .././config.py:7657
+#: .././config.py:7682
msgid "N_etwork"
msgstr ""
-#: .././config.py:7662
+#: .././config.py:7687
msgid "Network options"
msgstr ""
-#: .././config.py:7668
+#: .././config.py:7693
msgid ""
"Use this HTTP/HTTPS proxy (if set, overrides the proxies in Tartube's "
"preferences window"
msgstr ""
-#: .././config.py:7681
+#: .././config.py:7706
msgid "Time to wait for socket connection, before giving up"
msgstr ""
-#: .././config.py:7692
+#: .././config.py:7717
msgid "Bind with this Client-side IP address"
msgstr ""
-#: .././config.py:7703
+#: .././config.py:7728
msgid "Connect using IPv4 only"
msgstr ""
-#: .././config.py:7710
+#: .././config.py:7735
msgid "Connect using IPv6 only"
msgstr ""
-#: .././config.py:7730
+#: .././config.py:7755
msgid "_Geo-restriction"
msgstr ""
-#: .././config.py:7737
+#: .././config.py:7762
msgid "Geo-restriction options"
msgstr ""
-#: .././config.py:7742
+#: .././config.py:7767
msgid "Use this proxy to verify IP address"
msgstr ""
-#: .././config.py:7753
+#: .././config.py:7778
msgid "Bypass using fake X-Forwarded-For HTTP header"
msgstr ""
-#: .././config.py:7760
+#: .././config.py:7785
msgid "Don't bypass using fake HTTP header"
msgstr ""
-#: .././config.py:7767
+#: .././config.py:7792
msgid "Bypass geo-restriction with ISO 3166-2 country code"
msgstr ""
-#: .././config.py:7778
+#: .././config.py:7803
msgid "Bypass with explicit IP block in CIDR notation"
msgstr ""
-#: .././config.py:7806 .././config.py:7896
+#: .././config.py:7831 .././config.py:7921
msgid "Workaround options"
msgstr ""
-#: .././config.py:7811
+#: .././config.py:7836
msgid "Custom user agent"
msgstr ""
-#: .././config.py:7822
+#: .././config.py:7847
msgid "Custom referer if video access has restricted domain"
msgstr ""
-#: .././config.py:7833
+#: .././config.py:7858
msgid "Minimum seconds to sleep before each download"
msgstr ""
-#: .././config.py:7846
+#: .././config.py:7871
msgid "Maximum seconds to sleep before each download"
msgstr ""
-#: .././config.py:7867
+#: .././config.py:7892
msgid "Force this encoding (experimental)"
msgstr ""
-#: .././config.py:7878
+#: .././config.py:7903
msgid "Suppress HTTPS certificate validation"
msgstr ""
-#: .././config.py:7886
+#: .././config.py:7911
msgid ""
"Use an unencrypted connection to retrieve information about videos (YouTube "
"only)"
msgstr ""
-#: .././config.py:7902
+#: .././config.py:7927
msgid "Number of seconds to sleep between requests during data extraction"
msgstr ""
-#: .././config.py:7917
+#: .././config.py:7942
msgid "Number of seconds to sleep before each download (or minimum time)"
msgstr ""
-#: .././config.py:8003
+#: .././config.py:8028
msgid "Video age options"
msgstr ""
-#: .././config.py:8008
+#: .././config.py:8033
msgid "Download videos suitable for this age"
msgstr ""
-#: .././config.py:8029
+#: .././config.py:8054
msgid "Video date options"
msgstr ""
-#: .././config.py:8034
+#: .././config.py:8059
msgid "Only videos uploaded on this date"
msgstr ""
-#: .././config.py:8055
+#: .././config.py:8080
msgid "Only videos uploaded before this date"
msgstr ""
-#: .././config.py:8076
+#: .././config.py:8101
msgid "Only videos uploaded after this date"
msgstr ""
-#: .././config.py:8107
+#: .././config.py:8132
msgid "External downloader options"
msgstr ""
-#: .././config.py:8112
+#: .././config.py:8137
msgid "Use this external downloader"
msgstr ""
-#: .././config.py:8130
+#: .././config.py:8155
msgid "Arguments to pass to external downloader"
msgstr ""
-#: .././config.py:8151
+#: .././config.py:8176
msgid "Video filtering options"
msgstr ""
-#: .././config.py:8156
+#: .././config.py:8181
msgid "Download only matching titles (regex or caseless substring)"
msgstr ""
-#: .././config.py:8168
+#: .././config.py:8193
msgid "Don't download only matching titles (regex or caseless substring)"
msgstr ""
-#: .././config.py:8181
+#: .././config.py:8206
msgid "Generic video filter, for example:"
msgstr ""
-#: .././config.py:8201
+#: .././config.py:8226
msgid "Prefer HLS (HTTP Live Streaming)"
msgstr ""
-#: .././config.py:8208
+#: .././config.py:8233
msgid "Prefer FFMpeg over native HLS downloader"
msgstr ""
-#: .././config.py:8215
+#: .././config.py:8240
msgid "Include advertisements (experimental feature)"
msgstr ""
-#: .././config.py:8222
+#: .././config.py:8247
msgid "Ignore errors and continue the download operation"
msgstr ""
-#: .././config.py:8229
+#: .././config.py:8254
msgid "Number of retries"
msgstr ""
-#: .././config.py:8251
+#: .././config.py:8276
msgid "Playlist options"
msgstr ""
-#: .././config.py:8257
+#: .././config.py:8282
msgid ""
"Channels and playlists are handled in the same way, so these options can be "
"used with both"
msgstr ""
-#: .././config.py:8264
+#: .././config.py:8289
msgid "Start downloading playlist from index"
msgstr ""
-#: .././config.py:8276
+#: .././config.py:8301
msgid "Stop downloading playlist at index"
msgstr ""
-#: .././config.py:8288
+#: .././config.py:8313
msgid "Abort operation after downloading this many videos"
msgstr ""
-#: .././config.py:8300
+#: .././config.py:8325
msgid "Abort downloading the playlist if an error occurs"
msgstr ""
-#: .././config.py:8307
+#: .././config.py:8332
msgid "Download playlist in reverse order"
msgstr ""
-#: .././config.py:8314
+#: .././config.py:8339
msgid "Download playlist in random order"
msgstr ""
-#: .././config.py:8331
+#: .././config.py:8356
msgid "Video size limit options"
msgstr ""
-#: .././config.py:8336
+#: .././config.py:8361
msgid "Minimum file size for video downloads"
msgstr ""
-#: .././config.py:8354
+#: .././config.py:8379
msgid "Maximum file size for video downloads"
msgstr ""
-#: .././config.py:8382
+#: .././config.py:8407
msgid "Video views options"
msgstr ""
-#: .././config.py:8387
+#: .././config.py:8412
msgid "Minimum number of views"
msgstr ""
-#: .././config.py:8399
+#: .././config.py:8424
msgid "Maximum number of views"
msgstr ""
-#: .././config.py:8503
+#: .././config.py:8528
msgid "Select the cookie jar file"
msgstr ""
-#: .././config.py:8634
+#: .././config.py:8659
msgid "Select the browser profile"
msgstr ""
-#: .././config.py:8727
+#: .././config.py:8752
msgid "Could not save the downloader's configuration file"
msgstr ""
-#: .././config.py:8738
+#: .././config.py:8763
msgid "Downloader's configuration file saved"
msgstr ""
-#: .././config.py:8994
+#: .././config.py:9033
msgid ""
"This option won't work unless the format is also added to the list of "
"preferred formats above"
msgstr ""
-#: .././config.py:9132
+#: .././config.py:9171
msgid "Unrecognised extractor code"
msgstr ""
-#: .././config.py:9250
+#: .././config.py:9289
msgid "Could not save the .netrc file"
msgstr ""
-#: .././config.py:9267
+#: .././config.py:9306
msgid ".netrc file saved"
msgstr ""
-#: .././config.py:9325
+#: .././config.py:9364
msgid ""
"Fewer download options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
msgstr ""
-#: .././config.py:9335
+#: .././config.py:9374
msgid "Show advanced download options (when window re-opens)"
msgstr ""
-#: .././config.py:9348
+#: .././config.py:9387
msgid ""
"More download options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
msgstr ""
-#: .././config.py:9358
+#: .././config.py:9397
msgid "Hide advanced download options (when window re-opens)"
msgstr ""
-#: .././config.py:9828
+#: .././config.py:9867
msgid "Select the output folder"
msgstr ""
-#: .././config.py:9830
+#: .././config.py:9869
msgid "Select the output directory"
msgstr ""
-#: .././config.py:9880
+#: .././config.py:9919
msgid "FFmpeg options"
msgstr ""
#. Replace the 'OK' button with a 'Process files' button
-#: .././config.py:10233 .././config.py:13459
+#: .././config.py:10272 .././config.py:13498
msgid "Process files"
msgstr ""
-#: .././config.py:10235 .././config.py:13461
+#: .././config.py:10274 .././config.py:13500
msgid "Process the files with FFmpeg"
msgstr ""
-#: .././config.py:10251
+#: .././config.py:10290
msgid "Name for these FFmpeg options"
msgstr ""
-#: .././config.py:10269
+#: .././config.py:10308
msgid "Extra command line options (e.g. --help)"
msgstr ""
-#: .././config.py:10280
+#: .././config.py:10319
msgid "System command, based on all FFmpeg options in this window:"
msgstr ""
-#: .././config.py:10311
+#: .././config.py:10350
msgid "Show fewer FFmpeg options"
msgstr ""
-#: .././config.py:10313
+#: .././config.py:10352
msgid "Show more FFmpeg options"
msgstr ""
-#: .././config.py:10323
+#: .././config.py:10362
msgid "Import current FFmpeg options into this window"
msgstr ""
-#: .././config.py:10338
+#: .././config.py:10377
msgid "Completely reset all FFmpeg options to their default values"
msgstr ""
-#: .././config.py:10354
+#: .././config.py:10393
msgid "Add to end of filename:"
msgstr ""
-#: .././config.py:10364
+#: .././config.py:10403
msgid "If regex matches filename:"
msgstr ""
-#: .././config.py:10378
+#: .././config.py:10417
msgid "...then apply substitution:"
msgstr ""
-#: .././config.py:10391
+#: .././config.py:10430
msgid ""
"If the video/audio file is renamed, also rename the thumbnail (but not vice-"
"versa)"
msgstr ""
-#: .././config.py:10402
+#: .././config.py:10441
msgid "Change file extension:"
msgstr ""
-#: .././config.py:10416
+#: .././config.py:10455
msgid "After changing the file extension, delete the original file"
msgstr ""
-#: .././config.py:10487
+#: .././config.py:10526
msgid "_Settings"
msgstr ""
-#: .././config.py:10500
+#: .././config.py:10539
msgid "Downloaded video/audio"
msgstr ""
-#: .././config.py:10509
+#: .././config.py:10548
msgid "with audio"
msgstr ""
-#: .././config.py:10522 .././config.py:10599 .././config.py:12121
+#: .././config.py:10561 .././config.py:10638 .././config.py:12160
msgid "Thumbnail"
msgstr ""
-#: .././config.py:10534
+#: .././config.py:10573
msgid "Output"
msgstr ""
-#: .././config.py:10563
+#: .././config.py:10602
msgid "Video clip"
msgstr ""
-#: .././config.py:10575
+#: .././config.py:10614
msgid "Video slice"
msgstr ""
-#: .././config.py:10587
+#: .././config.py:10626
msgid "Merge video/audio"
msgstr ""
-#: .././config.py:10697
+#: .././config.py:10736
msgid "Audio bitrate"
msgstr ""
-#: .././config.py:10711
+#: .././config.py:10750
msgid "How to set the quality"
msgstr ""
-#: .././config.py:10716
+#: .././config.py:10755
msgid ""
"FFmpeg always encodes according to a Rate Factor that specifies the quality "
"of the result."
msgstr ""
-#: .././config.py:10719
+#: .././config.py:10758
msgid ""
"Instead of directly specifying the Rate Factor, an average bit rate can be "
"specified. FFmpeg will then determine the optimal Rate Factor in a first "
"pass."
msgstr ""
-#: .././config.py:10723
+#: .././config.py:10762
msgid ""
"In fact the first pass is only used for determining the Rate Factor, no "
"other data is carried over into the second pass."
msgstr ""
-#: .././config.py:10726
+#: .././config.py:10765
msgid ""
"Specifying an average bitrate but running only one pass is possible, but not "
"recommended. FFmpeg would then encode the beginning of the video with a "
@@ -5753,2639 +5808,2739 @@ msgid ""
"eventually reach the target bitrate."
msgstr ""
-#: .././config.py:10739
+#: .././config.py:10778
msgid "Manual rate factor"
msgstr ""
-#: .././config.py:10748
+#: .././config.py:10787
msgid "Determine from target bitrate (2-Pass)"
msgstr ""
-#: .././config.py:10758
+#: .././config.py:10797
msgid "Rate factor"
msgstr ""
-#: .././config.py:10767
+#: .././config.py:10806
msgid "Lossless"
msgstr ""
-#: .././config.py:10767
+#: .././config.py:10806
msgid "Large file"
msgstr ""
-#: .././config.py:10789
+#: .././config.py:10828
msgid "Bad quality"
msgstr ""
-#: .././config.py:10789
+#: .././config.py:10828
msgid "Small file"
msgstr ""
-#: .././config.py:10796
+#: .././config.py:10835
msgid "Name of dummy file"
msgstr ""
-#: .././config.py:10800
+#: .././config.py:10839
msgid "A dummy file is created during the first pass."
msgstr ""
-#: .././config.py:10804
+#: .././config.py:10843
msgid "Use the output file"
msgstr ""
-#: .././config.py:10805
+#: .././config.py:10844
msgid "Dummy"
msgstr ""
-#: .././config.py:10806
+#: .././config.py:10845
msgid "/dev/null (Linux)"
msgstr ""
-#: .././config.py:10807
+#: .././config.py:10846
msgid "NUL (MS Windows)"
msgstr ""
-#: .././config.py:10819
+#: .././config.py:10858
msgid "Patience preset"
msgstr ""
-#: .././config.py:10824
+#: .././config.py:10863
msgid "Ultra fast"
msgstr ""
-#: .././config.py:10825
+#: .././config.py:10864
msgid "Super fast"
msgstr ""
-#: .././config.py:10826
+#: .././config.py:10865
msgid "Very fast"
msgstr ""
-#: .././config.py:10827 .././config.py:10925
+#: .././config.py:10866 .././config.py:10964
msgid "Faster"
msgstr ""
-#: .././config.py:10828
+#: .././config.py:10867
msgid "Fast"
msgstr ""
-#: .././config.py:10829
+#: .././config.py:10868
msgid "Medium (default)"
msgstr ""
-#: .././config.py:10830
+#: .././config.py:10869
#, python-format
msgid "Slow (file about 5-10% smaller than medium)"
msgstr ""
-#: .././config.py:10831
+#: .././config.py:10870
#, python-format
msgid "Slower (file about 15% smaller than medium)"
msgstr ""
-#: .././config.py:10832
+#: .././config.py:10871
#, python-format
msgid "Very slow (file about 17% smaller than medium)"
msgstr ""
-#: .././config.py:10843
+#: .././config.py:10882
msgid "GPU encoding"
msgstr ""
-#: .././config.py:10859
+#: .././config.py:10898
msgid "Hardware acceleration"
msgstr ""
-#: .././config.py:10919
+#: .././config.py:10958
msgid "Palette:"
msgstr ""
-#: .././config.py:10926
+#: .././config.py:10965
msgid "Uses dithering to a standard palette provided by FFmpeg"
msgstr ""
-#: .././config.py:10927
+#: .././config.py:10966
msgid "Can cause dithering artefacts and slight banding"
msgstr ""
-#: .././config.py:10936
+#: .././config.py:10975
msgid "Better"
msgstr ""
-#: .././config.py:10937
+#: .././config.py:10976
msgid "Determines an optimized palette for the video"
msgstr ""
-#: .././config.py:10938
+#: .././config.py:10977
msgid "Uses two passes and a temporary file for the palette"
msgstr ""
-#: .././config.py:10993 .././config.py:11629
+#: .././config.py:11032 .././config.py:11668
msgid "Split videos using their own timestamps"
msgstr ""
-#: .././config.py:11002 .././config.py:11640
+#: .././config.py:11041 .././config.py:11679
msgid "Split videos using these timestamps"
msgstr ""
-#: .././config.py:11036 .././config.py:11221 .././config.py:11676
-#: .././config.py:11883 .././config.py:14343 .././config.py:14524
+#: .././config.py:11075 .././config.py:11260 .././config.py:11715
+#: .././config.py:11922 .././config.py:14382 .././config.py:14563
msgid "Start"
msgstr ""
-#: .././config.py:11036 .././config.py:11676 .././config.py:14343
+#: .././config.py:11075 .././config.py:11715 .././config.py:14382
msgid "Clip title"
msgstr ""
-#: .././config.py:11107 .././config.py:11747 .././config.py:14403
+#: .././config.py:11146 .././config.py:11786 .././config.py:14442
msgid "Add timestamp"
msgstr ""
-#: .././config.py:11116 .././config.py:11756 .././config.py:14414
+#: .././config.py:11155 .././config.py:11795 .././config.py:14453
msgid "Delete timestamp"
msgstr ""
-#: .././config.py:11126 .././config.py:11766 .././config.py:14423
+#: .././config.py:11165 .././config.py:11805 .././config.py:14462
msgid "Clip preferences"
msgstr ""
-#: .././config.py:11178 .././config.py:11836
+#: .././config.py:11217 .././config.py:11875
msgid "Use the videos' own slice data"
msgstr ""
-#: .././config.py:11187 .././config.py:11847
+#: .././config.py:11226 .././config.py:11886
msgid "Use this slice data"
msgstr ""
-#: .././config.py:11221 .././config.py:11244 .././config.py:11883
-#: .././config.py:11906 .././config.py:14524 .././config.py:14543
+#: .././config.py:11260 .././config.py:11283 .././config.py:11922
+#: .././config.py:11945 .././config.py:14563 .././config.py:14582
msgid "Category"
msgstr ""
-#: .././config.py:11221 .././config.py:11264 .././config.py:11883
-#: .././config.py:11926 .././config.py:14524 .././config.py:14555
+#: .././config.py:11260 .././config.py:11303 .././config.py:11922
+#: .././config.py:11965 .././config.py:14563 .././config.py:14594
msgid "Action Type"
msgstr ""
-#: .././config.py:11308 .././config.py:11970 .././config.py:14594
+#: .././config.py:11347 .././config.py:12009 .././config.py:14633
msgid "Add slice"
msgstr ""
-#: .././config.py:11318
+#: .././config.py:11357
msgid "Delete sliuce"
msgstr ""
-#: .././config.py:11329 .././config.py:11992 .././config.py:14615
+#: .././config.py:11368 .././config.py:12031 .././config.py:14654
msgid "SponsorBlock settings"
msgstr ""
-#: .././config.py:11432
+#: .././config.py:11471
msgid ""
"This merges a video and audio file with the same name into a single video "
"file,\n"
"using the extension specified in the File tab"
msgstr ""
-#: .././config.py:11473
+#: .././config.py:11512
msgid "The thumbnail's format can be changed in the File tab"
msgstr ""
-#: .././config.py:11488
+#: .././config.py:11527
msgid "_Optimisations"
msgstr ""
-#: .././config.py:11493
+#: .././config.py:11532
msgid ""
"Optimise for fast seeking (shorter keyframe interval, about 10% larger file)"
msgstr ""
-#: .././config.py:11501
+#: .././config.py:11540
msgid "Input video is a high-quality movie"
msgstr ""
-#: .././config.py:11507
+#: .././config.py:11546
msgid "Input video is an animated movie"
msgstr ""
-#: .././config.py:11513
+#: .././config.py:11552
msgid "Input video contains film grain"
msgstr ""
-#: .././config.py:11519
+#: .././config.py:11558
msgid "Input video is an image slideshow"
msgstr ""
-#: .././config.py:11525
+#: .././config.py:11564
msgid "Optimise for really weak CPU playback devices"
msgstr ""
-#: .././config.py:11532
+#: .././config.py:11571
msgid "Optimise for really old devices (requires rate factor above 0)"
msgstr ""
-#: .././config.py:11543
+#: .././config.py:11582
msgid ""
"Move headers to beginning of file (so it can play while still downloading)"
msgstr ""
-#: .././config.py:11551
+#: .././config.py:11590
msgid "Fast encoding and low latency streaming"
msgstr ""
-#: .././config.py:11557
+#: .././config.py:11596
msgid "Limit bitrate (Mbit/s)"
msgstr ""
-#: .././config.py:11574
+#: .././config.py:11613
msgid "Assuming a receiving buffer (seconds)"
msgstr ""
-#: .././config.py:11619
+#: .././config.py:11658
msgid "Split the video(s) to create video clips"
msgstr ""
-#: .././config.py:11819 .././config.py:14492 .././config.py:23411
+#: .././config.py:11858 .././config.py:14531
msgid "_Slices"
msgstr ""
-#: .././config.py:11826
+#: .././config.py:11865
msgid "Remove slices from the video(s)"
msgstr ""
-#: .././config.py:11980 .././config.py:14606
+#: .././config.py:12019 .././config.py:14645
msgid "Delete slice"
msgstr ""
-#: .././config.py:12102
+#: .././config.py:12141
msgid "List of videos to be processed"
msgstr ""
-#: .././config.py:12164
+#: .././config.py:12203
msgid "Show video properties and timestamps"
msgstr ""
-#: .././config.py:12173
+#: .././config.py:12212
msgid "Remove video from list"
msgstr ""
-#: .././config.py:13098
+#: .././config.py:13137
msgid ""
"Fewer FFmpeg options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
msgstr ""
-#: .././config.py:13108
+#: .././config.py:13147
msgid "Show more FFmpeg options (when window re-opens)"
msgstr ""
-#: .././config.py:13125
+#: .././config.py:13164
msgid ""
"More FFmpeg options will be visible when you click the 'Apply' or 'Reset' "
"buttons (or when you close and then re-open the window)"
msgstr ""
-#: .././config.py:13135
+#: .././config.py:13174
msgid "Show fewer FFmpeg options (when window re-opens)"
msgstr ""
-#: .././config.py:13896 .././config.py:16161 .././config.py:16982
-#: .././config.py:17604
+#: .././config.py:13935 .././config.py:16201 .././config.py:17174
+#: .././config.py:17796
msgid "General properties"
msgstr ""
-#: .././config.py:13946
+#: .././config.py:13985
msgid "Set the file (if this is the wrong one)"
msgstr ""
-#: .././config.py:13957
+#: .././config.py:13996
msgid "Video downloaded"
msgstr ""
-#: .././config.py:13964
+#: .././config.py:14003
msgid "Video unwatched"
msgstr ""
-#: .././config.py:13971
+#: .././config.py:14010
msgid "Video has been split from an original"
msgstr ""
-#: .././config.py:13978
+#: .././config.py:14017
msgid "Video is archived"
msgstr ""
-#: .././config.py:13985
+#: .././config.py:14024
msgid "Video is bookmarked"
msgstr ""
-#: .././config.py:13992
+#: .././config.py:14031
msgid "Video is favourite"
msgstr ""
-#: .././config.py:13999
+#: .././config.py:14038
msgid "Video is in waiting list"
msgstr ""
-#: .././config.py:14006
+#: .././config.py:14045
msgid "Video is blocked/censored/age-restricted"
msgstr ""
-#: .././config.py:14013
+#: .././config.py:14052
msgid "Always simulate download of this video"
msgstr ""
-#: .././config.py:14078
+#: .././config.py:14117
msgid "Receive time"
msgstr ""
-#: .././config.py:14092
+#: .././config.py:14131
msgid "Subtitles"
msgstr ""
-#: .././config.py:14125
+#: .././config.py:14164
msgid "_Live"
msgstr ""
-#: .././config.py:14130
+#: .././config.py:14169
msgid "Livestream properties"
msgstr ""
-#: .././config.py:14135
+#: .././config.py:14174
msgid "Livestream status"
msgstr ""
-#: .././config.py:14146
+#: .././config.py:14185
msgid "Waiting to start"
msgstr ""
-#: .././config.py:14150
+#: .././config.py:14189
msgid "Livestream has finished"
msgstr ""
-#: .././config.py:14152
+#: .././config.py:14191
msgid "Not a livestream"
msgstr ""
-#: .././config.py:14155
+#: .././config.py:14194
msgid "Livestream message"
msgstr ""
-#: .././config.py:14170
+#: .././config.py:14209
msgid "Video is pre-recorded"
msgstr ""
-#: .././config.py:14182
+#: .././config.py:14221
msgid "Livestream actions"
msgstr ""
-#: .././config.py:14189
+#: .././config.py:14228
msgid "When the livestream starts, show a desktop notification"
msgstr ""
-#: .././config.py:14198
+#: .././config.py:14237
msgid "When the livestream starts, play an alarm"
msgstr ""
-#: .././config.py:14208
+#: .././config.py:14247
msgid "When the livestream starts, open it in the system's web browser"
msgstr ""
-#: .././config.py:14220
+#: .././config.py:14259
msgid "When the livestream starts, begin downloading it immediately"
msgstr ""
-#: .././config.py:14231 .././config.py:23127
+#: .././config.py:14270 .././config.py:23607
msgid "When a livestream stops, download it (overwriting any earlier file)"
msgstr ""
-#: .././config.py:14247
+#: .././config.py:14286
msgid "_Description"
msgstr ""
-#: .././config.py:14252
+#: .././config.py:14291
msgid "Video description"
msgstr ""
-#: .././config.py:14265
+#: .././config.py:14304
msgid "Update from the description file, and set the line length to:"
msgstr ""
-#: .././config.py:14285
+#: .././config.py:14324
msgid "Clear the description (does not modify the file)"
msgstr ""
-#: .././config.py:14312
+#: .././config.py:14351
msgid "_Timestamps"
msgstr ""
-#: .././config.py:14317
+#: .././config.py:14356
msgid "Timestamps"
msgstr ""
-#: .././config.py:14323
+#: .././config.py:14362
msgid "Timestamps can be used to download or create video clips"
msgstr ""
-#: .././config.py:14439
+#: .././config.py:14478
msgid "Reset list using copied text"
msgstr ""
-#: .././config.py:14447
+#: .././config.py:14486
msgid "Reset list using video description"
msgstr ""
-#: .././config.py:14497
+#: .././config.py:14536
msgid "Video slices"
msgstr ""
-#: .././config.py:14503
+#: .././config.py:14542
msgid "SponsorBlock provides a list of slices that can be removed from a video"
msgstr ""
-#: .././config.py:14677 .././config.py:23502
+#: .././config.py:14716
msgid "_Comments"
msgstr ""
-#: .././config.py:14688
+#: .././config.py:14727
msgid "Total comments:"
msgstr ""
-#: .././config.py:14727
+#: .././config.py:14766
msgid "Show formatted list"
msgstr ""
-#: .././config.py:14738
+#: .././config.py:14777
msgid "Show comment times as text"
msgstr ""
-#: .././config.py:14748
+#: .././config.py:14787
msgid "Show comment timestamps"
msgstr ""
-#: .././config.py:14786 .././config.py:14894
+#: .././config.py:14825 .././config.py:14933
msgid "Author"
msgstr ""
-#: .././config.py:14793 .././config.py:14894
+#: .././config.py:14832 .././config.py:14933
msgid "Comment"
msgstr ""
-#: .././config.py:14801 .././config.py:14895
+#: .././config.py:14840 .././config.py:14934
msgid "Uploader"
msgstr ""
-#: .././config.py:14843
+#: .././config.py:14882
msgid "Update from the metadata file"
msgstr ""
-#: .././config.py:14865
+#: .././config.py:14904
msgid "Clear comments (does not modify the file)"
msgstr ""
-#: .././config.py:14894
+#: .././config.py:14933
msgid "Likes"
msgstr ""
-#: .././config.py:15295 .././config.py:16517
+#: .././config.py:15334 .././config.py:16582
msgid "Errors / Warnings"
msgstr ""
-#: .././config.py:15301
+#: .././config.py:15340
msgid "Error messages produced the last time this video was checked/downloaded"
msgstr ""
-#: .././config.py:15317
+#: .././config.py:15356
msgid ""
"Warning messages produced the last time this video was checked/downloaded"
msgstr ""
-#: .././config.py:15830
+#: .././config.py:15869
msgid "Select the correct video/audio file"
msgstr ""
-#: .././config.py:15856
+#: .././config.py:15895
msgid ""
"The replacement video/audio file must be in the same channel, playlist or "
"folder"
msgstr ""
-#: .././config.py:15874
+#: .././config.py:15913
msgid "You must select a valid video/audio file"
msgstr ""
-#: .././config.py:16032
+#: .././config.py:16071
msgid "Channel properties"
msgstr ""
-#: .././config.py:16035
+#: .././config.py:16074
msgid "Playlist properties"
msgstr ""
-#: .././config.py:16176
+#: .././config.py:16216
msgid "Don't add videos in this channel to Tartube's database"
msgstr ""
-#: .././config.py:16180
+#: .././config.py:16220
msgid "Don't add videos in this playlist to Tartube's database"
msgstr ""
-#: .././config.py:16191
+#: .././config.py:16231
msgid "Always simulate download of videos in this channel"
msgstr ""
-#: .././config.py:16193
+#: .././config.py:16233
msgid "Always simulate download of videos in this playlist"
msgstr ""
-#: .././config.py:16203
+#: .././config.py:16243
msgid "Disable checking/downloading for this channel"
msgstr ""
-#: .././config.py:16205
+#: .././config.py:16245
msgid "Disable checking/downloading for this playlist"
msgstr ""
-#: .././config.py:16215
+#: .././config.py:16255
msgid "This channel is marked as a favourite"
msgstr ""
-#: .././config.py:16217
+#: .././config.py:16257
msgid "This playlist is marked as a favourite"
msgstr ""
-#: .././config.py:16227
+#: .././config.py:16267
msgid "Total videos"
msgstr ""
-#: .././config.py:16251
+#: .././config.py:16291
msgid "Favourite videos"
msgstr ""
-#: .././config.py:16263
+#: .././config.py:16303
msgid "Downloaded videos"
msgstr ""
-#: .././config.py:16285
-msgid "_Associated Playlists"
+#: .././config.py:16325
+msgid "Associated _Playlists"
msgstr ""
-#: .././config.py:16290
+#: .././config.py:16330
msgid "Associated playlists"
msgstr ""
-#: .././config.py:16296
+#: .././config.py:16336
msgid ""
"When a video is associated with a playlist, the playlist's ID is stored here"
msgstr ""
-#: .././config.py:16317
+#: .././config.py:16357
msgid "Playlist Title"
msgstr ""
-#: .././config.py:16336
+#: .././config.py:16376
msgid "Set the channel as the download destination"
msgstr ""
-#: .././config.py:16343
+#: .././config.py:16383
msgid "Add selected playlist"
msgstr ""
-#: .././config.py:16352
+#: .././config.py:16392
msgid "Add all playlists"
msgstr ""
-#: .././config.py:16360
+#: .././config.py:16400
msgid "Download preferences"
msgstr ""
#. (This button works even if mainapp.TartubeApp.store_playlist_id_flag
#. is False)
-#: .././config.py:16376
+#: .././config.py:16416
msgid "Reset list using metadata file"
msgstr ""
-#: .././config.py:16407
+#: .././config.py:16447
msgid "Unnamed playlist"
msgstr ""
-#: .././config.py:16423 .././config.py:17225 .././config.py:20453
+#: .././config.py:16463 .././config.py:17417 .././config.py:20763
msgid "_History"
msgstr ""
-#: .././config.py:16428 .././config.py:17230 .././config.py:20460
+#: .././config.py:16468 .././config.py:17422 .././config.py:20770
msgid "Download history"
msgstr ""
-#: .././config.py:16442 .././config.py:17244 .././config.py:20474
+#: .././config.py:16482 .././config.py:17436 .././config.py:20784
msgid "Draw"
msgstr ""
-#: .././config.py:16470
+#: .././config.py:16510
msgid "_RSS feed"
msgstr ""
-#: .././config.py:16474
-msgid "RSS feed"
+#: .././config.py:16515
+msgid "RSS feed (used to detect livestreams)"
msgstr ""
-#: .././config.py:16480
+#: .././config.py:16521
msgid ""
"If Tartube cannot detect the channel's RSS feed, you can enter the URL here"
msgstr ""
-#: .././config.py:16485
+#: .././config.py:16526
msgid ""
"If Tartube cannot detect the playlist's RSS feed, you can enter the URL here"
msgstr ""
-#: .././config.py:16490
-msgid "(The feed is used to detect livestreams on compatible websites)"
+#: .././config.py:16545
+msgid "Open in web browser"
+msgstr ""
+
+#: .././config.py:16550
+msgid "Set to default feed"
msgstr ""
-#: .././config.py:16523
+#: .././config.py:16557
+msgid "Reset feed"
+msgstr ""
+
+#: .././config.py:16564
+msgid ""
+"N.B. The Set to default feed button won't work if the RSS feed was "
+"obtained from video metadata"
+msgstr ""
+
+#: .././config.py:16588
msgid ""
"Error messages produced the last time this channel was checked/downloaded"
msgstr ""
-#: .././config.py:16528
+#: .././config.py:16593
msgid ""
"Error messages produced the last time this playlist was checked/downloaded"
msgstr ""
-#: .././config.py:16547
+#: .././config.py:16612
msgid ""
"Warning messages produced the last time this channel was checked/downloaded"
msgstr ""
-#: .././config.py:16552
+#: .././config.py:16617
msgid ""
"Warning messages produced the last time this playlist was checked/downloaded"
msgstr ""
-#: .././config.py:16638
+#: .././config.py:16706
+msgid "Unable to extrapolate the URL for this playlist"
+msgstr ""
+
+#: .././config.py:16719
msgid "The playlist is already in Tartube's database"
msgstr ""
-#: .././config.py:16660
+#: .././config.py:16741
msgid "Unable to create new playlist"
msgstr ""
-#: .././config.py:16679
+#: .././config.py:16760
#, python-brace-format
msgid "Added playlist '{0}' to Tartube's database"
msgstr ""
#. Show confirmation
-#: .././config.py:16771
+#: .././config.py:16862
#, python-brace-format
msgid "Playlists added: {0}"
msgstr ""
-#: .././config.py:16772
+#: .././config.py:16863
#, python-brace-format
msgid "Playlists not added: {0}"
msgstr ""
-#: .././config.py:16859
+#: .././config.py:16998
+msgid "Could not set the RSS feed"
+msgstr ""
+
+#: .././config.py:17051
msgid "Folder properties"
msgstr ""
-#: .././config.py:16995
+#: .././config.py:17187
msgid "Don't add videos to Tartube's database"
msgstr ""
-#: .././config.py:17002
+#: .././config.py:17194
msgid "Always simulate download of videos"
msgstr ""
-#: .././config.py:17009
+#: .././config.py:17201
msgid "Disable checking/downloading"
msgstr ""
-#: .././config.py:17016
+#: .././config.py:17208
msgid "This folder is marked as a favourite"
msgstr ""
-#: .././config.py:17023
+#: .././config.py:17215
msgid "This folder is hidden"
msgstr ""
-#: .././config.py:17030
+#: .././config.py:17222
msgid "This folder can't be deleted by the user"
msgstr ""
-#: .././config.py:17037
+#: .././config.py:17229
msgid "This is a system-controlled folder"
msgstr ""
-#: .././config.py:17044
+#: .././config.py:17236
msgid "All contents deleted when Tartube shuts down"
msgstr ""
-#: .././config.py:17051
+#: .././config.py:17243
msgid "Restrictions:"
msgstr ""
-#: .././config.py:17062
+#: .././config.py:17254
msgid "Can only contain videos"
msgstr ""
-#: .././config.py:17064
+#: .././config.py:17256
msgid "Can contain folders and videos"
msgstr ""
-#: .././config.py:17066
+#: .././config.py:17258
msgid "Can contain anything"
msgstr ""
-#: .././config.py:17076 .././config.py:20277
+#: .././config.py:17268 .././config.py:20587
msgid "_Statistics"
msgstr ""
-#: .././config.py:17081 .././config.py:20284
+#: .././config.py:17273 .././config.py:20594
msgid "Statistics"
msgstr ""
-#: .././config.py:17102 .././config.py:20305
+#: .././config.py:17294 .././config.py:20615
msgid "Downloaded"
msgstr ""
-#: .././config.py:17146
+#: .././config.py:17338
msgid "Sub-folders"
msgstr ""
-#: .././config.py:17168
+#: .././config.py:17360
msgid "Recalculate"
msgstr ""
-#: .././config.py:17272
+#: .././config.py:17464
msgid "_Recent Videos"
msgstr ""
-#: .././config.py:17277
+#: .././config.py:17469
msgid "Recent videos"
msgstr ""
-#: .././config.py:17283
+#: .././config.py:17475
msgid ""
"When videos are checked/downloaded, older videos are removed from this folder"
msgstr ""
-#: .././config.py:17454
+#: .././config.py:17646
msgid "Scheduled download"
msgstr ""
-#: .././config.py:17609 .././config.py:21536
+#: .././config.py:17801 .././config.py:21854
msgid "Scheduled download name"
msgstr ""
-#: .././config.py:17621
+#: .././config.py:17813
msgid "Download mode"
msgstr ""
-#: .././config.py:17626
+#: .././config.py:17818
msgid "Check channels, playlist and folders"
msgstr ""
-#: .././config.py:17627
+#: .././config.py:17819
msgid "Download channels, playlists and folders"
msgstr ""
-#: .././config.py:17628
+#: .././config.py:17820
msgid "Perform a custom download"
msgstr ""
-#: .././config.py:17640
+#: .././config.py:17832
msgid "Custom download name"
msgstr ""
-#: .././config.py:17697 .././config.py:21477
+#: .././config.py:17889 .././config.py:21795
msgid "_Start"
msgstr ""
-#: .././config.py:17702
+#: .././config.py:17894
msgid "Start conditions"
msgstr ""
-#: .././config.py:17707 .././config.py:21502
+#: .././config.py:17899 .././config.py:21820
msgid "Start mode"
msgstr ""
-#: .././config.py:17712
+#: .././config.py:17904
msgid "Perform this download at regular intervals"
msgstr ""
-#: .././config.py:17713
+#: .././config.py:17905
msgid "Perform this download when Tartube starts"
msgstr ""
-#: .././config.py:17715
+#: .././config.py:17907
msgid "Perform this download some time after Tartube starts"
msgstr ""
-#: .././config.py:17718
+#: .././config.py:17910
msgid "Perform this download at specified times"
msgstr ""
-#: .././config.py:17719
+#: .././config.py:17911
msgid "Disable this scheduled download"
msgstr ""
-#: .././config.py:17793
+#: .././config.py:17985
msgid "Minutes"
msgstr ""
-#: .././config.py:17920
+#: .././config.py:18112
msgid "Interval time"
msgstr ""
-#: .././config.py:17930
+#: .././config.py:18122
msgid "Start times"
msgstr ""
-#: .././config.py:17971
+#: .././config.py:18163
msgid "_Conflicts"
msgstr ""
-#: .././config.py:17975
+#: .././config.py:18167
msgid "Conflict settings"
msgstr ""
-#: .././config.py:17980
+#: .././config.py:18172
msgid "If another scheduled download is running:"
msgstr ""
-#: .././config.py:17987
+#: .././config.py:18179
msgid "Add channels, playlists and folders to the end of the queue"
msgstr ""
-#: .././config.py:17993
+#: .././config.py:18185
msgid "Add channels, playlists and folders to the beginning of the queue"
msgstr ""
-#: .././config.py:18000
+#: .././config.py:18192
msgid "Do nothing, just wait until the next scheduled download time"
msgstr ""
-#: .././config.py:18015
+#: .././config.py:18207
msgid "This scheduled download takes priority over others"
msgstr ""
-#: .././config.py:18018
+#: .././config.py:18210
msgid "Other scheduled downloads won't start until this one is finished"
msgstr ""
-#: .././config.py:18038
+#: .././config.py:18230
msgid "Media to download"
msgstr ""
-#: .././config.py:18044
+#: .././config.py:18236
msgid "Check/download everything"
msgstr ""
-#: .././config.py:18052
+#: .././config.py:18244
msgid "Only check/download the media below"
msgstr ""
-#: .././config.py:18066
+#: .././config.py:18258
msgid ""
"Hint: you can drag and drop channels, playlists and your own folders here"
msgstr ""
-#: .././config.py:18181 .././config.py:21858
+#: .././config.py:18373 .././config.py:22176
msgid "Performance limits"
msgstr ""
-#: .././config.py:18186 .././config.py:21863
+#: .././config.py:18378 .././config.py:22181
msgid "Limits are applied when you start downloading a video/channel/playlist"
msgstr ""
-#: .././config.py:18192
+#: .././config.py:18384
msgid ""
"These limits override the default and alternative limits specified elsewhere"
msgstr ""
-#: .././config.py:18198 .././config.py:21869 .././config.py:21940
+#: .././config.py:18390 .././config.py:22187 .././config.py:22258
msgid "Limit simultaneous downloads to"
msgstr ""
-#: .././config.py:18213 .././config.py:21887 .././config.py:21962
+#: .././config.py:18405 .././config.py:22205 .././config.py:22280
msgid "Limit download speed to"
msgstr ""
-#: .././config.py:18240
+#: .././config.py:18432
msgid "_Other"
msgstr ""
-#: .././config.py:18244
+#: .././config.py:18436
msgid "Other settings"
msgstr ""
-#: .././config.py:18250
+#: .././config.py:18442
msgid ""
"Ignore time-saving preferences, and check/download the whole channel/"
"playlist/folder"
msgstr ""
-#: .././config.py:18258
+#: .././config.py:18450
msgid "Shut down Tartube when this scheduled download has finished"
msgstr ""
-#: .././config.py:18682
+#: .././config.py:18874
msgid "System preferences"
msgstr ""
-#: .././config.py:19002
+#: .././config.py:19205
msgid "_Language"
msgstr ""
-#: .././config.py:19007
+#: .././config.py:19210
msgid "Language preferences"
msgstr ""
-#: .././config.py:19012
+#: .././config.py:19215
msgid "Language"
msgstr ""
-#: .././config.py:19052
+#: .././config.py:19255
msgid "_Modules"
msgstr ""
-#: .././config.py:19057
+#: .././config.py:19260
msgid "Gtk library"
msgstr ""
-#: .././config.py:19062
+#: .././config.py:19265
msgid "Current version of the system's Gtk library"
msgstr ""
-#: .././config.py:19077
+#: .././config.py:19280
msgid "Module availability"
msgstr ""
-#: .././config.py:19083
+#: .././config.py:19286
msgid "feedparser module is available (required for detecting livestreams)"
msgstr ""
-#: .././config.py:19092
+#: .././config.py:19295
msgid "matplotlib module is available (draws graphs)"
msgstr ""
-#: .././config.py:19100
+#: .././config.py:19303
msgid "moviepy module is available (finds the length of videos, if unknown)"
msgstr ""
-#: .././config.py:19110
+#: .././config.py:19313
msgid "playsound module is available (sound an alarm when a livestream starts)"
msgstr ""
-#: .././config.py:19120
+#: .././config.py:19323
msgid ""
"XDG module is available (saves the config file in the standard location)"
msgstr ""
-#: .././config.py:19130
+#: .././config.py:19333
msgid ""
"Notify module is available (shows desktop notifications; Linux/*BSD only)"
msgstr ""
-#: .././config.py:19140
+#: .././config.py:19343
msgid "Module preferences"
msgstr ""
-#: .././config.py:19146
+#: .././config.py:19349
msgid ""
"Use 'moviepy' module to get a video's duration, if not known (may be slow)"
msgstr ""
-#: .././config.py:19158
+#: .././config.py:19361
msgid "Timeout applied when moviepy checks a video file"
msgstr ""
-#: .././config.py:19214
+#: .././config.py:19417
msgid "_Device"
msgstr ""
-#: .././config.py:19219
+#: .././config.py:19422
msgid "Device preferences"
msgstr ""
-#: .././config.py:19224
-msgid "Size of device (in Mb)"
+#: .././config.py:19427
+msgid "Size of device"
msgstr ""
-#: .././config.py:19236
-msgid "Free space on device (in Mb)"
+#: .././config.py:19444
+msgid "Free space on device"
msgstr ""
-#: .././config.py:19248
-msgid "Warn user if disk space is less than"
+#: .././config.py:19462
+msgid ""
+"Before checking/downloading videos, warn user if disk space is less than"
msgstr ""
-#: .././config.py:19266
+#: .././config.py:19487
msgid "Halt downloads if disk space is less than"
msgstr ""
-#: .././config.py:19316
+#: .././config.py:19542
msgid "_Config"
msgstr ""
-#: .././config.py:19320
+#: .././config.py:19546
msgid "Configuration preferences"
msgstr ""
-#: .././config.py:19325
+#: .././config.py:19551
msgid "Tartube configuration file loaded from"
msgstr ""
-#: .././config.py:19337
+#: .././config.py:19563
msgid "Default location for Tartube configuration"
msgstr ""
-#: .././config.py:19349
+#: .././config.py:19575
msgid "Alternative location for Tartube configuration"
msgstr ""
-#: .././config.py:19373
+#: .././config.py:19599
msgid "D_atabase"
msgstr ""
-#: .././config.py:19378
+#: .././config.py:19604
msgid "Database preferences"
msgstr ""
-#: .././config.py:19383
+#: .././config.py:19609
msgid "Current data folder"
msgstr ""
-#: .././config.py:19396
+#: .././config.py:19622
msgid "Current database"
msgstr ""
-#: .././config.py:19413
+#: .././config.py:19639
msgid "Recent data folders"
msgstr ""
-#: .././config.py:19429
+#: .././config.py:19655
msgid "Add new database"
msgstr ""
-#: .././config.py:19431
+#: .././config.py:19657
msgid "Change to a different data folder"
msgstr ""
-#: .././config.py:19438
+#: .././config.py:19664
msgid "Check and repair database"
msgstr ""
-#: .././config.py:19441
+#: .././config.py:19667
msgid "Check for inconsistencies, and repair them"
msgstr ""
-#: .././config.py:19446
+#: .././config.py:19672
msgid "Dump database to JSON"
msgstr ""
-#: .././config.py:19449
+#: .././config.py:19675
msgid "Convert databases to JSON, even when Tartube can't load them"
msgstr ""
-#: .././config.py:19454
+#: .././config.py:19680
msgid "Switch to this database"
msgstr ""
-#: .././config.py:19456
+#: .././config.py:19682
msgid "Switch to the selected data folder"
msgstr ""
-#: .././config.py:19466
+#: .././config.py:19692
msgid "Forget"
msgstr ""
-#: .././config.py:19469
+#: .././config.py:19695
msgid "Remove the selected data folder from the list"
msgstr ""
-#: .././config.py:19479
+#: .././config.py:19705
msgid "Forget all"
msgstr ""
-#: .././config.py:19482
+#: .././config.py:19708
msgid "Forget every folder in this list (except the current one)"
msgstr ""
-#: .././config.py:19496
+#: .././config.py:19722
msgid "Move the selected folder up the list"
msgstr ""
-#: .././config.py:19505
+#: .././config.py:19731
msgid "Move the selected folder down the list"
msgstr ""
-#: .././config.py:19533
+#: .././config.py:19759
msgid ""
"On startup, load the first database on the list (not the most recently-use "
"one)"
msgstr ""
-#: .././config.py:19543
+#: .././config.py:19769
msgid "If one database is in use, try to load others"
msgstr ""
-#: .././config.py:19551
+#: .././config.py:19777
msgid "New databases are added to this list"
msgstr ""
-#: .././config.py:19596
+#: .././config.py:19822
msgid "_Backups"
msgstr ""
-#: .././config.py:19601
+#: .././config.py:19827
msgid "Backup preferences"
msgstr ""
-#: .././config.py:19606
+#: .././config.py:19832
msgid ""
"When saving a database file, Tartube makes a backup copy of it (in case "
"something goes wrong)"
msgstr ""
-#: .././config.py:19615
+#: .././config.py:19841
msgid "Delete the backup file as soon as the save procedure is finished"
msgstr ""
-#: .././config.py:19625
+#: .././config.py:19851
msgid "Keep the backup file, replacing any previous backup file"
msgstr ""
-#: .././config.py:19636
+#: .././config.py:19862
msgid ""
"Make a new backup file once per day, after the day's first save procedure"
msgstr ""
-#: .././config.py:19647
+#: .././config.py:19873
msgid "Make a new backup file for every save procedure"
msgstr ""
-#: .././config.py:19681
+#: .././config.py:19907
msgid "Export preferences"
msgstr ""
-#: .././config.py:19686
+#: .././config.py:19912
msgid "Separator used in CSV exports"
msgstr ""
-#: .././config.py:19728
-msgid "Automatic video deletion preferences"
+#: .././config.py:19954
+msgid "Automatic video deletion/removal preferences"
+msgstr ""
+
+#: .././config.py:19960
+msgid ""
+"Deleted videos are re-downloaded without an archive file. See the Operations "
+"> Archive tab"
msgstr ""
-#: .././config.py:19733
-msgid "Automatically delete downloaded videos after this many days"
+#: .././config.py:19967
+msgid "Automatically delete downloaded videos"
msgstr ""
-#: .././config.py:19747
-msgid "...but only delete videos which have been watched"
+#: .././config.py:19983 .././config.py:20007 .././formats.py:444
+msgid "days"
msgstr ""
-#: .././config.py:19771
+#: .././config.py:19989
+msgid "Remove downloaded videos from the database (but don't delete files)"
+msgstr ""
+
+#: .././config.py:20012
+msgid "Only delete/remove videos which have been watched"
+msgstr ""
+
+#: .././config.py:20024
+msgid "Delete/remove files:"
+msgstr ""
+
+#: .././config.py:20030
+msgid "When the database is loaded"
+msgstr ""
+
+#: .././config.py:20037
+msgid "After every download operation"
+msgstr ""
+
+#: .././config.py:20081
msgid "Video matching preferences"
msgstr ""
-#: .././config.py:19776
+#: .././config.py:20086
msgid "When matching videos on the filesystem:"
msgstr ""
-#: .././config.py:19782
+#: .././config.py:20092
msgid "The video names must match exactly"
msgstr ""
-#: .././config.py:19789
+#: .././config.py:20099
msgid "The first # characters must match exactly"
msgstr ""
-#: .././config.py:19803
+#: .././config.py:20113
msgid "Ignore the last # characters; the remaining name must match exactly"
msgstr ""
-#: .././config.py:19861
+#: .././config.py:20171
msgid "Update video descriptions"
msgstr ""
-#: .././config.py:19868
+#: .././config.py:20178
msgid "These procedures might take a long time on a large database"
msgstr ""
-#: .././config.py:19875
+#: .././config.py:20185
msgid "Update from description files, and set the line lengths to:"
msgstr ""
-#: .././config.py:19894
+#: .././config.py:20204
msgid "Clear descriptions (does not modify the description files)"
msgstr ""
-#: .././config.py:19917
+#: .././config.py:20227
msgid "Video timestamps"
msgstr ""
-#: .././config.py:19921
+#: .././config.py:20231
msgid "Extract timestamps for all videos"
msgstr ""
-#: .././config.py:19929
+#: .././config.py:20239
msgid "Remove timestamps from all videos"
msgstr ""
-#: .././config.py:19939 .././config.py:23509
+#: .././config.py:20249 .././config.py:23989
msgid "Video comments"
msgstr ""
-#: .././config.py:19943
+#: .././config.py:20253
msgid "Extract comments for all videos"
msgstr ""
-#: .././config.py:19951
+#: .././config.py:20261
msgid "Remove comments from all videos"
msgstr ""
-#: .././config.py:19961
+#: .././config.py:20271
msgid ""
"Comments are extracted from each video's metadata file, so this procedure "
"may take a long time"
msgstr ""
-#: .././config.py:19981
-msgid "_URLs"
+#: .././config.py:20291
+msgid "U_RLs"
msgstr ""
-#: .././config.py:19988
+#: .././config.py:20298
msgid "Update channel/playlist URLs"
msgstr ""
-#: .././config.py:19993
+#: .././config.py:20303
msgid "Confirm every change"
msgstr ""
-#: .././config.py:20076
+#: .././config.py:20386
msgid "Pattern"
msgstr ""
-#: .././config.py:20087
+#: .././config.py:20397
msgid "Substitution"
msgstr ""
-#: .././config.py:20098
+#: .././config.py:20408
msgid "This pattern is a regex"
msgstr ""
-#: .././config.py:20110
+#: .././config.py:20420
msgid "Search and replace text in the selected URLs"
msgstr ""
-#: .././config.py:20125
+#: .././config.py:20435
msgid "Open URLs"
msgstr ""
-#: .././config.py:20224
+#: .././config.py:20534
msgid "Temporary folder preferences"
msgstr ""
-#: .././config.py:20229
+#: .././config.py:20539
msgid "Empty temporary folders when Tartube shuts down"
msgstr ""
-#: .././config.py:20238
+#: .././config.py:20548
msgid "(N.B. Temporary folders are always emptied when Tartube starts up)"
msgstr ""
-#: .././config.py:20246
+#: .././config.py:20556
msgid "Open temporary folders (on the desktop) when Tartube shuts down"
msgstr ""
-#: .././config.py:20289
+#: .././config.py:20599
msgid "The Tartube database contains:"
msgstr ""
-#: .././config.py:20349
+#: .././config.py:20659
msgid "Custom folders"
msgstr ""
-#: .././config.py:20372
+#: .././config.py:20682
msgid "Calculate"
msgstr ""
#. Add this tab...
-#: .././config.py:20503
+#: .././config.py:20813
msgid "_Windows"
msgstr ""
-#: .././config.py:20532
+#: .././config.py:20842
msgid "_Main window"
msgstr ""
-#: .././config.py:20539
+#: .././config.py:20849
msgid "Main window preferences"
msgstr ""
-#: .././config.py:20544
+#: .././config.py:20854
msgid "Remember size of the main window"
msgstr ""
-#: .././config.py:20552
+#: .././config.py:20862
msgid "Remember slider positions"
msgstr ""
-#: .././config.py:20561
+#: .././config.py:20871
msgid "Reset both"
msgstr ""
-#: .././config.py:20577
+#: .././config.py:20887
msgid "Don't show the main window toolbar"
msgstr ""
-#: .././config.py:20585
+#: .././config.py:20895
msgid "Don't show labels in the main window toolbar"
msgstr ""
-#: .././config.py:20603
+#: .././config.py:20913
msgid ""
"Replace stock icons with custom icons (in case stock icons are not visible)"
msgstr ""
-#: .././config.py:20613
+#: .././config.py:20923
msgid "Show tooltips for videos, channels, playlists and folders"
msgstr ""
-#: .././config.py:20621
+#: .././config.py:20931
msgid "Show errors/warnings in tooltips (but not in the Videos tab)"
msgstr ""
-#: .././config.py:20639
+#: .././config.py:20949
msgid "Disable the download buttons in the toolbar and the Videos tab"
msgstr ""
-#: .././config.py:20649
+#: .././config.py:20959
msgid "In the Progress tab, hide finished downloads"
msgstr ""
-#: .././config.py:20658
+#: .././config.py:20968
msgid "Show downloads in reverse order"
msgstr ""
-#: .././config.py:20666
+#: .././config.py:20976
msgid "When Tartube starts, automatically open the Classic Mode tab"
msgstr ""
-#: .././config.py:20680
+#: .././config.py:20990
msgid ""
"In the Classic Mode tab, when adding URLs, remove duplicates rather than "
"retaining them"
msgstr ""
-#: .././config.py:20694
-msgid "In the Errors/Warnings tab, don't reset the tab text when it is clicked"
+#: .././config.py:21004
+msgid ""
+"In the Errors/Warnings tab, don't reset the tab title when it is clicked"
msgstr ""
-#: .././config.py:20721
+#: .././config.py:21031
msgid "Video Index (left side of the Videos tab)"
msgstr ""
-#: .././config.py:20726
+#: .././config.py:21036
msgid "Show a 'Custom download all' button"
msgstr ""
-#: .././config.py:20734
+#: .././config.py:21044
+msgid "While checking/downloading videos, show free disk space"
+msgstr ""
+
+#: .././config.py:21052
msgid "Allow each row to be marked for checking/downloading"
msgstr ""
-#: .././config.py:20742
+#: .././config.py:21060
msgid "Show smaller icons"
msgstr ""
-#: .././config.py:20751
+#: .././config.py:21069
msgid ""
"Show detailed statistics about the videos in each channel / playlist / folder"
msgstr ""
-#: .././config.py:20762
+#: .././config.py:21080
msgid ""
"After clicking on a folder, automatically expand/collapse the tree around it"
msgstr ""
-#: .././config.py:20773
+#: .././config.py:21091
msgid "Expand the whole tree, not just the level beneath the clicked folder"
msgstr ""
-#: .././config.py:20794
+#: .././config.py:21112
msgid "Video Catalogue (right side of the Videos tab)"
msgstr ""
-#: .././config.py:20800
+#: .././config.py:21118
msgid "Show 'today' and 'yesterday' as the date, when possible"
msgstr ""
-#: .././config.py:20808
+#: .././config.py:21126
msgid "Show livestreams with a different background colour"
msgstr ""
-#: .././config.py:20816
+#: .././config.py:21134
msgid "Use same background colours for livestream and debut videos"
msgstr ""
-#: .././config.py:20837
+#: .././config.py:21155
msgid "Channel and playlist names are clickable (grid mode only)"
msgstr ""
-#: .././config.py:20857
+#: .././config.py:21175
msgid "_Drag"
msgstr ""
-#: .././config.py:20861
+#: .././config.py:21179
msgid "Drag and drop preferences"
msgstr ""
-#: .././config.py:20867
+#: .././config.py:21185
msgid "When dragging and dropping videos to an external application..."
msgstr ""
-#: .././config.py:20873
+#: .././config.py:21191
msgid "Transfer the video's full file path"
msgstr ""
-#: .././config.py:20881
+#: .././config.py:21199
msgid "Transfer the video's source URL"
msgstr ""
-#: .././config.py:20889
+#: .././config.py:21207
msgid "Transfer the video's name"
msgstr ""
-#: .././config.py:20897
+#: .././config.py:21215
msgid "Transfer the thumbnail's full file path"
msgstr ""
-#: .././config.py:20918
+#: .././config.py:21236
msgid "_Tray"
msgstr ""
-#: .././config.py:20924
+#: .././config.py:21242
msgid "System tray preferences"
msgstr ""
-#: .././config.py:20929
+#: .././config.py:21247
msgid "Show Tartube in the system tray"
msgstr ""
-#: .././config.py:20938
+#: .././config.py:21256
msgid "Start Tartube in the system tray"
msgstr ""
-#: .././config.py:20949
+#: .././config.py:21267
msgid "Close to the tray, rather than closing the application"
msgstr ""
-#: .././config.py:20961
+#: .././config.py:21279
msgid ""
"After closing to the tray, restore the window's position (does not work on "
"Wayland)"
msgstr ""
-#: .././config.py:21004
+#: .././config.py:21322
msgid "D_ialogues"
msgstr ""
-#: .././config.py:21010
+#: .././config.py:21328
msgid "Dialogue window preferences"
msgstr ""
-#: .././config.py:21015
+#: .././config.py:21333
msgid "When adding channels/playlists, keep the dialogue window open"
msgstr ""
-#: .././config.py:21025
+#: .././config.py:21343
msgid "When the dialogue window opens, add URLs from the system clipboard"
msgstr ""
-#: .././config.py:21046
+#: .././config.py:21364
msgid "When adding YouTube channels, remind the user to copy the correct URL"
msgstr ""
-#: .././config.py:21058
+#: .././config.py:21376
msgid "Debugging preferences"
msgstr ""
-#: .././config.py:21064
+#: .././config.py:21382
msgid ""
"Temporarily disable message dialogue windows (display messages in terminal "
"instead)"
msgstr ""
-#: .././config.py:21088
+#: .././config.py:21406
msgid "_Colours"
msgstr ""
-#: .././config.py:21095
+#: .././config.py:21413
msgid "Video catalogue colour preferences"
msgstr ""
-#: .././config.py:21103
+#: .././config.py:21421
msgid "Waiting livestreams"
msgstr ""
-#: .././config.py:21109
+#: .././config.py:21427
msgid "Broadcasting livestreams"
msgstr ""
-#: .././config.py:21115
+#: .././config.py:21433
msgid "Waiting debut videos"
msgstr ""
-#: .././config.py:21121
+#: .././config.py:21439
msgid "Broadcasting debut videos"
msgstr ""
-#: .././config.py:21127
+#: .././config.py:21445
msgid "Selected videos"
msgstr ""
-#: .././config.py:21133
+#: .././config.py:21451
msgid "Selected waiting videos"
msgstr ""
-#: .././config.py:21139
+#: .././config.py:21457
msgid "Selected broadcasting videos"
msgstr ""
-#: .././config.py:21145
+#: .././config.py:21463
msgid "Drag and Drop notification"
msgstr ""
-#: .././config.py:21151
+#: .././config.py:21469
msgid "Drag and Drop background 1"
msgstr ""
-#: .././config.py:21157
+#: .././config.py:21475
msgid "Drag and Drop background 2"
msgstr ""
-#: .././config.py:21188
+#: .././config.py:21506
msgid "Custom colour:"
msgstr ""
-#: .././config.py:21211
+#: .././config.py:21529
msgid "Default colour:"
msgstr ""
-#: .././config.py:21248
+#: .././config.py:21566
msgid "_Errors/Warnings"
msgstr ""
-#: .././config.py:21254
+#: .././config.py:21572
msgid "Errors/Warnings tab preferences"
msgstr ""
-#: .././config.py:21354
+#: .././config.py:21672
msgid "_Websites"
msgstr ""
-#: .././config.py:21361
+#: .././config.py:21679
msgid "YouTube error/warning preferences"
msgstr ""
-#: .././config.py:21366
+#: .././config.py:21684
msgid "Ignore YouTube copyright errors"
msgstr ""
-#: .././config.py:21374
+#: .././config.py:21692
msgid "Ignore YouTube age-restriction errors"
msgstr ""
-#: .././config.py:21382
+#: .././config.py:21700
msgid "Ignore YouTube deletion by uploader errors"
msgstr ""
-#: .././config.py:21390
+#: .././config.py:21708
msgid "Ignore YouTube payment errors"
msgstr ""
-#: .././config.py:21399
+#: .././config.py:21717
msgid "General preferences"
msgstr ""
-#: .././config.py:21405
+#: .././config.py:21723
msgid ""
"Ignore any errors/warnings which match lines in this list (applies to all "
"websites)"
msgstr ""
-#: .././config.py:21419
+#: .././config.py:21737
msgid "These are ordinary strings"
msgstr ""
-#: .././config.py:21426
+#: .././config.py:21744
msgid "These are regular expressions (regexes)"
msgstr ""
#. Add this tab...
-#: .././config.py:21455
+#: .././config.py:21773
msgid "_Scheduling"
msgstr ""
-#: .././config.py:21482
+#: .././config.py:21800
msgid "Scheduled download preferences"
msgstr ""
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Priority"
msgstr ""
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Whole"
msgstr ""
-#: .././config.py:21503
+#: .././config.py:21821
msgid "Shutdown"
msgstr ""
-#: .././config.py:21503
+#: .././config.py:21821
msgid "D/L All"
msgstr ""
-#: .././config.py:21504
+#: .././config.py:21822
msgid "Join mode"
msgstr ""
-#: .././config.py:21558 .././config.py:22540 .././config.py:24498
-#: .././config.py:24776
+#: .././config.py:21876 .././config.py:22914 .././config.py:24993
+#: .././config.py:25271
msgid "Edit"
msgstr ""
-#: .././config.py:21630 .././formats.py:1023
+#: .././config.py:21948 .././formats.py:1209
msgid "Custom"
msgstr ""
-#: .././config.py:21673
+#: .././config.py:21991
msgid "S_top"
msgstr ""
-#: .././config.py:21678
+#: .././config.py:21996
msgid "Scheduled stop preferences"
msgstr ""
-#: .././config.py:21683
+#: .././config.py:22001
msgid "Stop all download operations after this much time"
msgstr ""
-#: .././config.py:21731
+#: .././config.py:22049
msgid "Stop all download operations after this many videos"
msgstr ""
-#: .././config.py:21758
+#: .././config.py:22076
msgid "Stop all download operations after this much disk space"
msgstr ""
-#: .././config.py:21801
+#: .././config.py:22119
msgid ""
"N.B. Disk space is estimated. This setting does not apply to simulated "
"downloads"
msgstr ""
-#: .././config.py:21913
+#: .././config.py:22231
msgid "Overriding video format options, limit video resolution to"
msgstr ""
-#: .././config.py:21935
+#: .././config.py:22253
msgid "Alternative performance limits"
msgstr ""
-#: .././config.py:21993
+#: .././config.py:22311
msgid "Alternative limits apply between"
msgstr ""
-#: .././config.py:22033
+#: .././config.py:22351
msgid "and"
msgstr ""
-#: .././config.py:22061
+#: .././config.py:22379
msgid "On days"
msgstr ""
-#: .././config.py:22094
+#: .././config.py:22412
msgid "_Stop"
msgstr ""
-#: .././config.py:22101
+#: .././config.py:22419
msgid "Time-saving settings"
msgstr ""
-#: .././config.py:22107
+#: .././config.py:22425
msgid ""
-"Stop checking/downloading a channel/playlist when it starts sending videos "
-"you already have"
+"Stop checking/downloading a channel/playlist when it finds videos you "
+"already have"
msgstr ""
-#: .././config.py:22118
+#: .././config.py:22436
msgid "Stop after this many videos (when checking)"
msgstr ""
-#: .././config.py:22133
+#: .././config.py:22451
msgid "Stop after this many videos (when downloading)"
msgstr ""
-#: .././config.py:22176
+#: .././config.py:22494
msgid "Download operation preferences"
msgstr ""
-#: .././config.py:22182
+#: .././config.py:22500
msgid "Automatically update downloader before every download operation"
msgstr ""
-#: .././config.py:22194
+#: .././config.py:22512
msgid "Automatically save files at the end of all operations"
msgstr ""
-#: .././config.py:22204
+#: .././config.py:22522
msgid "For simulated downloads, don't check a video in a folder more than once"
msgstr ""
-#: .././config.py:22215
+#: .././config.py:22533
msgid "If a download stalls, restart it after this many minutes"
msgstr ""
-#: .././config.py:22237
+#: .././config.py:22557
msgid "Maximum restarts after a stalled download (0 for no maximum)"
msgstr ""
-#: .././config.py:22270
-msgid "When checking videos, apply a 60-second timeout"
+#: .././config.py:22590
+msgid "Apply a timeout (in minutes) when checking a video"
msgstr ""
-#: .././config.py:22279
+#: .././config.py:22604
+msgid "Without comments"
+msgstr ""
+
+#: .././config.py:22620
+msgid "With comments"
+msgstr ""
+
+#: .././config.py:22653
msgid "Assign anonymous error/warning messages to the most probable video"
msgstr ""
-#: .././config.py:22290
+#: .././config.py:22664
msgid "Add censored, age-restricted and other blocked videos to the database"
msgstr ""
-#: .././config.py:22301
+#: .././config.py:22675
msgid ""
"Extract playlist IDs from each video, and store them in the parent channel/"
"playlist"
msgstr ""
-#: .././config.py:22312
+#: .././config.py:22686
msgid ""
"Convert .webp thumbnails into .jpg thumbnails (using FFmpeg) after "
"downloading them"
msgstr ""
-#: .././config.py:22335
+#: .././config.py:22709
msgid "_Ignore"
msgstr ""
-#: .././config.py:22342
+#: .././config.py:22716
msgid "Ignore downloader errors/warnings"
msgstr ""
-#: .././config.py:22347
+#: .././config.py:22721
msgid "TRANSLATOR'S NOTE: These error messages are always in English"
msgstr ""
-#: .././config.py:22351
+#: .././config.py:22725
msgid "Ignore 'Child process exited with non-zero code' errors"
msgstr ""
-#: .././config.py:22360
+#: .././config.py:22734
msgid ""
"Ignore 'Unable to download video data' and 'Unable to extract video data' "
"errors"
msgstr ""
-#: .././config.py:22370
+#: .././config.py:22744
msgid "Ignore 'Did not get any data blocks' errors"
msgstr ""
-#: .././config.py:22379
+#: .././config.py:22753
msgid "Ignore 'Requested formats are incompatible for merge' warnings"
msgstr ""
-#: .././config.py:22388
+#: .././config.py:22762
msgid "Ignore 'No video formats found' errors"
msgstr ""
-#: .././config.py:22396
+#: .././config.py:22770
msgid "Ignore 'There are no annotations to write' warnings"
msgstr ""
-#: .././config.py:22404
+#: .././config.py:22778
msgid "Ignore 'Video doesn't have subtitles' warnings"
msgstr ""
-#: .././config.py:22412
+#: .././config.py:22786
msgid "Ignore 'A channel/user page was given' warnings"
msgstr ""
-#: .././config.py:22420
+#: .././config.py:22794
msgid "Ignore 'There's no playlist description to write' warnings"
msgstr ""
-#: .././config.py:22429
+#: .././config.py:22803
msgid ""
"Ignore 'Unable to download video thumbnail: HTTP Error 404: Not Fuund' "
"warnings"
msgstr ""
-#: .././config.py:22451
+#: .././config.py:22825
msgid "_Custom"
msgstr ""
-#: .././config.py:22456
+#: .././config.py:22830
msgid "Custom downloads"
msgstr ""
-#: .././config.py:22477 .././config.py:24433
+#: .././config.py:22851 .././config.py:24928
msgid "Classic Mode"
msgstr ""
-#: .././config.py:22549 .././config.py:24507 .././config.py:24785
+#: .././config.py:22923 .././config.py:25002 .././config.py:25280
msgid "Export"
msgstr ""
-#: .././config.py:22558 .././config.py:24516 .././config.py:24794
+#: .././config.py:22932 .././config.py:25011 .././config.py:25289
msgid "Clone"
msgstr ""
-#: .././config.py:22567 .././config.py:24525
+#: .././config.py:22941 .././config.py:25020
msgid "Use in Classic Mode tab"
msgstr ""
-#: .././config.py:22670
+#: .././config.py:23044
msgid "_Archive"
msgstr ""
-#: .././config.py:22678
+#: .././config.py:23052
msgid "Archive file preferences"
msgstr ""
-#: .././config.py:22684
+#: .././config.py:23058
msgid ""
"Allow downloader to create its own archive file (so deleted videos are not "
"re-downloaded)"
msgstr ""
-#: .././config.py:22703
+#: .././config.py:23077
msgid "Store the archive file in the same location as the video"
msgstr ""
-#: .././config.py:22711
+#: .././config.py:23085
msgid ""
"N.B. Archive files are never stored in system folders like 'Unsorted Videos'"
msgstr ""
-#: .././config.py:22720
+#: .././config.py:23094
msgid "Store the archive file in Tartube's data directory"
msgstr ""
-#: .././config.py:22731
+#: .././config.py:23105
msgid "Store the archive file at this location:"
msgstr ""
-#: .././config.py:22811
+#: .././config.py:23185
msgid "Classic Mode tab preferences"
msgstr ""
-#: .././config.py:22817
+#: .././config.py:23191
msgid "Create an archive file when downloading from the Classic Mode tab"
msgstr ""
-#: .././config.py:22828
+#: .././config.py:23202
msgid ""
"This setting should only be enabled when downloading channels and playlists"
msgstr ""
-#: .././config.py:22856
+#: .././config.py:23222
+msgid "Li_vestreams"
+msgstr ""
+
+#: .././config.py:23230
msgid "Livestream preferences (compatible websites only)"
msgstr ""
-#: .././config.py:22862
+#: .././config.py:23236
msgid "Detect livestreams announced within this many days"
msgstr ""
-#: .././config.py:22877
+#: .././config.py:23251
msgid "How often to check the status of livestreams (in minutes)"
msgstr ""
-#: .././config.py:22896
+#: .././config.py:23270
msgid "Check more frequently when a livestream is due to start"
msgstr ""
-#: .././config.py:22939
-msgid "Broadcast preferences (compatible websites only)"
+#: .././config.py:23313
+msgid "Broadcasting livestream preferences (compatible websites only)"
msgstr ""
-#: .././config.py:22946
+#: .././config.py:23321
msgid ""
-"Use Youtube Stream Capture to download broadcasting livestreams (requires "
-"aria2)"
+"These settings apply when downloading videos individually, for example with "
+"a custom download"
+msgstr ""
+
+#: .././config.py:23337
+msgid "Download using:"
+msgstr ""
+
+#: .././config.py:23352
+msgid ".m3u manifest"
+msgstr ""
+
+#: .././config.py:23380
+msgid "Replace a partially-downloaded livestream"
msgstr ""
-#: .././config.py:22957
+#: .././config.py:23387
+msgid "Resume a partially-downloaded livestream"
+msgstr ""
+
+#: .././config.py:23421
msgid ""
-"N.B. If this option is not selected, youtube-dl will still try to download "
-"livestreams"
+"Bypass usual limits on simultaneous downloads, so that all livestreams can "
+"be downloaded"
msgstr ""
-#: .././config.py:22964
+#: .././config.py:23434
msgid "Timeout after this many minutes of inactivity"
msgstr ""
-#: .././config.py:22978
-msgid "Number of restarts after a timeout"
+#: .././config.py:23450
+msgid ""
+"When the livestream download is stopped manually, mark the video as "
+"downloaded"
msgstr ""
-#: .././config.py:22993
+#: .././config.py:23464
msgid ""
-"Bypass usual limits on simultaneous downloads, so that all broadcasts can be "
-"downloaded"
+"Check a video before the livestream download (ensures metadata is downloaded)"
msgstr ""
-#: .././config.py:23039
+#: .././config.py:23478
+msgid "N.B. This setting is ignored in the Classic Mode tab"
+msgstr ""
+
+#: .././config.py:23496
+#, python-brace-format
+msgid ""
+"N.B. To prevent {0} from downloading livestreams at all, use a custom "
+"download"
+msgstr ""
+
+#: .././config.py:23502
+msgid "not recommended"
+msgstr ""
+
+#: .././config.py:23519
msgid "Ac_tions"
msgstr ""
-#: .././config.py:23047
+#: .././config.py:23527
msgid "Livestream actions (can be toggled for individual videos)"
msgstr ""
-#: .././config.py:23054
+#: .././config.py:23534
msgid "(currently disabled on MS Windows)"
msgstr ""
-#: .././config.py:23059
+#: .././config.py:23539
msgid "When a livestream starts, show a desktop notification"
msgstr ""
-#: .././config.py:23073
+#: .././config.py:23553
msgid "When a livestream starts, sound an alarm"
msgstr ""
-#: .././config.py:23096
+#: .././config.py:23576
msgid "Plays the selected sound effect"
msgstr ""
-#: .././config.py:23103
+#: .././config.py:23583
msgid "When a livestream starts, open it in the system's web browser"
msgstr ""
-#: .././config.py:23115
+#: .././config.py:23595
msgid "When a livestream starts, begin downloading it immediately"
msgstr ""
-#: .././config.py:23141
+#: .././config.py:23621
msgid "Desktop notification preferences"
msgstr ""
-#: .././config.py:23147
+#: .././config.py:23627
msgid "Show a dialogue window at the end of an operation"
msgstr ""
-#: .././config.py:23170
+#: .././config.py:23650
msgid "Don't notify the user at the end of an operation"
msgstr ""
-#: .././config.py:23215
+#: .././config.py:23688
+msgid "Cli_ps"
+msgstr ""
+
+#: .././config.py:23695
msgid "Video clips (requires FFmpeg)"
msgstr ""
-#: .././config.py:23221
+#: .././config.py:23701
msgid ""
"When a video is checked/downloaded, automatically extract timestamps from "
"its metadata file"
msgstr ""
-#: .././config.py:23232
+#: .././config.py:23712
msgid ""
"When a video is checked/downloaded, automatically extract timestamps from "
"its description"
msgstr ""
-#: .././config.py:23242
+#: .././config.py:23722
msgid "If timestamps have already been extracted, replace them"
msgstr ""
-#: .././config.py:23254
+#: .././config.py:23734
msgid ""
"If no timestamps have been extracted, try again before splitting a video"
msgstr ""
-#: .././config.py:23267
+#: .././config.py:23747
msgid "Format of video clip filenames"
msgstr ""
-#: .././config.py:23272
+#: .././config.py:23752
msgid "Number"
msgstr ""
-#: .././config.py:23273
+#: .././config.py:23753
msgid "Clip Title"
msgstr ""
-#: .././config.py:23274
+#: .././config.py:23754
msgid "Number + Clip Title"
msgstr ""
-#: .././config.py:23275
+#: .././config.py:23755
msgid "Clip Title + Number"
msgstr ""
-#: .././config.py:23276
+#: .././config.py:23756
msgid "Original Title"
msgstr ""
-#: .././config.py:23277
+#: .././config.py:23757
msgid "Original Title + Number"
msgstr ""
-#: .././config.py:23278
+#: .././config.py:23758
msgid "Original Title + Clip Title"
msgstr ""
-#: .././config.py:23279
+#: .././config.py:23759
msgid "Original Title + Number + Clip Title"
msgstr ""
-#: .././config.py:23280
+#: .././config.py:23760
msgid "Original Title + Clip Title + Number"
msgstr ""
-#: .././config.py:23307
+#: .././config.py:23787
msgid "Generic title for video clips"
msgstr ""
-#: .././config.py:23324
+#: .././config.py:23804
msgid "Move clips to the Video Clips folder"
msgstr ""
-#: .././config.py:23331
+#: .././config.py:23811
msgid "Keep clips with their original video"
msgstr ""
-#: .././config.py:23344
+#: .././config.py:23824
msgid "...but place new files inside a sub-directory"
msgstr ""
-#: .././config.py:23355
+#: .././config.py:23835
msgid "Add new files to Tartube's database"
msgstr ""
-#: .././config.py:23366
+#: .././config.py:23846
msgid "Use the original video's thumbnail"
msgstr ""
-#: .././config.py:23374
+#: .././config.py:23854
msgid "After splitting a video, open the destination folder"
msgstr ""
-#: .././config.py:23376
+#: .././config.py:23856
msgid "After splitting a video, open the destination directory"
msgstr ""
-#: .././config.py:23388
+#: .././config.py:23868
msgid ""
"After splitting a video, delete the original (ignored for videos in channels/"
"playlists)"
msgstr ""
-#: .././config.py:23418
+#: .././config.py:23891
+msgid "Slic_es"
+msgstr ""
+
+#: .././config.py:23898
msgid "Video slices (requires FFmpeg)"
msgstr ""
-#: .././config.py:23424
+#: .././config.py:23904
msgid ""
"While checking/downloading videos, check each video against the SponsorBlock "
"server"
msgstr ""
-#: .././config.py:23435
+#: .././config.py:23915
msgid "When contacting the server, obfuscate each video's ID (recommended)"
msgstr ""
-#: .././config.py:23449
+#: .././config.py:23929
msgid "If slices have already been extracted, replace the old list"
msgstr ""
-#: .././config.py:23462
+#: .././config.py:23942
msgid ""
"If slices have been extracted, contact the server again before removing more "
"slices from the video"
msgstr ""
-#: .././config.py:23476
+#: .././config.py:23956
msgid ""
"After removing slices from a video, reset all timestamp and slice data "
"(recommended)"
msgstr ""
-#: .././config.py:23515
-msgid "When checking/downloading videos, store comments in the metadata file"
+#: .././config.py:23982
+msgid "C_omments"
+msgstr ""
+
+#: .././config.py:23994
+msgid "When checking videos, store comments in the metadata file"
msgstr ""
-#: .././config.py:23525
+#: .././config.py:24002
+msgid "When downloading videos, store comments in the metadata file"
+msgstr ""
+
+#: .././config.py:24010
msgid ""
"Warning: fetching comments will increase the download time, perhaps by a lot!"
msgstr ""
-#: .././config.py:23531
+#: .././config.py:24016
msgid "Also store comments in the Tartube database"
msgstr ""
-#: .././config.py:23548
+#: .././config.py:24041
msgid ""
"Warning: storing comments will increase the size of Tartube's datbase, "
"perhaps by a lot!"
msgstr ""
-#: .././config.py:23568
-msgid "_Mirrors"
-msgstr ""
-
-#: .././config.py:23575
+#: .././config.py:24068
msgid "Invidious mirror"
msgstr ""
-#: .././config.py:23581
+#: .././config.py:24074
msgid "To find an updated list of Invidious mirrors, use any search engine!"
msgstr ""
-#: .././config.py:23596
+#: .././config.py:24089
msgid "Use the default Invidious mirror"
msgstr ""
-#: .././config.py:23611
+#: .././config.py:24104
msgid "SponsorBlock API mirror"
msgstr ""
-#: .././config.py:23624
+#: .././config.py:24117
msgid "Use the default SponsorBlock URL"
msgstr ""
-#: .././config.py:23641
-msgid "_Proxies"
+#: .././config.py:24134
+msgid "P_roxies"
msgstr ""
-#: .././config.py:23647
+#: .././config.py:24140
msgid "Proxies"
msgstr ""
-#: .././config.py:23654
+#: .././config.py:24147
msgid ""
"During a download operation, Tartube will cycle betwween the proxies in this "
"list"
msgstr ""
-#: .././config.py:23680
-msgid "P_references"
+#: .././config.py:24173
+msgid "Pre_ferences"
msgstr ""
-#: .././config.py:23687
+#: .././config.py:24180
msgid "URL flexibility preferences"
msgstr ""
-#: .././config.py:23694
+#: .././config.py:24187
msgid ""
"If a video's URL represents a channel/playlist, not a video, don't download "
"it"
msgstr ""
-#: .././config.py:23703
+#: .././config.py:24196
msgid "...or, download multiple videos into the containing folder"
msgstr ""
-#: .././config.py:23713
+#: .././config.py:24206
msgid "...or, create a new channel, and download the videos into that"
msgstr ""
-#: .././config.py:23724
+#: .././config.py:24217
msgid "...or, create a new playlist, and download the videos into that"
msgstr ""
-#: .././config.py:23756
+#: .././config.py:24249
msgid "Missing video preferences"
msgstr ""
-#: .././config.py:23762
+#: .././config.py:24255
msgid ""
"Add videos which have been removed from a channel/playlist to the Missing "
"Videos folder"
msgstr ""
-#: .././config.py:23773
+#: .././config.py:24266
msgid "Only add videos that were uploaded within this many days"
msgstr ""
-#: .././config.py:23847
+#: .././config.py:24340
msgid "_Forks"
msgstr ""
-#: .././config.py:23853
+#: .././config.py:24346
msgid "Forks of youtube-dl"
msgstr ""
-#: .././config.py:23882
+#: .././config.py:24375
msgid "Use yt-dlp"
msgstr ""
-#: .././config.py:23888
+#: .././config.py:24381
msgid "Install without dependencies"
msgstr ""
-#: .././config.py:23889
+#: .././config.py:24382
msgid "(recommended on MS Windows)"
msgstr ""
-#: .././config.py:23920
+#: .././config.py:24413
msgid "Use youtube-dl"
msgstr ""
-#: .././config.py:23941
+#: .././config.py:24434
msgid "Other forks"
msgstr ""
-#: .././config.py:23949
+#: .././config.py:24442
msgid "Use this fork:"
msgstr ""
-#: .././config.py:24029
+#: .././config.py:24522
msgid "When using other downloaders, filter out yt-dlp download options"
msgstr ""
-#: .././config.py:24051
-msgid "_File paths"
+#: .././config.py:24544
+msgid "File _paths"
msgstr ""
-#: .././config.py:24058
+#: .././config.py:24551
msgid "Downloader file paths"
msgstr ""
-#: .././config.py:24064
+#: .././config.py:24557
msgid "Path to the executable"
msgstr ""
#. (Signal connect appears below)
-#: .././config.py:24070 .././config.py:24240 .././config.py:24281
-#: .././config.py:24355 .././config.py:32023
+#: .././config.py:24563 .././config.py:24733 .././config.py:24774
+#: .././config.py:32696
msgid "Use default path"
msgstr ""
-#: .././config.py:24080 .././config.py:32037
+#: .././config.py:24573 .././config.py:32710
msgid "Use local path"
msgstr ""
-#: .././config.py:24087
+#: .././config.py:24580
msgid "Use custom path"
msgstr ""
-#: .././config.py:24096 .././config.py:32049
+#: .././config.py:24589 .././config.py:32722
msgid "Use PyPI path"
msgstr ""
-#: .././config.py:24156
+#: .././config.py:24649
msgid "Command for update operations"
msgstr ""
-#: .././config.py:24209
-msgid "_FFmpeg / AVConv"
+#: .././config.py:24702
+msgid "FF_mpeg / AVConv"
msgstr ""
-#: .././config.py:24216
+#: .././config.py:24709
msgid "Post-processor file paths"
msgstr ""
-#: .././config.py:24221
+#: .././config.py:24714
msgid ""
"You only need to set these paths if Tartube cannot find FFmpeg / AVConv "
"automatically"
msgstr ""
-#: .././config.py:24228
+#: .././config.py:24721
msgid "Path to the FFmpeg executable"
msgstr ""
-#: .././config.py:24255
+#: .././config.py:24748 .././config.py:24852
msgid "Install from main menu"
msgstr ""
-#: .././config.py:24269
+#: .././config.py:24762
msgid "Path to the AVConv executable"
msgstr ""
-#: .././config.py:24296
+#: .././config.py:24789
msgid "Not supported on MS Windows"
msgstr ""
-#: .././config.py:24324
-msgid "_Stream Capture"
+#: .././config.py:24817
+msgid "_streamlink"
msgstr ""
-#: .././config.py:24331
-msgid "Youtube Stream Capture file path"
+#: .././config.py:24824
+msgid "streamlink file path"
msgstr ""
-#: .././config.py:24336
-msgid ""
-"Tartube includes a copy of this script, but you can use a different copy, if "
-"you want"
+#: .././config.py:24829
+msgid "Path to the streamlink executable"
msgstr ""
-#: .././config.py:24343
-msgid "Path to the YT Stream Capture executable"
-msgstr ""
-
-#: .././config.py:24406
+#: .././config.py:24901
msgid "_Download options"
msgstr ""
-#: .././config.py:24413
+#: .././config.py:24908
msgid "List of download options"
msgstr ""
-#: .././config.py:24433
+#: .././config.py:24928
msgid "Videos tab"
msgstr ""
-#: .././config.py:24434
+#: .././config.py:24929
msgid "Dropzone"
msgstr ""
-#: .././config.py:24434
+#: .././config.py:24929
msgid "Applied to media"
msgstr ""
-#: .././config.py:24640
+#: .././config.py:25135
msgid "_Preferences"
msgstr ""
-#: .././config.py:24647
+#: .././config.py:25142
msgid "Download options preferences"
msgstr ""
-#: .././config.py:24653
+#: .././config.py:25148
msgid ""
"When applying download options to something, clone the general download "
"options"
msgstr ""
-#: .././config.py:24664
+#: .././config.py:25159
msgid "After downloading a video, destroy its download options"
msgstr ""
-#: .././config.py:24686
+#: .././config.py:25181
msgid "_FFmpeg options"
msgstr ""
-#: .././config.py:24693
+#: .././config.py:25188
msgid "List of FFmpeg options managers"
msgstr ""
-#: .././config.py:24713
+#: .././config.py:25208
msgid "Current"
msgstr ""
-#: .././config.py:24803
+#: .././config.py:25298
msgid "Use these options"
msgstr ""
#. Add this tab...
-#: .././config.py:24893
+#: .././config.py:25388
msgid "O_utput"
msgstr ""
-#: .././config.py:24917
+#: .././config.py:25412
msgid "_Output tab"
msgstr ""
-#: .././config.py:24924
+#: .././config.py:25419
msgid "Output tab preferences"
msgstr ""
-#: .././config.py:24929
+#: .././config.py:25424
msgid "Display downloader system commands in the Output tab"
msgstr ""
-#: .././config.py:24938
+#: .././config.py:25433
msgid "Display output from downloader's STDOUT in the Output tab"
msgstr ""
-#: .././config.py:24947 .././config.py:25114
+#: .././config.py:25442 .././config.py:25609
msgid "...but don't write each video's JSON data"
msgstr ""
-#: .././config.py:24958 .././config.py:25125
+#: .././config.py:25453 .././config.py:25620
msgid "...but don't write each video's download progress"
msgstr ""
-#: .././config.py:24977
+#: .././config.py:25472
msgid "Display output from downloader's STDERR in the Output tab"
msgstr ""
-#: .././config.py:24986
+#: .././config.py:25481
msgid "Limit the size of Output tab pages to"
msgstr ""
-#: .././config.py:25007
+#: .././config.py:25502
msgid "Empty pages in the Output tab at the start of every operation"
msgstr ""
-#: .././config.py:25017
+#: .././config.py:25512
msgid ""
"Show a summary of active threads (changes are applied when Tartube restarts)"
msgstr ""
-#: .././config.py:25029
+#: .././config.py:25524
msgid "During update/info operations, automatically switch to the Output tab"
msgstr ""
-#: .././config.py:25040
+#: .././config.py:25535
msgid "During a refresh operation, show all matching videos in the Output tab"
msgstr ""
-#: .././config.py:25051
+#: .././config.py:25546
msgid "...also show all non-matching videos"
msgstr ""
-#: .././config.py:25085
+#: .././config.py:25580
msgid "_Terminal window"
msgstr ""
-#: .././config.py:25091
+#: .././config.py:25586
msgid "Terminal window preferences"
msgstr ""
-#: .././config.py:25096
+#: .././config.py:25591
msgid "Write downloader system commands to the terminal window"
msgstr ""
-#: .././config.py:25105
+#: .././config.py:25600
msgid "Write output from downloader's STDOUT to the terminal window"
msgstr ""
-#: .././config.py:25147
+#: .././config.py:25642
msgid "Write output from downloader's STDERR to the terminal window"
msgstr ""
-#: .././config.py:25171
+#: .././config.py:25666
msgid "_Both"
msgstr ""
-#: .././config.py:25177
+#: .././config.py:25672
msgid ""
"Special preferences (applies to both the Output tab and the terminal window)"
msgstr ""
-#: .././config.py:25184
+#: .././config.py:25679
msgid "Downloader writes verbose output (youtube-dl debugging mode)"
msgstr ""
-#: .././config.py:25193
-msgid "Youtube Stream Capture writes verbose output"
-msgstr ""
-
#. Confirm the result
-#: .././config.py:26010 .././config.py:27956 .././config.py:28013
-#: .././config.py:28701 .././config.py:29938 .././config.py:29983
+#: .././config.py:26632 .././config.py:28586 .././config.py:28643
+#: .././config.py:29440 .././config.py:30677 .././config.py:30722
#: .././refresh.py:482 .././refresh.py:590
msgid "Total videos:"
msgstr ""
-#: .././config.py:26011 .././config.py:27958 .././config.py:28015
-#: .././config.py:28702 .././config.py:29939 .././config.py:29984
+#: .././config.py:26633 .././config.py:28588 .././config.py:28645
+#: .././config.py:29441 .././config.py:30678 .././config.py:30723
msgid "Videos updated:"
msgstr ""
-#: .././config.py:26248
+#: .././config.py:26845
msgid "Are you sure you want to rename this channel?"
msgstr ""
-#: .././config.py:26250
+#: .././config.py:26847
msgid "Are you sure you want to rename this playlist?"
msgstr ""
-#: .././config.py:26252
+#: .././config.py:26849
msgid "Are you sure you want to rename this folder?"
msgstr ""
-#: .././config.py:26292
+#: .././config.py:26889
msgid "That is not a valid URL"
msgstr ""
-#: .././config.py:26313
+#: .././config.py:26910
msgid "Are you sure you want to update the URL?"
msgstr ""
-#: .././config.py:26360
+#: .././config.py:26957
msgid "The regex is invalid"
msgstr ""
-#: .././config.py:26408
+#: .././config.py:27005
msgid "Are you sure you want to update these URLs?"
msgstr ""
-#: .././config.py:26628
+#: .././config.py:27225
msgid "The default custom download manager cannot be deleted"
msgstr ""
-#: .././config.py:26636
+#: .././config.py:27233
msgid "Are you sure you want to delete this custom download manager?"
msgstr ""
-#: .././config.py:26907
+#: .././config.py:27504
msgid "Are you sure you want to create a new database at this location?"
msgstr ""
-#: .././config.py:27014
+#: .././config.py:27611
msgid "Are you sure you want to forget this database?"
msgstr ""
-#: .././config.py:27049
+#: .././config.py:27646
msgid "Are you sure you want to forget all databases except the current one?"
msgstr ""
-#: .././config.py:27252
+#: .././config.py:27849
msgid "No database exists at this location:"
msgstr ""
-#: .././config.py:27254
+#: .././config.py:27851
msgid "Do you want to create a new one?"
msgstr ""
-#: .././config.py:27679
+#: .././config.py:28309
msgid "Select a Tartube database file"
msgstr ""
-#: .././config.py:27701
+#: .././config.py:28331
msgid "This file is not loadable (might be corrupted)"
msgstr ""
-#: .././config.py:27712
+#: .././config.py:28342
msgid "This file does is not compatible with Tartube"
msgstr ""
-#: .././config.py:27722
+#: .././config.py:28352
msgid "This file was loaded, but is empty"
msgstr ""
-#: .././config.py:28184
+#: .././config.py:28814
msgid "The current options manager cannot be deleted"
msgstr ""
-#: .././config.py:28192 .././config.py:29294
+#: .././config.py:28822 .././config.py:30033
msgid "Are you sure you want to delete this options manager?"
msgstr ""
-#: .././config.py:28366 .././config.py:28757 .././config.py:30763
+#: .././config.py:28996 .././config.py:29496 .././config.py:31502
msgid "The new setting will be applied when Tartube restarts"
msgstr ""
-#: .././config.py:29286
+#: .././config.py:30025
msgid "The default options manager cannot be deleted"
msgstr ""
-#: .././config.py:30351
+#: .././config.py:31090
msgid "There is already a scheduled download with that name"
msgstr ""
-#: .././config.py:30398
+#: .././config.py:31137
msgid "Are you sure you want to delete this scheduled download?"
msgstr ""
-#: .././config.py:30583
+#: .././config.py:31322
msgid "Select the location of the archive file"
msgstr ""
-#: .././config.py:30616
+#: .././config.py:31355
msgid "Please select the AVConv executable"
msgstr ""
-#: .././config.py:30649
+#: .././config.py:31388
msgid "Please select the FFmpeg executable"
msgstr ""
-#: .././config.py:30682
-msgid "Please select the Youtube Stream Capture executable"
+#: .././config.py:31421
+msgid "Please select the streamlink executable"
msgstr ""
-#: .././config.py:31702
+#: .././config.py:32462
msgid "Select the youtube-dl-compatible executable"
msgstr ""
-#: .././config.py:31946
+#: .././config.py:32618
msgid "Database file not loaded"
msgstr ""
-#: .././config.py:31966
+#: .././config.py:32638
msgid "Did not try to load the database file"
msgstr ""
-#: .././config.py:31991
+#: .././config.py:32663
msgid "Database file loaded"
msgstr ""
@@ -8417,9 +8572,9 @@ msgstr ""
msgid "All threads finished"
msgstr ""
-#: .././downloads.py:454 .././downloads.py:1287 .././downloads.py:1298
-#: .././downloads.py:1370 .././downloads.py:1455 .././downloads.py:1493
-#: .././downloads.py:1562
+#: .././downloads.py:454 .././downloads.py:1284 .././downloads.py:1295
+#: .././downloads.py:1367 .././downloads.py:1452 .././downloads.py:1490
+#: .././downloads.py:1578 .././downloads.py:1638
msgid "Thread #"
msgstr ""
@@ -8439,467 +8594,404 @@ msgstr ""
msgid "Join and collect threads"
msgstr ""
-#: .././downloads.py:1288
+#: .././downloads.py:1285
msgid "Job complete"
msgstr ""
-#: .././downloads.py:1299
+#: .././downloads.py:1296
msgid "Worker now available again"
msgstr ""
-#: .././downloads.py:1371 .././downloads.py:1494 .././downloads.py:1563
+#: .././downloads.py:1368 .././downloads.py:1491 .././downloads.py:1579
+#: .././downloads.py:1639
msgid "Assigned job:"
msgstr ""
-#: .././downloads.py:1408 .././downloads.py:1412
+#: .././downloads.py:1405 .././downloads.py:1409
msgid "Tartube is restarting a stalled download"
msgstr ""
-#: .././downloads.py:1456
+#: .././downloads.py:1453
msgid "Checking RSS feed"
msgstr ""
-#: .././downloads.py:2083
+#: .././downloads.py:2162
msgid "Cannot download videos in a private folder"
msgstr ""
-#: .././downloads.py:3361 .././downloads.py:8108
+#: .././downloads.py:3449 .././downloads.py:8393
msgid "Download did not start"
msgstr ""
-#: .././downloads.py:3367 .././downloads.py:8120 .././info.py:310
-#: .././updates.py:256 .././updates.py:368 .././updates.py:538
+#: .././downloads.py:3455 .././downloads.py:8399 .././info.py:310
+#: .././updates.py:261 .././updates.py:373 .././updates.py:486
+#: .././updates.py:656
msgid "Child process exited with non-zero code: {}"
msgstr ""
-#: .././downloads.py:3495 .././downloads.py:4751
+#: .././downloads.py:3583 .././downloads.py:4819
msgid ""
"This video has a URL that points to a channel or a playlist, not a video"
msgstr ""
-#: .././downloads.py:4617 .././downloads.py:4633
+#: .././downloads.py:4685 .././downloads.py:4701
msgid "Simulated download of:"
msgstr ""
-#: .././downloads.py:4641
+#: .././downloads.py:4709
msgid "Simulated download of video with unprintable characters"
msgstr ""
-#: .././downloads.py:6436
+#: .././downloads.py:6566
msgid "No timestamps defined in video's timestamp list"
msgstr ""
-#: .././downloads.py:6454
+#: .././downloads.py:6584
msgid ""
"FAILED: Can't create the destination folder either because a folder with the "
"same name already exists, or because new folders can't be added to the "
"parent folder"
msgstr ""
-#: .././downloads.py:6592 .././downloads.py:6854
+#: .././downloads.py:6722 .././downloads.py:6984
msgid "FAILED: Clip download did not start"
msgstr ""
-#: .././downloads.py:6600 .././downloads.py:6862
+#: .././downloads.py:6730 .././downloads.py:6992
msgid "FAILED: Child process exited with non-zero code: {}"
msgstr ""
-#: .././downloads.py:6707
+#: .././downloads.py:6837
msgid "No slices defined in video's slice list"
msgstr ""
-#: .././downloads.py:6886
+#: .././downloads.py:7016
msgid "FAILED: One or more clips were not downloaded"
msgstr ""
-#: .././downloads.py:6983
+#: .././downloads.py:7113
msgid "FAILED: Can't concatenate clips"
msgstr ""
-#: .././downloads.py:7004
+#: .././downloads.py:7134
msgid ""
"FAILED: Clips were concatenated, but could not move the output file out of "
"the temporary directory"
msgstr ""
-#: .././downloads.py:7124
+#: .././downloads.py:7254
msgid "Failed to copy the original video's thumbnail"
msgstr ""
-#: .././downloads.py:7297
+#: .././downloads.py:7427
msgid "FAILED: Can't create a temporary folder for video clips"
msgstr ""
-#. This object creates more messages for the Output tab and/or terminal,
-#. than downloads.VideoDownloader would do, as the output generated by
-#. Youtube Stream Capture is not easy for the user to interpret
-#: .././downloads.py:7999
-msgid "Tartube is starting the stream capture..."
-msgstr ""
-
-#: .././downloads.py:8017
-msgid "Could not create a destination directory, capture halted"
-msgstr ""
-
-#: .././downloads.py:8038 .././downloads.py:8063
-msgid "Youtube Stream Capture script not found:"
+#. There are currently three download methods, specified by self.dl_mode
+#: .././downloads.py:8152
+msgid "Tartube is starting the livestream download"
msgstr ""
-#: .././downloads.py:8112
-msgid "Failed to capture the livestream"
+#: .././downloads.py:8176
+msgid "Invalid livestream download mode"
msgstr ""
-#: .././downloads.py:8116
-msgid "Stream capture terminated"
-msgstr ""
-
-#: .././downloads.py:8126
+#: .././downloads.py:8225
msgid ""
-"Stream captured terminated without downloading any video segments "
-"(indicating an error with the stream)"
-msgstr ""
-
-#. Capture successful
-#: .././downloads.py:8142
-msgid "Stream capture successful"
-msgstr ""
-
-#. Show a confirmation message
-#: .././downloads.py:8169
-msgid "Merging file segments..."
-msgstr ""
-
-#: .././downloads.py:8189
-msgid "Segment merge did not start"
+"Incomplete livestream download detected; removing the .part component from "
+"the output file"
msgstr ""
-#: .././downloads.py:8200
-msgid "Segment merge completed, but path not detected"
-msgstr ""
-
-#: .././downloads.py:8210
-msgid "Segment merge completed, but output file not found"
+#: .././downloads.py:8240
+msgid ""
+"Incomplete livestream download detected; to complete the download, right-"
+"click the video and select 'Finalise livestream'"
msgstr ""
-#: .././downloads.py:8231
-msgid "File moved to:"
+#: .././downloads.py:8470 .././downloads.py:9007
+msgid "Failed to download the .m3u manifest"
msgstr ""
-#: .././downloads.py:8236
-msgid "Livestream download is complete"
+#: .././downloads.py:8900
+msgid "Downloaded the .m3u manifest, now downloading the livestream..."
msgstr ""
-#: .././downloads.py:8241
-msgid "Failed to move output file"
+#. ISO 639-1 Language Codes (with one extra key-value pair to handle live
+#. chat)
+#. English is top of the list, because it's the default setting in
+#. options.OptionsManager
+#. NB These values must not contain square brackets [...]
+#: .././formats.py:79
+msgid "English"
msgstr ""
-#: .././downloads.py:8307
-#, python-brace-format
-msgid "Stream capture is frozen, trying again (restart #{0})"
+#: .././formats.py:121
+msgid "Dutch"
msgstr ""
-#: .././downloads.py:8314
-msgid "Stream capture is frozen, giving up"
+#: .././formats.py:171
+msgid "Korean"
msgstr ""
-#: .././formats.py:72
+#: .././formats.py:441
msgid "seconds"
msgstr ""
-#: .././formats.py:73
+#: .././formats.py:442
msgid "minutes"
msgstr ""
-#: .././formats.py:74
+#: .././formats.py:443
msgid "hours"
msgstr ""
-#: .././formats.py:75
-msgid "days"
-msgstr ""
-
-#: .././formats.py:76
+#: .././formats.py:445
msgid "weeks"
msgstr ""
-#: .././formats.py:77
+#: .././formats.py:446
msgid "years"
msgstr ""
-#: .././formats.py:94
+#: .././formats.py:463
msgid "Every day"
msgstr ""
-#: .././formats.py:95
+#: .././formats.py:464
msgid "Weekdays"
msgstr ""
-#: .././formats.py:96
+#: .././formats.py:465
msgid "Weekends"
msgstr ""
-#: .././formats.py:97
+#: .././formats.py:466
msgid "Monday"
msgstr ""
-#: .././formats.py:98
+#: .././formats.py:467
msgid "Tuesday"
msgstr ""
-#: .././formats.py:99
+#: .././formats.py:468
msgid "Wednesday"
msgstr ""
-#: .././formats.py:100
+#: .././formats.py:469
msgid "Thursday"
msgstr ""
-#: .././formats.py:101
+#: .././formats.py:470
msgid "Friday"
msgstr ""
-#: .././formats.py:102
+#: .././formats.py:471
msgid "Saturday"
msgstr ""
-#: .././formats.py:103
+#: .././formats.py:472
msgid "Sunday"
msgstr ""
-#. ISO 639-1 Language Codes (with one extra key-value pair to handle live
-#. chat)
-#. English is top of the list, because it's the default setting in
-#. options.OptionsManager
-#. NB These values must not contain square brackets [...]
-#: .././formats.py:425
-msgid "English"
-msgstr ""
-
-#: .././formats.py:467
-msgid "Dutch"
-msgstr ""
-
-#: .././formats.py:517
-msgid "Korean"
-msgstr ""
-
#. System folder names
-#: .././formats.py:934
+#: .././formats.py:1122
msgid "All Videos"
msgstr ""
-#: .././formats.py:935
+#: .././formats.py:1123
msgid "Bookmarks"
msgstr ""
-#: .././formats.py:936
+#: .././formats.py:1124
msgid "Favourite Videos"
msgstr ""
-#: .././formats.py:937
+#: .././formats.py:1125
msgid "Livestreams"
msgstr ""
-#: .././formats.py:938
+#: .././formats.py:1126
msgid "Missing Videos"
msgstr ""
-#: .././formats.py:939
+#: .././formats.py:1127
msgid "New Videos"
msgstr ""
-#: .././formats.py:940
+#: .././formats.py:1128
msgid "Recent Videos"
msgstr ""
-#: .././formats.py:941
+#: .././formats.py:1129
msgid "Waiting Videos"
msgstr ""
-#: .././formats.py:942
+#: .././formats.py:1130
msgid "Temporary Videos"
msgstr ""
-#: .././formats.py:943
+#: .././formats.py:1131
msgid "Unsorted Videos"
msgstr ""
-#: .././formats.py:944
+#: .././formats.py:1132
msgid "Video Clips"
msgstr ""
-#: .././formats.py:949
+#: .././formats.py:1137
msgid "Update using default youtube-dl path"
msgstr ""
-#: .././formats.py:951
+#: .././formats.py:1139
msgid "Update using local youtube-dl path"
msgstr ""
-#: .././formats.py:953
+#: .././formats.py:1141
msgid "Update using custom youtube-dl path"
msgstr ""
-#: .././formats.py:955
+#: .././formats.py:1143
msgid "Update using pip"
msgstr ""
-#: .././formats.py:957
+#: .././formats.py:1145
msgid "Update using pip (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:959
+#: .././formats.py:1147
msgid "Update using pip (omit --user option)"
msgstr ""
-#: .././formats.py:961
+#: .././formats.py:1149
msgid "Update using pip3"
msgstr ""
-#: .././formats.py:963
+#: .././formats.py:1151
msgid "Update using pip3 (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:965
+#: .././formats.py:1153
msgid "Update using pip3 (omit --user option)"
msgstr ""
-#: .././formats.py:967
+#: .././formats.py:1155
msgid "Update using pip3 (recommended)"
msgstr ""
-#: .././formats.py:969
+#: .././formats.py:1157
msgid "Update using PyPI youtube-dl path"
msgstr ""
-#: .././formats.py:971
+#: .././formats.py:1159
msgid "Windows 32-bit update (recommended)"
msgstr ""
-#: .././formats.py:973
+#: .././formats.py:1161
msgid "Windows 32-bit update (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:975
+#: .././formats.py:1163
msgid "Windows 64-bit update (recommended)"
msgstr ""
-#: .././formats.py:977
+#: .././formats.py:1165
msgid "Windows 64-bit update (use --no-dependencies option)"
msgstr ""
-#: .././formats.py:979
+#: .././formats.py:1167
msgid "youtube-dl updates are disabled"
msgstr ""
#. Download operation stages
-#: .././formats.py:983
+#: .././formats.py:1171
msgid "Queued"
msgstr ""
-#: .././formats.py:984
+#: .././formats.py:1172
msgid "Not started"
msgstr ""
-#: .././formats.py:985
+#: .././formats.py:1173
msgid "Active"
msgstr ""
-#: .././formats.py:986
+#: .././formats.py:1174
msgid "Paused"
msgstr ""
#. (not actually used)
-#: .././formats.py:987
+#: .././formats.py:1175
msgid "Completed"
msgstr ""
#. (not actually used)
#. Sub-stages of the 'Error' stage
-#: .././formats.py:988 .././formats.py:1003
+#: .././formats.py:1176 .././formats.py:1189
msgid "Error"
msgstr ""
-#: .././formats.py:989
+#: .././formats.py:1177
msgid "Stalled"
msgstr ""
#. Sub-stages of the 'Active' stage
-#: .././formats.py:991
+#: .././formats.py:1179
msgid "Pre-processing"
msgstr ""
-#: .././formats.py:992
-msgid "Downloading"
-msgstr ""
-
-#: .././formats.py:993
+#: .././formats.py:1181
msgid "Concatenating"
msgstr ""
-#: .././formats.py:994
+#: .././formats.py:1182
msgid "Post-processing"
msgstr ""
-#: .././formats.py:995
-msgid "Capturing"
-msgstr ""
-
-#. Used by YTSC
-#: .././formats.py:996
-msgid "Merging"
-msgstr ""
-
-#. Used by YTSC
-#: .././formats.py:997
-msgid "Checking"
-msgstr ""
-
#. Sub-stages of the 'Completed' stage
-#: .././formats.py:999
+#: .././formats.py:1185
msgid "Finished"
msgstr ""
-#: .././formats.py:1000
+#: .././formats.py:1186
msgid "Warning"
msgstr ""
-#: .././formats.py:1001
+#: .././formats.py:1187
msgid "Already downloaded"
msgstr ""
#. (not actually used)
-#: .././formats.py:1004
+#: .././formats.py:1190
msgid "Stopped"
msgstr ""
-#: .././formats.py:1005
+#: .././formats.py:1191
msgid "Filesize abort"
msgstr ""
-#: .././formats.py:1015
+#: .././formats.py:1201
msgid ""
"TRANSLATOR'S NOTE: ID refers to a video's unique ID on the website, e.g. on "
"YouTube \"CS9OO0S5w2k\""
msgstr ""
-#: .././formats.py:1024
+#: .././formats.py:1210
msgid "ID"
msgstr ""
-#: .././formats.py:1025
+#: .././formats.py:1211
msgid "Title"
msgstr ""
-#: .././formats.py:1026
+#: .././formats.py:1212
msgid "Quality"
msgstr ""
-#: .././formats.py:1027
+#: .././formats.py:1213
msgid "Autonumber"
msgstr ""
-#: .././formats.py:1039
+#: .././formats.py:1225
msgid "Any format"
msgstr ""
@@ -8951,7 +9043,7 @@ msgstr ""
#. (The code in self.run() will spot that the child process did not
#. start)
-#: .././info.py:493 .././updates.py:194
+#: .././info.py:493 .././updates.py:199
msgid "Child process did not start"
msgstr ""
@@ -8977,7 +9069,7 @@ msgstr ""
#. When the download operation is launched from the Classic Mode
#. tab, there is less to display
-#: .././media.py:553 .././media.py:2126 .././media.py:2142
+#: .././media.py:553 .././media.py:2118 .././media.py:2134
msgid "Source:"
msgstr ""
@@ -8993,53 +9085,53 @@ msgstr ""
msgid "unavailable"
msgstr ""
-#: .././media.py:591 .././media.py:2158
+#: .././media.py:591 .././media.py:2150
msgid "Errors\\Warnings"
msgstr ""
-#: .././media.py:2092
+#: .././media.py:2084
msgid ""
"TRANSLATOR'S NOTE: WAITING = livestream not started, LIVE = livestream "
"started"
msgstr ""
-#: .././media.py:2097
+#: .././media.py:2089
msgid "WAITING"
msgstr ""
-#: .././media.py:2099
+#: .././media.py:2091
msgid "LIVE"
msgstr ""
-#: .././media.py:2104
+#: .././media.py:2096
msgid "BLOCKED"
msgstr ""
-#: .././media.py:2114 .././refresh.py:258 .././refresh.py:528
+#: .././media.py:2106 .././refresh.py:258 .././refresh.py:528
msgid "Channel:"
msgstr ""
-#: .././media.py:2116 .././refresh.py:260 .././refresh.py:530
+#: .././media.py:2108 .././refresh.py:260 .././refresh.py:530
msgid "Playlist:"
msgstr ""
-#: .././media.py:2118 .././refresh.py:262 .././refresh.py:532
+#: .././media.py:2110 .././refresh.py:262 .././refresh.py:532
msgid "Folder:"
msgstr ""
-#: .././media.py:2123
+#: .././media.py:2115
msgid "TRANSLATOR'S NOTE 2: Source = video/channel/playlist URL"
msgstr ""
-#: .././media.py:2132 .././media.py:2149
+#: .././media.py:2124 .././media.py:2141
msgid "File:"
msgstr ""
-#: .././media.py:3313 .././media.py:3374
+#: .././media.py:3305 .././media.py:3366
msgid "Today"
msgstr ""
-#: .././media.py:3315 .././media.py:3376
+#: .././media.py:3307 .././media.py:3368
msgid "Yesterday"
msgstr ""
@@ -9270,31 +9362,40 @@ msgstr ""
msgid "Video file doesn't exist:"
msgstr ""
-#: .././updates.py:212
+#: .././updates.py:217
msgid "Starting update operation, installing FFmpeg"
msgstr ""
-#: .././updates.py:252
+#: .././updates.py:257
msgid "FFmpeg installation did not start"
msgstr ""
#. Show a confirmation in the the Output tab (or wizard window textview)
-#: .././updates.py:267 .././updates.py:379 .././updates.py:551
+#: .././updates.py:272 .././updates.py:384 .././updates.py:497
+#: .././updates.py:669
msgid "Update operation finished"
msgstr ""
-#: .././updates.py:324
+#: .././updates.py:329
msgid "Starting update operation, installing matplotlib"
msgstr ""
-#: .././updates.py:364
+#: .././updates.py:369
msgid "matplotlib installation did not start"
msgstr ""
-#: .././updates.py:438
+#: .././updates.py:442
+msgid "Starting update operation, installing streamlink"
+msgstr ""
+
+#: .././updates.py:482
+msgid "streamlink installation did not start"
+msgstr ""
+
+#: .././updates.py:556
msgid "Starting update operation, installing/updating "
msgstr ""
-#: .././updates.py:531
+#: .././updates.py:649
msgid "Update did not start"
msgstr ""
diff --git a/tartube/tartube b/tartube/tartube
index 74f7a66f..514de890 100644
--- a/tartube/tartube
+++ b/tartube/tartube
@@ -42,8 +42,8 @@ import mainapp
# 'Global' variables
__packagename__ = 'tartube'
-__version__ = '2.3.613'
-__date__ = '20 Apr 2022'
+__version__ = '2.4.0'
+__date__ = '21 Apr 2022'
__copyright__ = 'Copyright \xa9 2019-2022 A S Lewis'
__license__ = """
Copyright \xa9 2019-2022 A S Lewis.
diff --git a/tartube/utils.py b/tartube/utils.py
index 43862e7e..8d94342f 100644
--- a/tartube/utils.py
+++ b/tartube/utils.py
@@ -828,6 +828,39 @@ def compile_mini_options_dict(options_manager_obj):
return mini_options_dict
+def convert_bytes_to_string(num_bytes):
+
+ """Can be called by anything.
+
+ Uses formats.FILESIZE_METRIC_DICT to convert an arbitrary integer, in
+ bytes, into a readable string like '27.5 MiB'.
+
+ Based on code from https://stackoverflow.com/questions/12523586/
+ python-format-size-application-converting-b-to-kb-mb-gb-tb
+
+ Args:
+
+ num_bytes (int): An integer, 0 or above
+
+ Return values:
+
+ A string formatted to 1dp
+
+ """
+
+ unit_step = 1024
+ unit_step_thresh = unit_step - 0.05
+ last_label = formats.FILESIZE_METRIC_LIST[-1]
+
+ for unit in formats.FILESIZE_METRIC_LIST:
+ if num_bytes < unit_step_thresh:
+ break
+ if unit != last_label:
+ num_bytes /= unit_step
+
+ return '{:.1f} {}'.format(num_bytes, unit)
+
+
def convert_enhanced_template_from_json(convert_type, enhanced_name, \
json_dict):
@@ -2797,6 +2830,8 @@ def generate_streamlink_system_cmd(app_obj, media_data_obj, path):
streamlink_path,
'--hls-live-restart',
'--force', # Streamlink has no option to resume old stream
+ '--stream-timeout',
+ str(app_obj.livestream_dl_timeout * 60),
'-o',
path,
media_data_obj.source,