From bc49f081c6a264e6c0363f116709f7adcc2655ad Mon Sep 17 00:00:00 2001 From: daniilPosohov Date: Fri, 6 Dec 2024 08:33:14 +0000 Subject: [PATCH 01/73] Translated using Weblate (Russian) Currently translated at 99.5% (877 of 881 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/ru/ --- static/locales/ru.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/static/locales/ru.yaml b/static/locales/ru.yaml index ffbb1f3e54b86..a238456d1ebd6 100644 --- a/static/locales/ru.yaml +++ b/static/locales/ru.yaml @@ -297,6 +297,8 @@ Settings: Auto Load Next Page: Label: Авто-загрузка следующей страницы Tooltip: Автоматическая загрузка дополнительных страниц и комментариев. + Open Deep Links In New Window: Открыть URL-адреса, переданные в FreeTube, в новом + окне Theme Settings: Theme Settings: 'Внешний вид' Match Top Bar with Main Color: 'Использовать основной цвет к верхней панели' @@ -870,6 +872,9 @@ Video: AgeRestricted: Видео с возрастными ограничениями нельзя смотреть через FreeTube, так как для этого требуется вход в Google и использование подтвержденной учетной записи YouTube. + DeArrow: + Show Original Details: Показать стандартные свойства + Show Modified Details: Показать модифицированные свойства Videos: #& Sort By Sort By: @@ -1200,3 +1205,4 @@ Keys: arrowleft: Стрелка влево arrowright: Стрелка вправо arrowup: Стрелка вверх +Right-click or hold to see history: ПКМ или зажми для просмотра истории From 95e13b5827ed5e590598f7324291ba92f3a5f170 Mon Sep 17 00:00:00 2001 From: OothecaPickle Date: Fri, 6 Dec 2024 02:44:55 -0800 Subject: [PATCH 02/73] show precise view count for videos on the search results page (#6284) --- src/renderer/helpers/api/local.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/helpers/api/local.js b/src/renderer/helpers/api/local.js index 8a72ced59eb73..af83d531b8a55 100644 --- a/src/renderer/helpers/api/local.js +++ b/src/renderer/helpers/api/local.js @@ -1131,7 +1131,7 @@ export function parseLocalListVideo(item) { author: video.author.name, authorId: video.author.id, description: video.description, - viewCount: isNaN(video.view_count) ? (video.short_view_count.text == null ? null : parseLocalSubscriberCount(video.short_view_count.text)) : extractNumberFromString(video.view_count.text), + viewCount: video.view_count == null ? (video.short_view_count.text == null ? null : parseLocalSubscriberCount(video.short_view_count.text)) : extractNumberFromString(video.view_count.text), published, lengthSeconds: isNaN(video.duration.seconds) ? '' : video.duration.seconds, liveNow: video.is_live, From e10c3f9b65a329cbe404269e229ba6340df3472b Mon Sep 17 00:00:00 2001 From: WaldiS Date: Fri, 6 Dec 2024 12:41:08 +0000 Subject: [PATCH 03/73] Translated using Weblate (Polish) Currently translated at 100.0% (881 of 881 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/pl/ --- static/locales/pl.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/static/locales/pl.yaml b/static/locales/pl.yaml index 6cc0b393c5f36..3b5bf76f8b6e6 100644 --- a/static/locales/pl.yaml +++ b/static/locales/pl.yaml @@ -884,6 +884,9 @@ Video: MembersOnly: Filmy tylko dla wspierających nie mogą być odtwarzane przez FreeTube, ponieważ wymagają danych logowania do konta Googla oraz płatną subskrypcje kanału. Unlisted: Niepubliczny + DeArrow: + Show Original Details: Pokaż szczegóły oryginału + Show Modified Details: Pokaż zmodyfikowane szczegóły Videos: #& Sort By Sort By: @@ -1215,4 +1218,8 @@ Keys: arrowright: Strzałka w prawo arrowleft: Strzałka w lewo arrowdown: Strzałka w dół + alt: Alt + ctrl: Ctrl Right-click or hold to see history: Kliknij prawym lub przytrzymaj, by zobaczyć historię +shortcutJoinOperator: + +KeyboardShortcutTemplate: '{label} ({shortcut})' From 20c4978a687c246fd3ad9d9bbaf4e70caac01c85 Mon Sep 17 00:00:00 2001 From: Bezruchenko Simon Date: Fri, 6 Dec 2024 12:25:12 +0000 Subject: [PATCH 04/73] Translated using Weblate (Ukrainian) Currently translated at 80.9% (713 of 881 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/uk/ --- static/locales/uk.yaml | 87 +++++++++++++++++++++++++++++++++--------- 1 file changed, 69 insertions(+), 18 deletions(-) diff --git a/static/locales/uk.yaml b/static/locales/uk.yaml index 7246060c7b1dd..83f7b24b2e07e 100644 --- a/static/locales/uk.yaml +++ b/static/locales/uk.yaml @@ -101,6 +101,7 @@ Search Filters: HDR: HDR VR180: VR180 3D: 3D + Creative Commons: Творчі Спільноти Subscriptions: # On Subscriptions Page Subscriptions: 'Підписки' @@ -109,9 +110,9 @@ Subscriptions: профіль має велику кількість підписок. Використайте RSS щоб уникнути обмеження швидкості' 'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'Ваш - список підписок наразі порожній. Якщо ви хочете імпортувати свої підписки, ви - можете перейти до Налаштувань Даних і вибрати Імпортувати Підписки або знайти - канал і підписатися на нього.' + список підписок наразі порожній. Якщо ви хочете імпортувати свої підписки, перейдіть + до налаштувань даних і виберіть "Імпортувати підписки", або ви можете знайти канал + і підписатися на нього.' 'Getting Subscriptions. Please wait.': 'Отримання Підписок. Будь ласка, зачекайте.' Refresh Subscriptions: 'Оновити Підписки' Load More Videos: 'Завантажити більше відео' @@ -132,10 +133,10 @@ Trending: Music: Музика Default: Типово Most Popular: 'Найпопулярніші' -Playlists: 'Списки відтворення' +Playlists: 'Добірки' User Playlists: - Your Playlists: 'Ваші списки відтворення' - Search bar placeholder: Шукати у добірці + Your Playlists: 'Ваші добірки' + Search bar placeholder: Шукати добірки Empty Search Message: Немає відео в цій добірці, які відповідають вашому запиту Create New Playlist: Створити новий список відтворення Add to Playlist: Додати список відтворення @@ -156,6 +157,53 @@ User Playlists: Playlist Name: Назва списку відтворення Edit Playlist Info: Змінити інформацію списку відтворення Remove Watched Videos: Вилучити з переглянутих відео + Delete Playlist: Видалити добірку + Sort By: + Sort By: Сортувати за + LatestPlayedFirst: Нещодавно переглянуті + EarliestPlayedFirst: Найдавніше переглянуті + NameAscending: А-Я + LatestCreatedFirst: Нещодавно створено + EarliestCreatedFirst: Створено найраніше + NameDescending: Я-А + EarliestUpdatedFirst: Найстаріші оновлення + LatestUpdatedFirst: Останні оновлення + SinglePlaylistView: + Toast: + This playlist is now used for quick bookmark: Ця добірка тепер використовується + для швидких закладок + This playlist is now used for quick bookmark instead of {oldPlaylistName}. Click here to undo: Ця + добірка тепер використовується для швидких закладок замість {oldPlaylistName}. + Натисніть тут, щоб скасувати + This video cannot be moved up.: Це відео не можна перемістити вгору. + This video cannot be moved down.: Це відео не можна перемістити вниз. + Video has been removed: Відео було видалено + This playlist is already being used for quick bookmark.: Ця добірка вже використовується + для швидких закладок. + There was a problem with removing this video: Сталася помилка під час видалення + цього відео + Reverted to use {oldPlaylistName} for quick bookmark: Повернуто до використання + {oldPlaylistName} для швидких закладок. + Search for Videos: Пошук відео + The playlist has been successfully exported: Добірку успішно експортовано + Export Playlist: Експортувати цю добірку + Are you sure you want to remove {playlistItemCount} watched videos from this playlist? This cannot be undone: Ви + впевнені, що хочете видалити 1 переглянуте відео з цієї добірки? Цю дію не можна + скасувати. | Ви впевнені, що хочете видалити {playlistItemCount} переглянутих + відео з цієї добірки? Цю дію не можна скасувати. + Are you sure you want to remove {playlistItemCount} duplicate videos from this playlist? This cannot be undone: Ви + впевнені, що хочете видалити 1 дубльоване відео з цієї добірки? Цю дію не можна + скасувати. | Ви впевнені, що хочете видалити {playlistItemCount} дубльованих відео + з цієї добірки? Цю дію не можна скасувати. + Are you sure you want to delete this playlist? This cannot be undone: Ви впевнені, + що хочете видалити цю добірку? Це неможливо скасувати. + Enable Quick Bookmark With This Playlist: Увімкнути швидке додавання в закладки + для цієї добірки + Quick Bookmark Enabled: Швидке додавання в закладки увімкнено + Cannot delete the quick bookmark target playlist.: Неможливо видалити добірку швидких + закладок. + Playlists with Matching Videos: Добірки з відповідними відео + Remove Duplicate Videos: Видалити дублікати відео History: # On History Page History: 'Історія' @@ -362,7 +410,7 @@ Settings: Hide Popular Videos: 'Не показувати популярні відео' Hide Live Chat: 'Не показувати живий чат' Hide Active Subscriptions: Сховати активні підписки - Hide Playlists: Сховати списки відтворення + Hide Playlists: Сховати добірки Hide Video Description: Сховати опис відео Hide Comments: Сховати коментарі Hide Sharing Actions: Сховати дії поширення @@ -374,7 +422,7 @@ Settings: Display Titles Without Excessive Capitalisation: Показувати заголовки без надмірно великих літер Hide Featured Channels: Сховати пропоновані канали - Hide Channel Playlists: Сховати списки відтворення каналу + Hide Channel Playlists: Сховати добірки каналу Hide Channel Community: Сховати спільноту каналу Hide Channel Shorts: Сховати Shorts каналу Sections: @@ -429,10 +477,10 @@ Settings: Manage Subscriptions: Керування підписками Playlist insufficient data: Недостатньо даних для списку відтворення "{playlist}", пропуск елемента - All playlists has been successfully exported: Усі списки відтворення успішно експортовано + All playlists has been successfully exported: Усі добірки успішно експортовано Import Playlists: Імпорт добірок Export Playlists: Експорт добірок - All playlists has been successfully imported: Усі списки відтворення успішно імпортовано + All playlists has been successfully imported: Усі добірки успішно імпортовано Playlist File: Файл списку відтворення Subscription File: Файл підписки History File: Файл історії @@ -505,7 +553,7 @@ Settings: Set Password To Prevent Access: Встановіть пароль, щоб запобігти доступу до налаштувань About: #On About page - About: 'Про' + About: 'Про додаток' #& About Donate: Підтримати these people and projects: цим людям та проєктам @@ -597,14 +645,14 @@ Channel: Oldest: 'Найдавніші' Most Popular: 'Найпопулярніші' Playlists: - Playlists: 'Списки відтворення' + Playlists: 'Добірки' This channel does not currently have any playlists: 'Цей канал наразі не має добірок' Sort Types: Last Video Added: 'Останнє додане відео' Newest: 'Найновіші' Oldest: 'Найдавніші' About: - About: 'Про' + About: 'Про канал' Channel Description: 'Опис каналу' Featured Channels: 'Рекомендовані канали' Tags: @@ -857,9 +905,9 @@ Tooltips: Replace HTTP Cache: Вимикає дисковий HTTP-кеш Electron і вмикає власний кеш зображень у пам'яті. Призведе до збільшення використання оперативної пам'яті. Distraction Free Settings: - Hide Channels: Введіть ID, щоб сховати всі відео, списки відтворення та сам канал - від появи в пошуку, тренді, найпопулярніших і рекомендованих. Введений ID каналу - повинен повністю збігатися і чутливий до регістру. + Hide Channels: Введіть ID, щоб сховати всі відео, добірки та сам канал від появи + в пошуку, тренді, найпопулярніших і рекомендованих. Введений ID каналу повинен + повністю збігатися і чутливий до регістру. Hide Subscriptions Live: Цей параметр перевизначається загальнодоступним налаштуванням "{appWideSetting}" у розділі "{subsection}" "{settingsSection}" SponsorBlock Settings: @@ -939,9 +987,10 @@ Channel Hidden: '{channel} додано до фільтра каналу' Go to page: Перейти до {page} Channel Unhidden: '{channel} вилучено з фільтра каналу' Close Banner: Закрити банер -Search character limit: Пошуковий запит перевищив ліміт у {searchCharacterLimit} символів +Search character limit: Запит перевищує ліміт у {searchCharacterLimit} символів Feed: Refresh Feed: Оновити {subscriptionName} + Feed Last Updated: 'Останнє оновлення фіда {feedName}: {date}' Search Listing: Label: 4K: 4K @@ -949,5 +998,7 @@ Search Listing: 8K: 8K VR180: VR180 360 Video: 360° - New: New + New: Новинка 3D: 3D + Closed Captions: Закриті субтитри +Right-click or hold to see history: ПКМ або утримуйте для перегляду історії From a4a382901250c712fc6901eddbe388e0a1d54ebf Mon Sep 17 00:00:00 2001 From: Ettore Atalan Date: Fri, 6 Dec 2024 14:43:30 +0000 Subject: [PATCH 05/73] Translated using Weblate (German) Currently translated at 100.0% (881 of 881 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/de/ --- static/locales/de-DE.yaml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/static/locales/de-DE.yaml b/static/locales/de-DE.yaml index 2c6ac4491722a..f20eebce3c9aa 100644 --- a/static/locales/de-DE.yaml +++ b/static/locales/de-DE.yaml @@ -272,8 +272,8 @@ Settings: Settings: Einstellungen General Settings: General Settings: Allgemein - Fallback to Non-Preferred Backend on Failure: Zum nicht bevorzugten Backend System - bei Fehlschlag zurückkehren + Fallback to Non-Preferred Backend on Failure: Bei Ausfall auf nicht bevorzugtes + Backend zurückgreifen Enable Search Suggestions: Suchvorschläge aktivieren Default Landing Page: Standard Startseite @@ -317,8 +317,8 @@ Settings: Auto Load Next Page: Label: Nächste Seite automatisch laden Tooltip: Zusätzliche Seiten und Kommentare automatisch laden. - Open Deep Links In New Window: URLs die an FreeTube übergeben werden in einem - neuen Fenster öffnen + Open Deep Links In New Window: An FreeTube übergebene URLs in einem neuen Fenster + öffnen Theme Settings: Theme Settings: Farbschema Match Top Bar with Main Color: Obere Leiste an Hauptfarbe anpassen @@ -626,7 +626,7 @@ Settings: Do Nothing: Nichts tun Category Color: Kategoriefarbe UseDeArrowTitles: DeArrow-Videotitel verwenden - UseDeArrowThumbnails: DeArrow für Thumbnails verwenden + UseDeArrowThumbnails: DeArrow für Miniaturansichten verwenden 'DeArrow Thumbnail Generator API Url (Default is https://dearrow-thumb.ajay.app)': DeArrow Thumbnail Generator API URL (Standard ist https://dearrow-thumb.ajay.app) External Player Settings: @@ -639,7 +639,7 @@ Settings: Players: None: Name: Keine - Ignore Default Arguments: Standardargument ignorieren + Ignore Default Arguments: Standardargumente ignorieren Download Settings: Download Settings: Herunterladen Ask Download Path: Nach dem Herunterladepfad fragen @@ -669,7 +669,7 @@ Settings: Set Password To Prevent Access: Passwort festlegen, um den Zugriff auf die Einstellungen zu verhindern Set Password: Passwort festlegen - Sort Settings Sections (A-Z): Die Einstellungen von A bis Z sortieren + Sort Settings Sections (A-Z): Einstellungsabschnitte sortieren (A-Z) Return to Settings Menu: Zurück zum Einstellungsmenü About: #On About page @@ -886,7 +886,7 @@ Video: CodecsVideoAudioNoItags: 'Codecs: {videoCodec} / {audioCodec}' You appear to be offline: Sie scheinen offline zu sein. Playback will resume automatically when your connection comes back: Die Wiedergabe - startet automatisch, sobald deine Verbindung wieder da ist. + wird automatisch fortgesetzt, wenn deine Verbindung wiederhergestellt ist. Skipped segment: 'Segment {segmentCategory} übersprungen' TranslatedCaptionTemplate: '{language} (übersetzt von {originalLanguage})' Exit Full Window: Vollständiges Fenster beenden @@ -1149,7 +1149,8 @@ Tooltips: SponsorBlock Settings: UseDeArrowTitles: Videotitel durch von Benutzern eingereichte Titel von DeArrow ersetzen. - UseDeArrowThumbnails: Video-Thumbnails durch Thumbnails von DeArrow ersetzen. + UseDeArrowThumbnails: Video-Miniaturansichten durch Miniaturansichten von DeArrow + ersetzen. Playing Next Video Interval: Nächstes Video wird sofort abgespielt. Zum Abbrechen klicken. | Nächstes Video wird in {nextVideoInterval} Sekunden abgespielt. Zum Abbrechen klicken. | Nächstes Video wird in {nextVideoInterval} Sekunden abgespielt. Zum Abbrechen @@ -1246,4 +1247,5 @@ Keys: arrowright: Pfeil nach rechts KeyboardShortcutTemplate: '{label} ({shortcut})' shortcutJoinOperator: + -Right-click or hold to see history: Rechtsklicken oder halten um den Verlauf zu sehen +Right-click or hold to see history: Mit der rechten Maustaste klicken oder halten, + um den Verlauf zu sehen From 44b12e6faece0ba7847825e186b73d21aeaf47d0 Mon Sep 17 00:00:00 2001 From: Bezruchenko Simon Date: Fri, 6 Dec 2024 14:44:40 +0000 Subject: [PATCH 06/73] Translated using Weblate (Ukrainian) Currently translated at 90.8% (800 of 881 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/uk/ --- static/locales/uk.yaml | 146 +++++++++++++++++++++++++++++++++++------ 1 file changed, 126 insertions(+), 20 deletions(-) diff --git a/static/locales/uk.yaml b/static/locales/uk.yaml index 83f7b24b2e07e..4252d49410690 100644 --- a/static/locales/uk.yaml +++ b/static/locales/uk.yaml @@ -183,7 +183,26 @@ User Playlists: There was a problem with removing this video: Сталася помилка під час видалення цього відео Reverted to use {oldPlaylistName} for quick bookmark: Повернуто до використання - {oldPlaylistName} для швидких закладок. + {oldPlaylistName} для швидких закладок + This playlist is protected and cannot be removed.: Цю добірку захищено, тому + її не можна видалити. + "{videoCount} video(s) have been removed": 1 відео було видалено | {videoCount} + відео було видалено + Playlist {playlistName} has been deleted.: Добірку {playlistName} було видалено. + This playlist does not exist: Ця добірка не існує + This playlist has a video with a duration error: Ця добірка містить принаймні + одне відео, яке не має тривалості, тому воно буде відсортоване так, ніби його + тривалість дорівнює нулю. + Some videos in the playlist are not loaded yet. Click here to copy anyway.: Деякі + відео в добірці ще не завантажено. Натисніть тут, щоб все одно скопіювати. + Playlist name cannot be empty. Please input a name.: Назва добірки не може бути + порожньою. Будь ласка, введіть назву. + Playlist has been updated.: Добірка була оновлена. + There was an issue with updating this playlist.: Сталася помилка при оновленні + цієї добірки. + There were no videos to remove.: Відео для видалення не знайдено. + Playlist {playlistName} is the new quick bookmark playlist.: Добірка {playlistName} + тепер є новою швидкою закладкою. Search for Videos: Пошук відео The playlist has been successfully exported: Добірку успішно експортовано Export Playlist: Експортувати цю добірку @@ -204,13 +223,43 @@ User Playlists: закладок. Playlists with Matching Videos: Добірки з відповідними відео Remove Duplicate Videos: Видалити дублікати відео + AddVideoPrompt: + Save: Зберегти + Search in Playlists: Пошук в добірках + Allow Adding Duplicate Video(s): Дозволити додавати дублікатів відео + Added {count} Times: Вже додано | Додано {count} разів + "{videoCount}/{totalVideoCount} Videos Will Be Added": '{videoCount}/{totalVideoCount} + Відео буде додано' + "{videoCount}/{totalVideoCount} Videos Already Added": '{videoCount}/{totalVideoCount} + Відео вже додано' + Toast: + "{videoCount} video(s) added to 1 playlist": 1 відео додано до 1 добірки | {videoCount} + відео додано до 1 добірки + "{videoCount} video(s) added to {playlistCount} playlists": 1 відео додано до + {playlistCount} добірок | {videoCount} відео додано до {playlistCount} добірок + You haven't selected any playlist yet.: Ви ще не вибрали жодної добірки. + N playlists selected: '{playlistCount} вибрано' + Select a playlist to add your N videos to: Виберіть добірку, до якої ви хочете + додати своє відео | Виберіть добірку, до якої ви хочете додати свої {videoCount} + відео + CreatePlaylistPrompt: + Create: Створити + Toast: + Playlist {playlistName} has been successfully created.: Добірку {playlistName} + успішно створено. + There was an issue with creating the playlist.: Сталася помилка під час створення + добірки. + There is already a playlist with this name. Please pick a different name.: Вже + існує добірка з такою назвою. Будь ласка, виберіть іншу назву. + New Playlist Name: Нова назва добірки History: # On History Page History: 'Історія' Watch History: 'Історія переглядів' Your history list is currently empty.: 'Ваша історія переглядів на разі порожня.' Search bar placeholder: Шукати в історії - Empty Search Message: Немає відео в історії, які відповідають вашому запиту + Empty Search Message: У вашій історії немає відео, що відповідають вашому пошуку + Case Sensitive Search: Пошук з урахуванням регістру Settings: # On Settings Page Settings: 'Налаштування' @@ -218,7 +267,7 @@ Settings: зміни набули чинності, необхідно перезавантижити застосунок. Перезавантажити та застосувати зміни?' General Settings: - General Settings: 'Загальні налаштування' + General Settings: 'Загальні' Check for Updates: 'Перевірити наявність оновлень' Check for Latest Blog Posts: 'Перевірити останні повідомлення в блозі' Fallback to Non-Preferred Backend on Failure: 'Коли у вашого головного API виникає @@ -261,8 +310,13 @@ Settings: Ask Before Opening Link: Запитувати, перш ніж відкрити посилання Open Link: Відкрити посилання External Link Handling: Обробка зовнішніх посилань + Auto Load Next Page: + Label: Автозавантаження наступної сторінки + Tooltip: Автоматично завантажувати додаткові сторінки та коментарі. + Open Deep Links In New Window: Відкривати URL-адреси, передані в FreeTube, в новому + вікні Theme Settings: - Theme Settings: 'Налаштування теми' + Theme Settings: 'Теми' Match Top Bar with Main Color: 'Верхня панель основного кольору' Expand Side Bar by Default: 'Усталено розгортати бічну панель' Disable Smooth Scrolling: 'Відключити плавну прокрутку' @@ -277,6 +331,11 @@ Settings: Catppuccin Mocha: Catppuccin Mocha Hot Pink: Гарячий рожевий Pastel Pink: Пастельний рожевий + Gruvbox Dark: Gruvbox Темний + Solarized Light: Solarized Світлий + Nordic: Нордичний + Gruvbox Light: Gruvbox Світлий + Solarized Dark: Solarized Темна Main Color Theme: Main Color Theme: 'Основна кольорова тема' Red: 'Червона' @@ -316,12 +375,30 @@ Settings: Catppuccin Mocha Flamingo: Catppuccin Mocha Flamingo Catppuccin Mocha Yellow: Catppuccin Mocha Yellow Catppuccin Mocha Rosewater: Catppuccin Mocha Rosewater + Gruvbox Dark Purple: Gruvbox Темно Фіолетовий + Gruvbox Light Blue: Gruvbox Світло Голубий + Solarized Cyan: Solarized Голубий + Solarized Green: Solarized Зелений + Gruvbox Light Orange: Gruvbox Світло Оранжевий + Solarized Yellow: Solarized Жовтий + Gruvbox Dark Green: Gruvbox Темно Зелений + Gruvbox Dark Blue: Gruvbox Темно Синій + Gruvbox Dark Aqua: Gruvbox Темна Аква + Gruvbox Dark Orange: Gruvbox Темно Оранжевий + Gruvbox Light Red: Gruvbox Світло Червоний + Gruvbox Light Purple: Gruvbox Світло Фіолетовий + Solarized Magenta: Solarized Пурпурний + Solarized Violet: Solarized Фіолетовий + Solarized Orange: Solarized Оранжевий + Solarized Red: Solarized Червоний + Gruvbox Dark Yellow: Gruvbox Темно Жовтий + Solarized Blue: Solarized Голубий Secondary Color Theme: 'Другорядна кольорова тема' #* Main Color Theme Hide Side Bar Labels: Сховати мітки бічної панелі Hide FreeTube Header Logo: Сховати логотип FreeTube із заголовка Player Settings: - Player Settings: 'Налаштування програвача' + Player Settings: 'Плеєр' Play Next Video: 'Грати наступне відео' Turn on Subtitles by Default: 'Увімкнути субтитри за замовченням' Autoplay Videos: 'Автоматичне відтворення відео' @@ -376,7 +453,7 @@ Settings: екрана Skip by Scrolling Over Video Player: Пропустити гортанням відеопрогравача Privacy Settings: - Privacy Settings: 'Налаштування приватності' + Privacy Settings: 'Конфіденційність' Remember History: 'Збрігати історію' Save Watched Progress: 'Зберігати прогрес перегляду' Clear Search Cache: 'Очистити пошуковий кеш' @@ -392,15 +469,20 @@ Settings: хочете вилучити всі підписки та профілі? Цю дію не можна скасувати.' Save Watched Videos With Last Viewed Playlist: Зберегти переглянуті відео у список відтворення, який ви переглядали останнім часом + All playlists have been removed: Усі добірки були видалені + Remove All Playlists: Видалити всі добірки + Are you sure you want to remove all your playlists?: Ви впевнені, що хочете видалити + всі свої добірки? Subscription Settings: - Subscription Settings: 'Налаштування підписки' + Subscription Settings: 'Підписка' Hide Videos on Watch: 'Ховати відео при перегляді' Fetch Feeds from RSS: 'Отримати канали з RSS' Fetch Automatically: Автоматично отримувати стрічку Only Show Latest Video for Each Channel: Показувати лише останні відео для кожного каналу + Confirm Before Unsubscribing: Підтвердити перед скасуванням підписки Distraction Free Settings: - Distraction Free Settings: 'Налаштування зосередження' + Distraction Free Settings: 'Без відволікань' Hide Video Views: 'Сховати перегляди відео' Hide Video Likes And Dislikes: 'Приховати вподобайки до відео' Hide Channel Subscribers: 'Не показувати підписників каналу' @@ -419,12 +501,12 @@ Settings: Hide Upcoming Premieres: Сховати майбутні прем'єри Hide Channels: Сховати відео з каналів Hide Channels Placeholder: ID каналу - Display Titles Without Excessive Capitalisation: Показувати заголовки без надмірно - великих літер + Display Titles Without Excessive Capitalisation: Відображати заголовки без зайвої + капіталізації та пунктуації Hide Featured Channels: Сховати пропоновані канали Hide Channel Playlists: Сховати добірки каналу - Hide Channel Community: Сховати спільноту каналу - Hide Channel Shorts: Сховати Shorts каналу + Hide Channel Community: Сховати вкладку "Спільнота" каналу + Hide Channel Shorts: Сховати вкладку "Shorts" каналу Sections: Side Bar: Бічна панель Channel Page: Сторінка каналу @@ -432,8 +514,8 @@ Settings: General: Загальні Subscriptions Page: Сторінка підписок Hide Subscriptions Videos: Сховати відео з підписок - Hide Channel Podcasts: Сховати канали подкастів - Hide Channel Releases: Сховати канали випусків + Hide Channel Podcasts: Сховати вкладку "Подкасти" каналу + Hide Channel Releases: Сховати вкладку "Випуски" каналу Hide Subscriptions Shorts: Сховати Shorts із підписок Hide Subscriptions Live: Сховати трансляції з підписок Hide Profile Pictures in Comments: Сховати зображення профілю в коментарях @@ -444,8 +526,13 @@ Settings: Hide Channels Already Exists: ID каналу вже існує Hide Channels API Error: Помилка під час пошуку користувача з наданим ID. Перевірте ще раз, чи правильний ID. + Hide Channel Home: Сховати вкладку "Головна" каналу + Hide Videos and Playlists Containing Text Placeholder: Слово, фрагмент слова або + фраза + Hide Videos and Playlists Containing Text: Сховати відео та добірки, що містять + текст Data Settings: - Data Settings: 'Налаштування даних' + Data Settings: 'Дані' Select Import Type: 'Оберіть тип імпорту' Select Export Type: 'Оберіть тип експорту' Import Subscriptions: 'Імпортувати підписки' @@ -484,6 +571,14 @@ Settings: Playlist File: Файл списку відтворення Subscription File: Файл підписки History File: Файл історії + Export Playlists For Older FreeTube Versions: + Label: Експортувати добірки для старих версій FreeTube + Tooltip: "Ця опція експортує відео з усіх добірок в одну добірку під назвою + \"Улюблені\".\nЯк експортувати та імпортувати відео з добірок для старої версії + FreeTube:\n1. Експортуйте свої добірки з увімкненою цією опцією.\n2. Видаліть + усі свої наявні добірки за допомогою опції \"Видалити всі добірки\" в налаштуваннях + конфіденційності.\n3. Запустіть стару версію FreeTube та імпортуйте експортовані + добірки." Proxy Settings: Error getting network information. Is your proxy configured properly?: Помилка отримання відомостей про мережу. Чи правильно налаштовано ваш проксі? @@ -499,13 +594,18 @@ Settings: Proxy Host: Проксі-вузол Proxy Protocol: Проксі-протокол Enable Tor / Proxy: Увімкнути Tor / Проксі - Proxy Settings: Налаштування проксі + Proxy Settings: Проксі + Proxy Warning: FreeTube не має вбудованого проксі, але може підключатися до зовнішнього + проксі, такого як Tor, що працює на вашому комп'ютері, або зовнішній проксі, + наприклад, SOCKS5 проксі, який надають деякі VPN-сервіси. Якщо ця опція увімкнена, + переконайтеся, що ваш проксі/Tor налаштовані правильно, інакше FreeTube не зможе + завантажувати дані. SponsorBlock Settings: Notify when sponsor segment is skipped: Сповіщати про пропуск спонсорованого відтинка 'SponsorBlock API Url (Default is https://sponsor.ajay.app)': URL-адреса API SponsorBlock (типово https://sponsor.ajay.app) Enable SponsorBlock: Увімкнути SponsorBlock - SponsorBlock Settings: Налаштування SponsorBlock + SponsorBlock Settings: SponsorBlock Skip Options: Skip Option: Опція пропуску Auto Skip: Автопропуск @@ -514,25 +614,29 @@ Settings: Do Nothing: Нічого не робити Category Color: Колір категорії UseDeArrowTitles: Використовувати назви для відео DeArrow + UseDeArrowThumbnails: Використовувати DeArrow для ескізів + 'DeArrow Thumbnail Generator API Url (Default is https://dearrow-thumb.ajay.app)': 'URL + API генератора ескізів DeArrow (за замовчуванням: https://dearrow-thumb.ajay.app)' External Player Settings: Custom External Player Arguments: Власні аргументи зовнішнього програвача Custom External Player Executable: Власний виконуваний зовнішній програвач Ignore Unsupported Action Warnings: Нехтувати попередженнями про непідтримувані дії External Player: Зовнішній програвач - External Player Settings: Параметри зовнішнього програвача + External Player Settings: Зовнішній плеєр Players: None: Name: Немає + Ignore Default Arguments: Ігнорувати стандартні аргументи Download Settings: - Download Settings: Налаштування завантаження + Download Settings: Завантаження Choose Path: Вибрати шлях Ask Download Path: Запитувати шлях завантаження Download Behavior: Поведінка завантаження Download in app: Завантажити в застосунку Open in web browser: Відкрити у переглядачі Parental Control Settings: - Parental Control Settings: Налаштування батьківського контролю + Parental Control Settings: Батьківський контроль Hide Unsubscribe Button: Сховати кнопку скасування підписки Show Family Friendly Only: Показати лише для сімейного перегляду Hide Search Bar: Сховати панель пошуку @@ -551,6 +655,8 @@ Settings: Set Password: Установити пароль Remove Password: Вилучити пароль Set Password To Prevent Access: Встановіть пароль, щоб запобігти доступу до налаштувань + Return to Settings Menu: Повернутися до налаштувань + Sort Settings Sections (A-Z): Сортувати розділи налаштувань (А-Я) About: #On About page About: 'Про додаток' From bcf63c225d363da223864f3fc4aa32935d9ed010 Mon Sep 17 00:00:00 2001 From: Bezruchenko Simon Date: Fri, 6 Dec 2024 15:01:10 +0000 Subject: [PATCH 07/73] Translated using Weblate (Ukrainian) Currently translated at 100.0% (881 of 881 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/uk/ --- static/locales/uk.yaml | 122 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 112 insertions(+), 10 deletions(-) diff --git a/static/locales/uk.yaml b/static/locales/uk.yaml index 4252d49410690..6f4f584c49749 100644 --- a/static/locales/uk.yaml +++ b/static/locales/uk.yaml @@ -642,7 +642,7 @@ Settings: Hide Search Bar: Сховати панель пошуку Experimental Settings: Replace HTTP Cache: Заміна кешу HTTP - Experimental Settings: Експериментальні налаштування + Experimental Settings: Експериментальні Warning: Ці налаштування експериментальні, їхнє ввімкнення може призводити до збоїв. Радимо робити резервні копії. Використовуйте на свій страх і ризик! Password Dialog: @@ -651,7 +651,7 @@ Settings: Password Incorrect: Пароль неправильний Password: Пароль Password Settings: - Password Settings: Налаштування пароля + Password Settings: Пароль Set Password: Установити пароль Remove Password: Вилучити пароль Set Password To Prevent Access: Встановіть пароль, щоб запобігти доступу до налаштувань @@ -685,6 +685,8 @@ About: Source code: Джерельний код Beta: Бета Discussions: Обговорення + Licensed under the: Ліцензовано за умовами + AGPLv3: AGPLv3 Profile: Profile Select: 'Вибір профілю' All Channels: 'Усі канали' @@ -725,7 +727,7 @@ Profile: бажаєте видалити вибрані канали? Канал не буде видалено з будь-якого іншого профілю.' #On Channel Page Profile Filter: Фільтр профілю - Profile Settings: Налаштування профілю + Profile Settings: Профіль Toggle Profile List: Перемкнути список профілів Profile Name: Назва профілю Edit Profile Name: Змінити назву профілю @@ -777,6 +779,11 @@ Channel: votes: 'Голосів: {votes}' Reveal Answers: Розгорнути відповіді Hide Answers: Сховати відповіді + Video hidden by FreeTube: Відео приховане FreeTube + View Full Post: Переглянути повний пост + Viewing Posts Only Supported By Invidious: Перегляд постів підтримується лише + через Invidious. Перейдіть до вкладки спільноти каналу, щоб переглядати контент + без Invidious. Live: This channel does not currently have any live streams: Наразі на цьому каналі немає прямих трансляцій @@ -791,6 +798,9 @@ Channel: This channel does not currently have any releases: Наразі на цьому каналі немає випусків Releases: Випуски + Home: + Home: Головна + View Playlist: Переглянути добірку Video: Mark As Watched: 'Позначити переглянутим' Remove From History: 'Прибрати з історії' @@ -877,6 +887,48 @@ Video: Pause on Current Video: Призупинити на поточному відео Unhide Channel: Показати канал Hide Channel: Сховати канал + Player: + TranslatedCaptionTemplate: '{language} (перекладено з "{originalLanguage}")' + Stats: + Bandwidth: 'Пропускна здатність: {bandwidth} кбіт/с' + CodecsVideoAudio: 'Кодеки: {videoCodec} ({videoItag}) / {audioCodec} ({audioItag})' + Bitrate: 'Бітрейт: {bitrate} кбіт/с' + Volume: 'Гучність: {volumePercentage}%' + Buffered: 'Буферизація: {bufferedPercentage}%' + Dropped Frames / Total Frames: 'Втрачені кадри: {droppedFrames} / Загальні кадри: + {totalFrames}' + Player Dimensions: 'Розміри плеєра: {width}x{height}' + CodecAudio: 'Кодек: {audioCodec} ({audioItag})' + Stats: Статистика + Video ID: 'ID відео: {videoId}' + Media Formats: 'Медійні формати: {formats}' + Resolution: 'Роздільна здатність: {width}x{height}@{frameRate}' + CodecsVideoAudioNoItags: 'Кодеки: {videoCodec} / {audioCodec}' + Show Stats: Показати статистику + Full Window: Повний екран + Take Screenshot: Зробити скріншот + You appear to be offline: Виглядає, що ви не в мережі. + Playback will resume automatically when your connection comes back: Відтворення + відновиться автоматично, коли ваше підключення відновиться. + Exit Theatre Mode: Вийти з режиму кінотеатру + Exit Full Window: Вийти з повного екрану + Audio Tracks: Аудіотреки + Theatre Mode: Режим кінотеатру + Hide Stats: Сховати статистику + Skipped segment: Пропущено сегмент {segmentCategory} + IP block: YouTube заблокував вашу IP-адресу для перегляду відео. Будь ласка, спробуйте + змінити VPN або проксі. + Unlisted: Не в списку + AgeRestricted: Відео з віковими обмеженнями не можна переглядати за допомогою FreeTube, + оскільки вони вимагають входу через Google та використання відео-аккаунту YouTube + з підтвердженням віку. + More Options: Більше опцій + DeArrow: + Show Original Details: Показати оригінальні деталі + Show Modified Details: Показати змінені деталі + MembersOnly: Відео, доступні лише для учасників, не можна переглядати за допомогою + FreeTube, оскільки вони вимагають входу через Google та платної підписки на канал + завантажувача. Videos: #& Sort By Sort By: @@ -893,6 +945,17 @@ Playlist: #* Published #& Views Playlist: Список відтворення + Sort By: + VideoDurationDescending: Тривалість (спочатку найдовші) + Custom: Користувацький + VideoTitleDescending: Заголовок (Я-А) + VideoTitleAscending: Заголовок (А-Я) + DateAddedOldest: Спочатку найстаріші добавлені + AuthorAscending: Автор (А-Я) + AuthorDescending: Автор (Я-А) + VideoDurationAscending: Тривалість (спочатку найкоротші) + Sort By: Сортувати за + DateAddedNewest: Спочатку новіші добавлені Change Format: Change Media Formats: 'Зміна форматів відео' Use Dash Formats: 'Використовувати формати DASH' @@ -902,6 +965,8 @@ Change Format: відео' Audio formats are not available for this video: 'Аудіоформати недоступні для цього відео' + Legacy formats are not available for this video: Застарілі формати недоступні для + цього відео Share: Share Video: 'Поділитися відео' Share Playlist: 'Поділитися списком відтворення' @@ -950,7 +1015,8 @@ Comments: Hearted: З сердечком View {replyCount} replies: Переглянути {replyCount} відповідей Subscribed: Слідкують -Up Next: 'Далі вгору' + There are no comments available for this post: Коментарі для цього поста відсутні +Up Next: 'Далі' #Tooltips Tooltips: @@ -970,6 +1036,9 @@ Tooltips: External Link Handling: "Визначте типову поведінку, коли натиснено на посилання, яке не можна відкрити у FreeTube.\nТипово FreeTube відкриває натиснуте посилання у вашому типовому переглядачі.\n" + Open Deep Links In New Window: URL-адреси, передані в FreeTube, наприклад через + розширення для браузера або аргументи командного рядка, відкриваються в новому + вікні. Player Settings: Proxy Videos Through Invidious: 'Під’єднається до Invidious, щоб дивитися відео, а не встановлювати пряме з’єднання з YouTube.' @@ -986,17 +1055,17 @@ Tooltips: Skip by Scrolling Over Video Player: Використовувати колесо прокрутки для прокручування відео в стилі MPV. Subscription Settings: - Fetch Feeds from RSS: 'Якщо ввімкнено, FreeTube використовуватиме RSS замість - стандартного способу захоплення каналу підписки. RSS швидше і запобігає блокуванню - ІР, але не надає дані, як-от тривалість відео або стан трансляції' + Fetch Feeds from RSS: 'При увімкненні FreeTube буде використовувати RSS замість + стандартного методу для отримання підписок. RSS є швидшим і запобігає блокуванню + IP-адрес, але не надає певної інформації, такої як тривалість відео, статус + в прямому ефірі або пости в спільноті' # Toast Messages Fetch Automatically: Якщо увімкнено, FreeTube автоматично отримуватиме вашу стрічку підписок під час відкриття нового вікна та за перемикання профілю. External Player Settings: - Custom External Player Arguments: Будь-які нетипові аргументи командного рядка - розділяються (';') крапкою з комою, ви бажаєте, щоб вас було перенаправлено - до зовнішнього програвача. + Custom External Player Arguments: Будь-які користувацькі аргументи командного + рядка, які ви хочете передати зовнішньому плеєру. Ignore Warnings: Заборонити попередження, якщо поточний зовнішній програвач не підтримує поточну дію (наприклад, зворотна почерговість відтворення добірок тощо). @@ -1007,6 +1076,9 @@ Tooltips: відео (список відтворення, якщо підтримується) у зовнішньому програвачі, на мініатюрі. Увага, налаштування Invidious не застосовуються до сторонніх програвачів. DefaultCustomArgumentsTemplate: "(Типово: '{defaultCustomArguments}')" + Ignore Default Arguments: Не надсилати жодних стандартних аргументів зовнішньому + плеєру, окрім URL-адреси відео (наприклад, швидкість відтворення, URL-адреса + добірки тощо). Користувацькі аргументи все одно будуть передаватися. Experimental Settings: Replace HTTP Cache: Вимикає дисковий HTTP-кеш Electron і вмикає власний кеш зображень у пам'яті. Призведе до збільшення використання оперативної пам'яті. @@ -1016,8 +1088,13 @@ Tooltips: повністю збігатися і чутливий до регістру. Hide Subscriptions Live: Цей параметр перевизначається загальнодоступним налаштуванням "{appWideSetting}" у розділі "{subsection}" "{settingsSection}" + Hide Videos and Playlists Containing Text: Введіть слово, фрагмент слова або фразу + (незалежно від регістру), щоб приховати всі відео та добірки, у заголовках яких + вона міститься, по всьому FreeTube, за винятком Історії, Ваших Добірок і відео + в межах добірок. SponsorBlock Settings: UseDeArrowTitles: Замінити назви відео на надіслані користувачем назви з DeArrow. + UseDeArrowThumbnails: Замінити ескізи відео на ескізи з DeArrow. Local API Error (Click to copy): 'Помилка локального API (натисніть, щоб скопіювати)' Invidious API Error (Click to copy): 'Помилка Invidious API (натисніть, щоб скопіювати)' Falling back to Invidious API: 'Повернення до API Invidious' @@ -1080,6 +1157,7 @@ Chapters: поточний розділ: {chapterName}' 'Chapters list hidden, current chapter: {chapterName}': 'Список розділів схований, поточний розділ: {chapterName}' + Key Moments: Ключові моменти Preferences: Налаштування Ok: Гаразд Hashtag: @@ -1108,3 +1186,27 @@ Search Listing: 3D: 3D Closed Captions: Закриті субтитри Right-click or hold to see history: ПКМ або утримуйте для перегляду історії +Display Label: '{label}: {value}' +Tag already exists: Тег "{tagName}" вже існує +'Blocked opening potentially unsafe URL': 'Блоковано відкриття потенційно небезпечної + URL-адреси: "{url}".' +shortcutJoinOperator: + +Keys: + arrowright: Стрілка вправо + alt: Alt + ctrl: Ctrl + arrowdown: Стрілка вниз + arrowleft: Стрілка вліво + arrowup: Стрілка вгору +checkmark: ✓ +KeyboardShortcutTemplate: '{label} ({shortcut})' +Age Restricted: + This channel is age restricted: Цей канал має вікові обмеження + This video is age restricted: Це відео має вікові обмеження +Trimmed input must be at least N characters long: Обрізаний ввід повинен бути хоча + б 1 символ довжиною | Обрізаний ввід повинен бути хоча б {length} символів довжиною +Moments Ago: щойно +Yes, Restart: Так, перезавантажити +Yes, Open Link: Так, відкрити посилання +Yes, Delete: Так, видалити +Cancel: Скасувати From b4217ef8522403cb5748e480f387ef83fa07a9a3 Mon Sep 17 00:00:00 2001 From: Jason <84899178+kommunarr@users.noreply.github.com> Date: Fri, 6 Dec 2024 17:39:29 +0000 Subject: [PATCH 08/73] Autoplay time limit (#5871) * Implement timer for next video to not play automatically * Update implementation to block next video autoplay i.e., instead of 'start video automatically' autoplay * Update variable name and add keyboard handling for ending timeout * Change autoplay timeout message to be more descriptive, and increase duration to 1 hr --- .../ft-shaka-video-player.js | 2 +- .../player-settings/player-settings.js | 5 +++ .../player-settings/player-settings.vue | 27 ++++++++++------ src/renderer/store/modules/settings.js | 1 + src/renderer/views/Watch/Watch.js | 31 +++++++++++++++++++ static/locales/en-US.yaml | 4 ++- 6 files changed, 59 insertions(+), 11 deletions(-) diff --git a/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js b/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js index 473f1005d9146..aa5e50467c85d 100644 --- a/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js +++ b/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js @@ -122,7 +122,7 @@ export default defineComponent({ vrProjection: { type: String, default: null - } + }, }, emits: [ 'error', diff --git a/src/renderer/components/player-settings/player-settings.js b/src/renderer/components/player-settings/player-settings.js index 4705f5ec3a612..358c1b6ae9e71 100644 --- a/src/renderer/components/player-settings/player-settings.js +++ b/src/renderer/components/player-settings/player-settings.js @@ -95,6 +95,10 @@ export default defineComponent({ return this.backendPreference !== 'invidious' && !this.backendFallback }, + defaultAutoplayInterruptionIntervalHours: function () { + return parseInt(this.$store.getters.getDefaultAutoplayInterruptionIntervalHours) + }, + defaultSkipInterval: function () { return parseInt(this.$store.getters.getDefaultSkipInterval) }, @@ -286,6 +290,7 @@ export default defineComponent({ ...mapActions([ 'updateAutoplayVideos', 'updateAutoplayPlaylists', + 'updateDefaultAutoplayInterruptionIntervalHours', 'updatePlayNextVideo', 'updateEnableSubtitlesByDefault', 'updateProxyVideos', diff --git a/src/renderer/components/player-settings/player-settings.vue b/src/renderer/components/player-settings/player-settings.vue index 0c736a398c539..e105e5ac7ee67 100644 --- a/src/renderer/components/player-settings/player-settings.vue +++ b/src/renderer/components/player-settings/player-settings.vue @@ -82,15 +82,6 @@ - + + { this.blockVideoAutoplay = true }, this.defaultAutoplayInterruptionIntervalHours * 3_600_000) + this.blockVideoAutoplay = false + }, + ...mapActions([ 'setAppTitle', 'updateHistory', diff --git a/static/locales/en-US.yaml b/static/locales/en-US.yaml index de8959107d572..5abc95fb17867 100644 --- a/static/locales/en-US.yaml +++ b/static/locales/en-US.yaml @@ -416,7 +416,8 @@ Settings: Skip by Scrolling Over Video Player: Skip by Scrolling Over Video Player Display Play Button In Video Player: Display Play Button In Video Player Enter Fullscreen on Display Rotate: Enter Fullscreen on Display Rotate - Next Video Interval: Next Video Interval + Next Video Interval: Autoplay Countdown Timer + Autoplay Interruption Timer: Autoplay Interruption Timer Fast-Forward / Rewind Interval: Fast-Forward / Rewind Interval Default Volume: Default Volume Default Playback Rate: Default Playback Rate @@ -1079,6 +1080,7 @@ Playlist will not pause when current video is finished: Playlist will not pause Playlist will pause when current video is finished: Playlist will pause when current video is finished Playing Next Video Interval: Playing next video in no time. Click to cancel. | Playing next video in {nextVideoInterval} second. Click to cancel. | Playing next video in {nextVideoInterval} seconds. Click to cancel. Canceled next video autoplay: Canceled next video autoplay +Autoplay Interruption Timer: Autoplay canceled due to {autoplayInterruptionIntervalHours} hours of inactivity Default Invidious instance has been set to {instance}: Default Invidious instance has been set to {instance} Default Invidious instance has been cleared: Default Invidious instance has been cleared From f6af7f60b504b9f2c0d033e4989230e9cefd628e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:40:45 +0000 Subject: [PATCH 09/73] Translated using Weblate (Portuguese (Portugal)) Currently translated at 87.2% (770 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/pt_PT/ --- static/locales/pt-PT.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/locales/pt-PT.yaml b/static/locales/pt-PT.yaml index 3a96b8c649265..972acac24a46c 100644 --- a/static/locales/pt-PT.yaml +++ b/static/locales/pt-PT.yaml @@ -973,8 +973,8 @@ Tooltips: Fetch Automatically: Se ativa, FreeTube irá obter automaticamente as subscrições ao abrir uma nova janela e/ou quando mudar de perfil. External Player Settings: - Custom External Player Arguments: Quaisquer argumentos de linha de comando, - que quiser passar ao reprodutor externo. + Custom External Player Arguments: Quaisquer argumentos de linha de comando, que + quiser passar ao reprodutor externo. Ignore Warnings: Ignorar avisos quando o reprodutor externo escolhido não suporte uma ação (por exemplo, inverter listas de reprodução). Custom External Player Executable: Por omissão, FreeTube assume que o reprodutor From 384c9ea577b4f1d6ca750487b8aea3b7461b894e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:41:05 +0000 Subject: [PATCH 10/73] Translated using Weblate (Vietnamese) Currently translated at 94.3% (833 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/vi/ --- static/locales/vi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/locales/vi.yaml b/static/locales/vi.yaml index 9181ff360ac47..39f254674b87f 100644 --- a/static/locales/vi.yaml +++ b/static/locales/vi.yaml @@ -1044,8 +1044,8 @@ Tooltips: Skip by Scrolling Over Video Player: Sử dụng con lăn chuột để bỏ qua video, kiểu MPV. External Player Settings: - Custom External Player Arguments: Bất kỳ tham số dòng lệnh tùy chỉnh nào, - bạn muốn được chuyển đến trình phát bên ngoài. + Custom External Player Arguments: Bất kỳ tham số dòng lệnh tùy chỉnh nào, bạn + muốn được chuyển đến trình phát bên ngoài. Custom External Player Executable: Theo mặc định, FreeTube sẽ giả định rằng trình phát bên ngoài đã chọn có thể được tìm thấy thông qua biến môi trường PATH. Nếu cần, bạn có thể đặt một đường dẫn tuỳ chọn ở đây. From d4d5e5e1c445ec6aedb74717a4f78e02f2a90d53 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:40:44 +0000 Subject: [PATCH 11/73] Translated using Weblate (Portuguese (Brazil)) Currently translated at 97.2% (859 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/pt_BR/ --- static/locales/pt-BR.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/static/locales/pt-BR.yaml b/static/locales/pt-BR.yaml index 06eacbd8f6f68..e68a05f45bc3a 100644 --- a/static/locales/pt-BR.yaml +++ b/static/locales/pt-BR.yaml @@ -1082,8 +1082,7 @@ Tooltips: clicado em seu navegador padrão.\n" External Player Settings: Custom External Player Arguments: Quaisquer argumentos de linha de comando personalizados, - você deseja que seja passado para o player - externo. + você deseja que seja passado para o player externo. Ignore Warnings: Suprime os avisos para quando o player externo atual não suporta a ação atual (por exemplo, reverter playlist, etc.). Custom External Player Executable: Por padrão, o FreeTube assumirá que o player From bd15a243a654ca4c0cef6dda1db06354e9ea6109 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:40:10 +0000 Subject: [PATCH 12/73] Translated using Weblate (Spanish (Mexico)) Currently translated at 53.7% (475 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/es_MX/ --- static/locales/es-MX.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/static/locales/es-MX.yaml b/static/locales/es-MX.yaml index 7481f62b1add0..0426058810b1b 100644 --- a/static/locales/es-MX.yaml +++ b/static/locales/es-MX.yaml @@ -635,7 +635,8 @@ Tooltips: problema, FreeTube intentará usar automáticamente otra API como método de respaldo al activar esta opción. External Player Settings: - Custom External Player Arguments: Cualquier argumento, que deseé anticipar al reproductor externo. + Custom External Player Arguments: Cualquier argumento, que deseé anticipar al + reproductor externo. DefaultCustomArgumentsTemplate: "(Por defecto: '{defaultCustomArguments}')" External Player: Elegir un reproductor externo mostrará un ícono, para abrir el video (o lista, si es compatible) en el reproductor externo, sobre la miniatura From efe65be735b14b9f396c895ba15fd360f0d0d6f3 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:40:39 +0000 Subject: [PATCH 13/73] Translated using Weblate (Dutch) Currently translated at 88.6% (783 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/nl/ --- static/locales/nl.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/locales/nl.yaml b/static/locales/nl.yaml index 2709953292899..919cf84fc45cc 100644 --- a/static/locales/nl.yaml +++ b/static/locales/nl.yaml @@ -1015,8 +1015,8 @@ Tooltips: kan worden geopend in FreeTube is aangeklikt.\nStandaard zal FreeTube de aangeklikte link openen in je standaardbrowser.\n" External Player Settings: - Custom External Player Arguments: Aangepaste opdrachtregelargumenten, - die je wil doorgeven aan de externe videospeler. + Custom External Player Arguments: Aangepaste opdrachtregelargumenten, die je wil + doorgeven aan de externe videospeler. Ignore Warnings: Onderdruk waarschuwingen wanneer de geselecteerde videospeler een opgegeven actie niet ondersteund (bijv. afspeellijsten omkeren, etc.). Custom External Player Executable: Standaard gaat FreeTube er vanuit dat de gekozen From 7d79cc1f7564d8eee91c11205c1e113578955e0f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:40:05 +0000 Subject: [PATCH 14/73] Translated using Weblate (Greek) Currently translated at 72.1% (637 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/el/ --- static/locales/el.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/static/locales/el.yaml b/static/locales/el.yaml index c82afa8ae7d84..d2aae49bf7a5c 100644 --- a/static/locales/el.yaml +++ b/static/locales/el.yaml @@ -879,8 +879,7 @@ Tooltips: ρυθμίσεις δεν επηρεάζουν τις εξωτερικές συσκευές αναπαραγωγής. DefaultCustomArgumentsTemplate: "(Προεπιλογή: '{defaultCustomArguments}')" Custom External Player Arguments: Τυχόν προσαρμοσμένα ορίσματα γραμμής εντολών, - που θέλετε να μεταβιβαστούν στο εξωτερικό - πρόγραμμα αναπαραγωγής. + που θέλετε να μεταβιβαστούν στο εξωτερικό πρόγραμμα αναπαραγωγής. Experimental Settings: Replace HTTP Cache: Απενεργοποιεί το Electron's disk-based HTTP cache και ενεργοποιεί μια προσαρμοσμένη προσωρινή μνήμη εικόνων στη μνήμη. Θα οδηγήσει σε αυξημένη From f957f262072a3602ea6b6c17a26ce190834f2b6d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:40:46 +0000 Subject: [PATCH 15/73] Translated using Weblate (Portuguese) Currently translated at 95.3% (842 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/pt/ --- static/locales/pt.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/locales/pt.yaml b/static/locales/pt.yaml index a5f7fcd962056..948a52f6d8938 100644 --- a/static/locales/pt.yaml +++ b/static/locales/pt.yaml @@ -1055,8 +1055,8 @@ Tooltips: Fetch Automatically: Se ativa, FreeTube irá obter automaticamente as subscrições ao abrir uma nova janela e/ou quando mudar de perfil. External Player Settings: - Custom External Player Arguments: Quaisquer argumentos de linha de comando, - que quiser passar ao reprodutor externo. + Custom External Player Arguments: Quaisquer argumentos de linha de comando, que + quiser passar ao reprodutor externo. Ignore Warnings: Ignorar avisos quando o reprodutor externo escolhido não suporte uma ação (por exemplo, inverter listas de reprodução). Custom External Player Executable: Por omissão, FreeTube assume que o reprodutor From 0808ee02cf94ae29cd516cdb87f64496e7ee41cb Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:40:25 +0000 Subject: [PATCH 16/73] Translated using Weblate (Indonesian) Currently translated at 72.7% (642 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/id/ --- static/locales/id.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/locales/id.yaml b/static/locales/id.yaml index c9a2a0d6839c1..6a77ccfdd8a0b 100644 --- a/static/locales/id.yaml +++ b/static/locales/id.yaml @@ -849,8 +849,8 @@ Tooltips: dibuka di FreeTube, diklik.\nSecara default FreeTube akan membuka tautan yang diklik dengan browser default Anda.\n" External Player Settings: - Custom External Player Arguments: Semua argumen perintah khusus, - yang Anda ingin gunakan dengan pemutar eksternal. + Custom External Player Arguments: Semua argumen perintah khusus, yang Anda ingin + gunakan dengan pemutar eksternal. Ignore Warnings: Jangan tampilkan peringatan saat pemutar eksternal saat ini tidak mendukung tindakan yang ada (mis. membalik urutan daftar putar, dsb.). Custom External Player Executable: Secara bawaan, FreeTube akan berasumsi bahwa From 6b28d09378edd70e75a9fa9516269f3c5f0a8f57 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:40:56 +0000 Subject: [PATCH 17/73] Translated using Weblate (Swedish) Currently translated at 80.9% (715 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/sv/ --- static/locales/sv.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/static/locales/sv.yaml b/static/locales/sv.yaml index b7d950b8adc69..a8d4889d5ad1b 100644 --- a/static/locales/sv.yaml +++ b/static/locales/sv.yaml @@ -910,7 +910,8 @@ Tooltips: kan öppnas i FreeTube är. \nStandard är att FreeTube kommer öppna länken i din standardwebbläsare.\n" External Player Settings: - Custom External Player Arguments: Alla anpassade kommandoradsargument, ska skickas till den externa spelaren. + Custom External Player Arguments: Alla anpassade kommandoradsargument, ska skickas + till den externa spelaren. Ignore Warnings: Dämpa varningar för när den aktuella externa spelaren inte stöder den aktuella åtgärden (t.ex. backning av spellistor, etc.). Custom External Player Executable: Som standard antar FreeTube att den valda externa From a4592f95e8750544fa06da7d67ffe188adcf2e7c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:39:54 +0000 Subject: [PATCH 18/73] Translated using Weblate (Bulgarian) Currently translated at 97.2% (859 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/bg/ --- static/locales/bg.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/static/locales/bg.yaml b/static/locales/bg.yaml index 6d7acd45c6109..5b9ee016f21fb 100644 --- a/static/locales/bg.yaml +++ b/static/locales/bg.yaml @@ -1078,8 +1078,7 @@ Tooltips: FreeTube ще отвори връзката в браузъра по подразбиране.\n" External Player Settings: Custom External Player Arguments: Всички персонализирани аргументи от командния - ред, които искате да бъдат предадени на външния - плейър. + ред, които искате да бъдат предадени на външния плейър. Ignore Warnings: Премахване на предупрежденията, когато текущият външен плейър не поддържа текущото действие (напр. обръщане на плейлисти и др.). Custom External Player Executable: По подразбиране FreeTube предполага, че избраният From 0bbb5980ddb645c21ec0d9fb03ec235f3a7f1726 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:39:53 +0000 Subject: [PATCH 19/73] Translated using Weblate (Belarusian) Currently translated at 95.1% (840 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/be/ --- static/locales/be.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/static/locales/be.yaml b/static/locales/be.yaml index 348966720271d..4b4844bf38911 100644 --- a/static/locales/be.yaml +++ b/static/locales/be.yaml @@ -1054,8 +1054,7 @@ Tooltips: Ignore Warnings: 'Адключыць папярэджанні, калі бягучы вонкавы прайгравальнік не падтрымлівае бягучае дзеянне (напрыклад, пераварочванне плэй-ліста і г.д.).' Custom External Player Arguments: 'Любыя карыстальніцкія аргументы каманднага - радка, якія вы хочаце перадаць вонкаваму - прайгравальніку.' + радка, якія вы хочаце перадаць вонкаваму прайгравальніку.' DefaultCustomArgumentsTemplate: "(Па змаўчанні: '{defaultCustomArguments}')" Ignore Default Arguments: Не адпраўляйце ніякіх аргументаў па змаўчанні на вонкавы прайгравальнік, акрамя URL-адраса відэа (напрыклад, частата прайгравання, URL-адрас From 3d8950f0a40249d582ceb481033f0d35eb203a09 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 6 Dec 2024 17:39:56 +0000 Subject: [PATCH 20/73] Translated using Weblate (Breton) Currently translated at 95.6% (845 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/br/ --- static/locales/br.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/static/locales/br.yaml b/static/locales/br.yaml index ebe209a0887f8..b3de25df2e8a6 100644 --- a/static/locales/br.yaml +++ b/static/locales/br.yaml @@ -1138,8 +1138,7 @@ Tooltips: nemet URL ar video (d.s. feur lenn, URL ar roll-videoioù, etc.). Treuzkaset e vo an arguzennoù personelaet.' Custom External Player Arguments: 'An holl arguzennoù personelaet el linennoù - urzhiañ, a faot deoc''h e vefe treuzkaset - d''al lenner diavaez.' + urzhiañ, a faot deoc''h e vefe treuzkaset d''al lenner diavaez.' DefaultCustomArgumentsTemplate: "(Dre ziouer : '{defaultCustomArguments}')" Distraction Free Settings: Hide Channels: 'Lakait ID ur chadenn evit mirout ouzh an holl videoioù, rolloù-videoioù From 59590d77316f4777859c1ab4e60d1ab7268be667 Mon Sep 17 00:00:00 2001 From: Bezruchenko Simon Date: Fri, 6 Dec 2024 17:57:14 +0000 Subject: [PATCH 21/73] Translated using Weblate (Ukrainian) Currently translated at 100.0% (883 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/uk/ --- static/locales/uk.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/static/locales/uk.yaml b/static/locales/uk.yaml index 6f4f584c49749..dced7544b26ba 100644 --- a/static/locales/uk.yaml +++ b/static/locales/uk.yaml @@ -425,7 +425,7 @@ Settings: 4k: '4k' 8k: '8k' Playlist Next Video Interval: Інтервал відтворення наступного відео - Next Video Interval: Інтервал до наступного відео + Next Video Interval: Таймер автозапуску Scroll Volume Over Video Player: Прокручування гучності на відеопрогравачі Display Play Button In Video Player: Показувати кнопку відтворення у відеопрогравачі Fast-Forward / Rewind Interval: Інтервал перемотування вперед/назад @@ -452,6 +452,7 @@ Settings: Enter Fullscreen on Display Rotate: Переходити в повноекранний режим за обертання екрана Skip by Scrolling Over Video Player: Пропустити гортанням відеопрогравача + Autoplay Interruption Timer: Таймер переривання автозапуску Privacy Settings: Privacy Settings: 'Конфіденційність' Remember History: 'Збрігати історію' @@ -1210,3 +1211,5 @@ Yes, Restart: Так, перезавантажити Yes, Open Link: Так, відкрити посилання Yes, Delete: Так, видалити Cancel: Скасувати +Autoplay Interruption Timer: Автозапуск скасовано через {autoplayInterruptionIntervalHours} + годин бездіяльності From 85f976ec5f968fa75350a8478802d21b00c3c8ce Mon Sep 17 00:00:00 2001 From: efb4f5ff-1298-471a-8973-3d47447115dc <73130443+efb4f5ff-1298-471a-8973-3d47447115dc@users.noreply.github.com> Date: Fri, 6 Dec 2024 23:11:25 +0100 Subject: [PATCH 22/73] compress gruvbox svgs (#6292) --- _icons/iconGruvboxDarkSmall.svg | 5 +---- _icons/iconGruvboxLightSmall.svg | 5 +---- _icons/textGruvboxDarkSmall.svg | 5 +---- _icons/textGruvboxLightSmall.svg | 5 +---- 4 files changed, 4 insertions(+), 16 deletions(-) diff --git a/_icons/iconGruvboxDarkSmall.svg b/_icons/iconGruvboxDarkSmall.svg index e0223807047ce..e6dd6ad1595cf 100644 --- a/_icons/iconGruvboxDarkSmall.svg +++ b/_icons/iconGruvboxDarkSmall.svg @@ -1,4 +1 @@ - - - - \ No newline at end of file + \ No newline at end of file diff --git a/_icons/iconGruvboxLightSmall.svg b/_icons/iconGruvboxLightSmall.svg index 8750e7bb31c0e..a08e5c34f9830 100644 --- a/_icons/iconGruvboxLightSmall.svg +++ b/_icons/iconGruvboxLightSmall.svg @@ -1,4 +1 @@ - - - - \ No newline at end of file + \ No newline at end of file diff --git a/_icons/textGruvboxDarkSmall.svg b/_icons/textGruvboxDarkSmall.svg index 00ece3081910a..00e3080e7268f 100644 --- a/_icons/textGruvboxDarkSmall.svg +++ b/_icons/textGruvboxDarkSmall.svg @@ -1,4 +1 @@ - - - - \ No newline at end of file + \ No newline at end of file diff --git a/_icons/textGruvboxLightSmall.svg b/_icons/textGruvboxLightSmall.svg index 266390e3ad010..434c116ddd900 100644 --- a/_icons/textGruvboxLightSmall.svg +++ b/_icons/textGruvboxLightSmall.svg @@ -1,4 +1 @@ - - - - \ No newline at end of file + \ No newline at end of file From f88f1f0a2ce33a15079d3397a651b854afec3ae5 Mon Sep 17 00:00:00 2001 From: absidue <48293849+absidue@users.noreply.github.com> Date: Fri, 6 Dec 2024 23:38:05 +0100 Subject: [PATCH 23/73] Support saving screenshots as WebP files (#6263) * Support saving screenshots as WebP files * Simplify screenshot quality handling --- .../ft-shaka-video-player/ft-shaka-video-player.js | 3 ++- src/renderer/components/player-settings/player-settings.js | 6 ++++-- src/renderer/components/player-settings/player-settings.vue | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js b/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js index aa5e50467c85d..6738761c5bcf8 100644 --- a/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js +++ b/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js @@ -1527,7 +1527,8 @@ export default defineComponent({ const format = screenshotFormat.value const mimeType = `image/${format === 'jpg' ? 'jpeg' : format}` - const imageQuality = format === 'jpg' ? screenshotQuality.value / 100 : 1 + // imageQuality is ignored for pngs, so it is still okay to pass the quality value + const imageQuality = screenshotQuality.value / 100 let filename try { diff --git a/src/renderer/components/player-settings/player-settings.js b/src/renderer/components/player-settings/player-settings.js index 358c1b6ae9e71..db706b4297b78 100644 --- a/src/renderer/components/player-settings/player-settings.js +++ b/src/renderer/components/player-settings/player-settings.js @@ -51,11 +51,13 @@ export default defineComponent({ ], screenshotFormatNames: [ 'PNG', - 'JPEG' + 'JPEG', + 'WebP' ], screenshotFormatValues: [ 'png', - 'jpg' + 'jpg', + 'webp' ], screenshotFolderPlaceholder: '', screenshotFilenameExample: '', diff --git a/src/renderer/components/player-settings/player-settings.vue b/src/renderer/components/player-settings/player-settings.vue index e105e5ac7ee67..77677a0591ab3 100644 --- a/src/renderer/components/player-settings/player-settings.vue +++ b/src/renderer/components/player-settings/player-settings.vue @@ -191,7 +191,7 @@ :max-value="100" :step="1" value-extension="%" - :disabled="screenshotFormat !== 'jpg'" + :disabled="screenshotFormat === 'png'" @change="updateScreenshotQuality" /> From b6876e22e4b9d10d3f805dd56fcb317e08905a57 Mon Sep 17 00:00:00 2001 From: Samuel <36420837+Samueru-sama@users.noreply.github.com> Date: Fri, 6 Dec 2024 18:41:31 -0400 Subject: [PATCH 24/73] Convert X64 AppImage to static runtime (#5747) * Convert X64 AppImage to static runtime Drops libfuse2 dependency from AppImage * Appimage CI: small refactor, declare variable * Convert X64 release AppImage to static runtime --- .github/workflows/build.yml | 13 +++++++++++++ .github/workflows/release.yml | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4293cc2588668..5d34902f607ac 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -100,6 +100,19 @@ jobs: if: contains(matrix.runtime, 'arm64') run: yarn run build:arm64 + - name: Convert X64 AppImage to static runtime + if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64') + run: | + sudo apt install desktop-file-utils + cd build + appimage="FreeTube-${{ steps.versionNumber.outputs.result }}.AppImage" + wget "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage" -O ./appimagetool.AppImage + chmod +x ./"$appimage" ./appimagetool.AppImage + ./"$appimage" --appimage-extract && rm -f ./"$appimage" + ./appimagetool.AppImage --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 20 \ + -n ./squashfs-root ./"$appimage" + rm -rf ./squashfs-root ./appimagetool.AppImage + - name: Upload Linux .zip x64 Artifact uses: actions/upload-artifact@v4 if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e7cf8af1603fd..7438d0c110de5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -71,6 +71,19 @@ jobs: if: contains(matrix.runtime, 'arm64') run: yarn run build:arm64 + - name: Convert X64 AppImage to static runtime + if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64') + run: | + sudo apt install desktop-file-utils + cd build + appimage="FreeTube-${{ steps.versionNumber.outputs.result }}.AppImage" + wget "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage" -O ./appimagetool.AppImage + chmod +x ./"$appimage" ./appimagetool.AppImage + ./"$appimage" --appimage-extract && rm -f ./"$appimage" + ./appimagetool.AppImage --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 20 \ + -n ./squashfs-root ./"$appimage" + rm -rf ./squashfs-root ./appimagetool.AppImage + - name: Upload AppImage x64 Release uses: actions/upload-release-asset@v1 if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64') From ed9542f5e0051e443dde149f8028db41943e5a21 Mon Sep 17 00:00:00 2001 From: absidue <48293849+absidue@users.noreply.github.com> Date: Sat, 7 Dec 2024 00:41:04 +0100 Subject: [PATCH 25/73] Fix tap to seek not using skip interval setting (#6288) --- .../ft-shaka-video-player/ft-shaka-video-player.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js b/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js index 6738761c5bcf8..9da3c3cfaa184 100644 --- a/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js +++ b/src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js @@ -245,6 +245,12 @@ export default defineComponent({ return store.getters.getDefaultSkipInterval }) + watch(defaultSkipInterval, (newValue) => { + ui.configure({ + tapSeekDistance: newValue + }) + }) + /** @type {import('vue').ComputedRef} */ const defaultQuality = computed(() => { const value = store.getters.getDefaultQuality @@ -839,6 +845,7 @@ export default defineComponent({ addBigPlayButton: displayVideoPlayButton.value, enableFullscreenOnRotation: enterFullscreenOnDisplayRotate.value, playbackRates: playbackRates.value, + tapSeekDistance: defaultSkipInterval.value, // we have our own ones (shaka-player's ones are quite limited) enableKeyboardPlaybackControls: false, From 0a4b00601d2b3853ed3da01cd1cfb6c2d5d98d38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=8E=8B=E5=8F=AB=E6=88=91=E6=9D=A5=E5=B7=A1?= =?UTF-8?q?=E5=B1=B1?= Date: Sat, 7 Dec 2024 03:40:48 +0000 Subject: [PATCH 26/73] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (883 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/zh_Hans/ --- static/locales/zh-CN.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/static/locales/zh-CN.yaml b/static/locales/zh-CN.yaml index 6552769e70015..e389304a164b3 100644 --- a/static/locales/zh-CN.yaml +++ b/static/locales/zh-CN.yaml @@ -380,7 +380,7 @@ Settings: 4k: '4k' 8k: '8k' Playlist Next Video Interval: 播放列表 下一个影片时间间隔 - Next Video Interval: 下个视频的间隔时间 + Next Video Interval: 自动播放倒计时器 Display Play Button In Video Player: 在视频播放器上显示播放按钮 Scroll Volume Over Video Player: 在视频播放器上滑动音量 Fast-Forward / Rewind Interval: 快进/快退间隔 @@ -402,6 +402,7 @@ Settings: Folder Label: 截屏文件夹 Enter Fullscreen on Display Rotate: 屏幕旋转时进入全屏 Skip by Scrolling Over Video Player: 从视频播放器一侧滚动到另一侧来跳过视频 + Autoplay Interruption Timer: 自动播放中断计时器 Subscription Settings: Subscription Settings: '订阅' Hide Videos on Watch: '观看时隐藏视频' @@ -1055,3 +1056,4 @@ Keys: KeyboardShortcutTemplate: '{label} ({shortcut})' shortcutJoinOperator: + Right-click or hold to see history: 右键单击或静止不动查看历史记录 +Autoplay Interruption Timer: 由于 {autoplayInterruptionIntervalHours} 小时不活跃,自动播放被取消 From bfdcb85fe680ffdac01b9544c23e1d7c16b86a64 Mon Sep 17 00:00:00 2001 From: Massimo Pissarello Date: Sat, 7 Dec 2024 05:30:46 +0000 Subject: [PATCH 27/73] Translated using Weblate (Italian) Currently translated at 100.0% (883 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/it/ --- static/locales/it.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/static/locales/it.yaml b/static/locales/it.yaml index a051286def077..79e3a1d37f8e9 100644 --- a/static/locales/it.yaml +++ b/static/locales/it.yaml @@ -421,7 +421,7 @@ Settings: 8k: '8k' Playlist Next Video Interval: Intervallo video successivo nella playlist Fast-Forward / Rewind Interval: Avanzamento veloce o riavvolgimento video - Next Video Interval: Prossimo intervallo video + Next Video Interval: Timer di conto alla rovescia per la riproduzione automatica Display Play Button In Video Player: Visualizza il pulsante di riproduzione nel lettore video Scroll Volume Over Video Player: Controlla il volume scorrendo sul lettore video @@ -446,6 +446,7 @@ Settings: del video 3 cifre. %i ID video. Puoi anche usare \ o / per creare sottocartelle. Enter Fullscreen on Display Rotate: Entra a schermo intero su Ruota schermo Skip by Scrolling Over Video Player: Salta tramite scorrimento sul lettore video + Autoplay Interruption Timer: Timer di interruzione della riproduzione automatica Privacy Settings: Privacy Settings: 'Privacy' Remember History: 'Salva la cronologia' @@ -1233,3 +1234,5 @@ Keys: KeyboardShortcutTemplate: '{label} ({shortcut})' Right-click or hold to see history: Fai clic con il tasto destro o tieni premuto per visualizzare la cronologia +Autoplay Interruption Timer: Riproduzione automatica annullata a causa di {autoplayInterruptionIntervalHours} + ore di inattività From 0e8db50ed07d0b721104031c1cfc81721cdbbe38 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Sat, 7 Dec 2024 06:45:09 +0000 Subject: [PATCH 28/73] Translated using Weblate (Hungarian) Currently translated at 100.0% (883 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/hu/ --- static/locales/hu.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/static/locales/hu.yaml b/static/locales/hu.yaml index 50cf69de672cb..c0fc6f614645d 100644 --- a/static/locales/hu.yaml +++ b/static/locales/hu.yaml @@ -429,7 +429,7 @@ Settings: 4k: '4K' 8k: '8K' Playlist Next Video Interval: Lejátszási lista következő videó intervalluma - Next Video Interval: Következő videó időköze + Next Video Interval: Automatikus lejátszás időköze Scroll Volume Over Video Player: A hangerő szintjét a videolejátszó feletti kerékkel szabályozhatja Display Play Button In Video Player: Lejátszás gomb megjelenítése a videolejátszóban @@ -456,6 +456,7 @@ Settings: Video Playback Rate Interval: Videó lejátszási sebesség léptetési köze Enter Fullscreen on Display Rotate: Teljes képernyős mód a kijelzőn forgatáshoz Skip by Scrolling Over Video Player: Kihagyás a Videolejátszó felett görgetve + Autoplay Interruption Timer: Automatikus lejátszás megszakításának időköze Privacy Settings: Privacy Settings: 'Adatvédelem' Remember History: 'Előzmények megjegyzése' @@ -1232,3 +1233,5 @@ KeyboardShortcutTemplate: '{label} ({shortcut})' shortcutJoinOperator: + Right-click or hold to see history: Kattintson a jobb gombbal vagy tartsa lenyomva az előzmények megtekintéséhez +Autoplay Interruption Timer: Az automatikus lejátszás {autoplayInterruptionIntervalHours} + óra inaktivitás miatt visszavonásra került From 1ae1f9d852849093edfbba6f18d2477ac8157ba2 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Sat, 7 Dec 2024 09:12:00 +0000 Subject: [PATCH 29/73] Translated using Weblate (Hebrew) Currently translated at 99.7% (881 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/he/ --- static/locales/he.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/locales/he.yaml b/static/locales/he.yaml index 09116352e5010..fc0048f6f2719 100644 --- a/static/locales/he.yaml +++ b/static/locales/he.yaml @@ -408,7 +408,7 @@ Settings: 4k: '4k' 8k: '8k' Playlist Next Video Interval: מרווח זמן לפני ניגון הסרטון הבא בפלייליסט - Next Video Interval: משך הסרטון הבא + Next Video Interval: מתזמן ספירה לאחור של נגינה אוטומטית Display Play Button In Video Player: הצגת כפתור הניגון בתוך נגן הווידאו Scroll Volume Over Video Player: גלילה על הסרטון לשינוי עוצמת השמע Scroll Playback Rate Over Video Player: גלילת מהירות הנגינה על גבי נגן הווידאו From 28f0b97ce8aa2545c48a853ff939dd1b67f3a450 Mon Sep 17 00:00:00 2001 From: Fjuro Date: Sat, 7 Dec 2024 09:06:24 +0000 Subject: [PATCH 30/73] Translated using Weblate (Czech) Currently translated at 100.0% (883 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/cs/ --- static/locales/cs.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/static/locales/cs.yaml b/static/locales/cs.yaml index 74261aeb9ad57..10381665269fd 100644 --- a/static/locales/cs.yaml +++ b/static/locales/cs.yaml @@ -424,7 +424,7 @@ Settings: 4k: '4k' 8k: '8k' Playlist Next Video Interval: Interval pro další video na playlistu - Next Video Interval: Další interval videa + Next Video Interval: Čas do automatického přehrání Display Play Button In Video Player: Zobrazit tlačítko Přehrát v přehrávači videa Scroll Volume Over Video Player: Měnit hlasitost posuvem kolečka myši na přehrávači Fast-Forward / Rewind Interval: Interval rychlého přetáčení vpřed / vzad @@ -449,6 +449,7 @@ Settings: Folder Button: Vybrat složku Enter Fullscreen on Display Rotate: Při otočení displeje přejít na celou obrazovku Skip by Scrolling Over Video Player: Posouvat čas posuvem kolečka myši na přehrávači + Autoplay Interruption Timer: Čas přerušení automatického přehrávání Privacy Settings: Privacy Settings: 'Soukromí' Remember History: 'Zapamatovat historii' @@ -1205,3 +1206,5 @@ Keys: arrowright: Šipka vpravo arrowleft: Šipka vlevo Right-click or hold to see history: Klikněte pravým pro zobrazení historie +Autoplay Interruption Timer: Automatické přehrávání zrušeno kvůli {autoplayInterruptionIntervalHours} + hodinám nečinnosti From 62eeedc13c4809364bb52f17a881a444c551af3a Mon Sep 17 00:00:00 2001 From: Dragibus Noir Date: Sat, 7 Dec 2024 11:06:33 +0000 Subject: [PATCH 31/73] Translated using Weblate (French) Currently translated at 100.0% (883 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/fr/ --- static/locales/fr-FR.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/static/locales/fr-FR.yaml b/static/locales/fr-FR.yaml index c8d302991266e..6232e4d8af4c1 100644 --- a/static/locales/fr-FR.yaml +++ b/static/locales/fr-FR.yaml @@ -433,7 +433,7 @@ Settings: 8k: '8k' Playlist Next Video Interval: Intervalle de la prochaine vidéo dans la liste de lecture - Next Video Interval: Intervalle vidéo suivante + Next Video Interval: Minuteur de lecture automatique Scroll Volume Over Video Player: Contrôler le niveau du volume avec la molette au dessus du lecteur vidéo Display Play Button In Video Player: Afficher le bouton de lecture dans le lecteur @@ -461,6 +461,7 @@ Settings: Folder Label: Dossier de capture d'écran Enter Fullscreen on Display Rotate: Entrer en plein écran sur l'affichage Rotation Skip by Scrolling Over Video Player: Sauter en faisant défiler le lecteur vidéo + Autoplay Interruption Timer: Minuteur d'arrêt de la lecture automatique Subscription Settings: Subscription Settings: 'Abonnements' Hide Videos on Watch: 'Masquer les vidéos visionnées' @@ -1263,3 +1264,5 @@ Keys: alt: Alt KeyboardShortcutTemplate: '{label} ({shortcut})' Right-click or hold to see history: Clic droit ou maintenez pour voir l'historique +Autoplay Interruption Timer: Lecture automatique annulée après {autoplayInterruptionIntervalHours} + heures d'inactivité From a9d2cd03d1abe2cfdf31624b12265e55a7b932a9 Mon Sep 17 00:00:00 2001 From: efb4f5ff-1298-471a-8973-3d47447115dc <73130443+efb4f5ff-1298-471a-8973-3d47447115dc@users.noreply.github.com> Date: Sat, 7 Dec 2024 14:38:36 +0100 Subject: [PATCH 32/73] Time frame changes in workflows + added stale exempt label (#6283) * Update response time * Update pr stale window * add reproduced exempt label * change stale-pr-message --- .github/workflows/no-response.yml | 2 +- .github/workflows/stale.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/no-response.yml b/.github/workflows/no-response.yml index 1e1e82bb42689..b430c13ed588d 100644 --- a/.github/workflows/no-response.yml +++ b/.github/workflows/no-response.yml @@ -20,5 +20,5 @@ jobs: This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further. - daysUntilClose: 14 + daysUntilClose: 7 responseRequiredLabel: "U: Waiting for Response from Author" diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 6945419318d9a..354408edee5ef 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -14,14 +14,14 @@ jobs: - uses: actions/stale@v9 with: stale-issue-message: 'This issue is stale because it has been open 28 days with no activity. Remove stale label or comment or this will be closed in 7 days.' - stale-pr-message: 'This PR is stale because it has been open 28 days with no activity. Remove stale label or comment or this will be closed in 14 days.' + stale-pr-message: 'This PR is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 14 days.' close-issue-message: 'This issue was closed because it has been stalled for 7 days with no activity.' close-pr-message: 'This PR was closed because it has been stalled for 14 days with no activity.' days-before-issue-stale: 28 - days-before-pr-stale: 28 + days-before-pr-stale: 14 days-before-issue-close: 7 days-before-pr-close: 14 stale-issue-label: 'U: stale' stale-pr-label: 'PR: stale' exempt-pr-labels: 'PR: WIP' - exempt-issue-labels: 'enhancement' + exempt-issue-labels: 'enhancement, U: reproduced' From 6e2ec287734800ccb374e0e815c79be3eb9dbad5 Mon Sep 17 00:00:00 2001 From: absidue <48293849+absidue@users.noreply.github.com> Date: Sat, 7 Dec 2024 14:58:55 +0100 Subject: [PATCH 33/73] Fix Hide Unsubscribe Button not hiding the button in search results (#6298) --- src/renderer/components/FtListChannel/FtListChannel.vue | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/renderer/components/FtListChannel/FtListChannel.vue b/src/renderer/components/FtListChannel/FtListChannel.vue index 4dfc93f3d4801..1c0594cf9a146 100644 --- a/src/renderer/components/FtListChannel/FtListChannel.vue +++ b/src/renderer/components/FtListChannel/FtListChannel.vue @@ -61,6 +61,7 @@ /> { return store.getters.getHideChannelSubscriptions }) +/** @type {import('vue').ComputedRef} */ +const hideUnsubscribeButton = computed(() => { + return store.getters.getHideUnsubscribeButton +}) + let id = '' let thumbnail = '' let name = '' From 5f9807c20e61c01a171f05ee4cf0f81b33881075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sveinn=20=C3=AD=20Felli?= Date: Sat, 7 Dec 2024 18:45:37 +0000 Subject: [PATCH 34/73] Translated using Weblate (Icelandic) Currently translated at 99.7% (881 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/is/ --- static/locales/is.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/static/locales/is.yaml b/static/locales/is.yaml index a17b786c9fbc5..4195fda3460b1 100644 --- a/static/locales/is.yaml +++ b/static/locales/is.yaml @@ -425,7 +425,7 @@ Settings: 1440p: '1440p' 4k: '4k' 8k: '8k' - Next Video Interval: Bil í næsta myndskeið + Next Video Interval: Niðurtalning í sjálfvirka spilun Display Play Button In Video Player: Birta afspilunarhnapp í myndspilara Scroll Volume Over Video Player: Skruna hljóðstyrk ofan á myndspilara Fast-Forward / Rewind Interval: Millibil hraðspólunar / spóla til baka @@ -450,6 +450,7 @@ Settings: File Name Label: Mynstur skráaheita Enter Fullscreen on Display Rotate: Fara í skjáfylli við snúning á skjá Skip by Scrolling Over Video Player: Sleppa með því að skruna ofan á myndspilara + Autoplay Interruption Timer: Niðurtalning í stöðvun á sjálfvirkri spilun Privacy Settings: Privacy Settings: 'Gagnaleynd' Remember History: 'Muna áhorfsferil' @@ -935,6 +936,9 @@ Video: sem þau krefjast innskráningar á Google og notkunar á aldursvottuðum YouTube-reikningi. IP block: YouTube hefur útilokað IP-vistfang þitt frá því að horfa á myndskeið. Prófaðu að skipta yfir á annan VPN eða milliþjón. + DeArrow: + Show Original Details: Birta upprunalegar nánari upplýsingar + Show Modified Details: Birta breyttar nánari upplýsingar Videos: #& Sort By Sort By: @@ -1216,3 +1220,5 @@ Keys: Right-click or hold to see history: Hægri-smelltu til að sjá feril KeyboardShortcutTemplate: '{label} ({shortcut})' shortcutJoinOperator: + +Autoplay Interruption Timer: Hætt sjálfvirkri spilun vegna {autoplayInterruptionIntervalHours} + klst án aðgerða From 695a7c7c8060f01281f5e6260acda377373a272e Mon Sep 17 00:00:00 2001 From: MaciejK2 Date: Sun, 8 Dec 2024 12:43:20 +0000 Subject: [PATCH 35/73] Translated using Weblate (Polish) Currently translated at 99.7% (881 of 883 strings) Translation: FreeTube/Translations Translate-URL: https://hosted.weblate.org/projects/free-tube/translations/pl/ --- static/locales/pl.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/static/locales/pl.yaml b/static/locales/pl.yaml index 3b5bf76f8b6e6..d8bef7cb25e1b 100644 --- a/static/locales/pl.yaml +++ b/static/locales/pl.yaml @@ -416,7 +416,7 @@ Settings: 4k: '4k' 8k: '8k' Playlist Next Video Interval: Przerwa przed kolejną pozycją playlisty - Next Video Interval: Czas do następnego filmu + Next Video Interval: Czas do następnego autoodtwarzania Scroll Volume Over Video Player: Kontroluj głośność kółkiem myszy na obszarze odtwarzacza Display Play Button In Video Player: Pokaż przycisk odtwarzania na odtwarzaczu @@ -1223,3 +1223,5 @@ Keys: Right-click or hold to see history: Kliknij prawym lub przytrzymaj, by zobaczyć historię shortcutJoinOperator: + KeyboardShortcutTemplate: '{label} ({shortcut})' +Autoplay Interruption Timer: Automatyczne odtwarzanie zostało anulowane, z powodu + {autoplayInterruptionIntervalHours} godzin(y) braku aktywności From d15e4e4a2c4266054c38378a96ebbc13718dcb82 Mon Sep 17 00:00:00 2001 From: Cristi Ciobanu Date: Sun, 8 Dec 2024 16:08:25 +0100 Subject: [PATCH 36/73] Update 'Only Show Latest Video for Each Channel' setting to handle a custom number of videos per channel (#5901) * update onlyShowLatestFromChannel setting to handle a custom amount of videos * update layout of subscription settings section * remove unused localisation strings * add labelledby attribute and update styling * use slider --- .../subscription-settings.css | 4 +++ .../subscription-settings.js | 8 +++++- .../subscription-settings.vue | 28 +++++++++++++------ src/renderer/helpers/subscriptions.js | 15 ++++++++-- src/renderer/store/modules/settings.js | 1 + static/locales/af.yaml | 1 - static/locales/ar.yaml | 1 - static/locales/be.yaml | 2 -- static/locales/bg.yaml | 2 -- static/locales/cs.yaml | 2 -- static/locales/cy.yaml | 2 -- static/locales/da.yaml | 1 - static/locales/de-DE.yaml | 2 -- static/locales/el.yaml | 2 -- static/locales/en-GB.yaml | 1 - static/locales/en-US.yaml | 3 +- static/locales/es.yaml | 2 -- static/locales/et.yaml | 1 - static/locales/eu.yaml | 2 -- static/locales/fi.yaml | 2 -- static/locales/fr-FR.yaml | 2 -- static/locales/he.yaml | 1 - static/locales/hr.yaml | 2 -- static/locales/hu.yaml | 2 -- static/locales/id.yaml | 2 -- static/locales/is.yaml | 2 -- static/locales/it.yaml | 2 -- static/locales/ja.yaml | 2 -- static/locales/nl.yaml | 2 -- static/locales/pl.yaml | 2 -- static/locales/pt-BR.yaml | 2 -- static/locales/pt-PT.yaml | 2 -- static/locales/pt.yaml | 2 -- static/locales/ro.yaml | 2 -- static/locales/ru.yaml | 2 -- static/locales/sr.yaml | 2 -- static/locales/sv.yaml | 2 -- static/locales/tr.yaml | 2 -- static/locales/uk.yaml | 2 -- static/locales/vi.yaml | 2 -- static/locales/vls.yaml | 1 - static/locales/zh-CN.yaml | 1 - static/locales/zh-TW.yaml | 1 - 43 files changed, 45 insertions(+), 79 deletions(-) create mode 100644 src/renderer/components/subscription-settings/subscription-settings.css diff --git a/src/renderer/components/subscription-settings/subscription-settings.css b/src/renderer/components/subscription-settings/subscription-settings.css new file mode 100644 index 0000000000000..a4ffb52b032a4 --- /dev/null +++ b/src/renderer/components/subscription-settings/subscription-settings.css @@ -0,0 +1,4 @@ +.onlyShowLatestFromChannelNumber { + inline-size: calc(100% - 44px); + padding-inline-start: 44px; +} diff --git a/src/renderer/components/subscription-settings/subscription-settings.js b/src/renderer/components/subscription-settings/subscription-settings.js index 231658a1f0126..1bcd535d2440b 100644 --- a/src/renderer/components/subscription-settings/subscription-settings.js +++ b/src/renderer/components/subscription-settings/subscription-settings.js @@ -2,12 +2,14 @@ import { defineComponent } from 'vue' import { mapActions } from 'vuex' import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue' import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue' +import FtSlider from '../ft-slider/ft-slider.vue' export default defineComponent({ name: 'SubscriptionSettings', components: { 'ft-settings-section': FtSettingsSection, - 'ft-toggle-switch': FtToggleSwitch + 'ft-toggle-switch': FtToggleSwitch, + 'ft-slider': FtSlider, }, computed: { hideWatchedSubs: function () { @@ -16,6 +18,9 @@ export default defineComponent({ onlyShowLatestFromChannel: function () { return this.$store.getters.getOnlyShowLatestFromChannel }, + onlyShowLatestFromChannelNumber: function () { + return this.$store.getters.getOnlyShowLatestFromChannelNumber + }, useRssFeeds: function () { return this.$store.getters.getUseRssFeeds }, @@ -32,6 +37,7 @@ export default defineComponent({ 'updateUseRssFeeds', 'updateFetchSubscriptionsAutomatically', 'updateOnlyShowLatestFromChannel', + 'updateOnlyShowLatestFromChannelNumber', 'updateUnsubscriptionPopupStatus' ]) } diff --git a/src/renderer/components/subscription-settings/subscription-settings.vue b/src/renderer/components/subscription-settings/subscription-settings.vue index 9ae067ef5da55..906fc1aa4b9e9 100644 --- a/src/renderer/components/subscription-settings/subscription-settings.vue +++ b/src/renderer/components/subscription-settings/subscription-settings.vue @@ -18,6 +18,12 @@ :compact="true" @change="updateUseRssFeeds" /> +
-
-
- +
+ +
+ +