diff --git a/frontend/package.json b/frontend/package.json index a5291f3..cb63148 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "yt-dlp-webui", - "version": "3.1.2", + "version": "3.2.0", "description": "Frontend compontent of yt-dlp-webui", "scripts": { "dev": "vite", diff --git a/frontend/src/assets/i18n.yaml b/frontend/src/assets/i18n.yaml index 498df17..0f6288b 100644 --- a/frontend/src/assets/i18n.yaml +++ b/frontend/src/assets/i18n.yaml @@ -54,7 +54,16 @@ languages: rpcPollingTimeTitle: RPC polling time rpcPollingTimeDescription: A lower interval results in higher CPU usage (server and client side) templatesReloadInfo: To register a new template it might need a page reload. - livestreamURLInput: Livestream url + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! german: urlInput: Video URL statusTitle: Status @@ -105,6 +114,16 @@ languages: logsTitle: 'Logs' awaitingLogs: 'Awaiting logs...' bulkDownload: 'Download files in a zip archive' + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! french: urlInput: URL vidéo de YouTube ou d'un autre service pris en charge statusTitle: Statut @@ -157,6 +176,16 @@ languages: logsTitle: 'Logs' awaitingLogs: 'Awaiting logs...' bulkDownload: 'Download files in a zip archive' + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! italian: urlInput: URL Video (uno per linea) statusTitle: Stato @@ -206,6 +235,16 @@ languages: logsTitle: 'Logs' awaitingLogs: 'Awaiting logs...' bulkDownload: 'Download files in a zip archive' + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! chinese: urlInput: 视频 URL statusTitle: 状态 @@ -256,6 +295,16 @@ languages: logsTitle: '日志' awaitingLogs: '正在等待日志…' bulkDownload: 'Download files in a zip archive' + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! spanish: urlInput: URL de YouTube u otro servicio compatible statusTitle: Estado @@ -304,6 +353,16 @@ languages: logsTitle: 'Logs' awaitingLogs: 'Awaiting logs...' bulkDownload: 'Download files in a zip archive' + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! russian: urlInput: URL-адрес YouTube или любого другого поддерживаемого сервиса statusTitle: Статус @@ -352,6 +411,16 @@ languages: logsTitle: 'Логи' awaitingLogs: 'Ожидание логов...' bulkDownload: 'Скачать файлы в zip архиве' + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! korean: urlInput: YouTube나 다른 지원되는 사이트의 URL statusTitle: 상태 @@ -400,6 +469,16 @@ languages: logsTitle: 'Logs' awaitingLogs: 'Awaiting logs...' bulkDownload: 'Download files in a zip archive' + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! japanese: urlInput: YouTubeまたはサポート済み動画のURL statusTitle: 状態 @@ -449,6 +528,16 @@ languages: logsTitle: 'Logs' awaitingLogs: 'Awaiting logs...' bulkDownload: 'Download files in a zip archive' + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! catalan: urlInput: URL de YouTube o d'un altre servei compatible statusTitle: Estat @@ -497,6 +586,16 @@ languages: logsTitle: 'Logs' awaitingLogs: 'Awaiting logs...' bulkDownload: 'Download files in a zip archive' + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! ukrainian: urlInput: URL-адреса YouTube або будь-якого іншого підтримуваного сервісу statusTitle: Статус @@ -545,6 +644,16 @@ languages: logsTitle: 'Logs' awaitingLogs: 'Awaiting logs...' bulkDownload: 'Download files in a zip archive' + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! polish: urlInput: Adres URL YouTube lub innej obsługiwanej usługi statusTitle: Status @@ -593,6 +702,16 @@ languages: logsTitle: 'Logs' awaitingLogs: 'Awaiting logs...' bulkDownload: 'Download files in a zip archive' + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! swedish: urlInput: Videolänk (en per rad) statusTitle: Status @@ -647,3 +766,13 @@ languages: rpcPollingTimeTitle: Frekvens av RPC-uppdateringar rpcPollingTimeDescription: En högre frekvens kräver mer CPU-resurser för både server och klient templatesReloadInfo: För att registrera en ny mall så kan en sidomladdning krävas. + livestreamURLInput: Livestream URL + livestreamStatusWaiting: Waiting/Wait start + livestreamStatusDownloading: Downloading + livestreamStatusCompleted: Completed + livestreamStatusErrored: Errored + livestreamStatusUnknown: Unknown + livestreamDownloadInfo: | + This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10. + If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + livestreamExperimentalWarning: This feature is still experimental. Something might break! diff --git a/frontend/src/components/Footer.tsx b/frontend/src/components/Footer.tsx index 1c095d9..bd0a8e5 100644 --- a/frontend/src/components/Footer.tsx +++ b/frontend/src/components/Footer.tsx @@ -35,7 +35,8 @@ const Footer: React.FC = () => { display: 'flex', gap: 1, justifyContent: 'space-between' }}>
- + {/* TODO: make it dynamic */} +
diff --git a/frontend/src/components/livestream/LivestreamDialog.tsx b/frontend/src/components/livestream/LivestreamDialog.tsx index 60b2c47..4327947 100644 --- a/frontend/src/components/livestream/LivestreamDialog.tsx +++ b/frontend/src/components/livestream/LivestreamDialog.tsx @@ -83,11 +83,10 @@ const LivestreamDialog: React.FC = ({ open, onClose }) => { - This will monitor yet to start livestream. Each process will be executed with --wait-for-video 10.
- If an already started livestream is provided it will be still downloaded but its progress will not be tracked. + {i18n.t('livestreamDownloadInfo')}
- This feature is still experimental. Something might break! + {i18n.t('livestreamExperimentalWarning')}
diff --git a/frontend/src/views/Livestream.tsx b/frontend/src/views/Livestream.tsx index 97ad816..e6577d5 100644 --- a/frontend/src/views/Livestream.tsx +++ b/frontend/src/views/Livestream.tsx @@ -13,10 +13,12 @@ import LivestreamSpeedDial from '../components/livestream/LivestreamSpeedDial' import NoLivestreams from '../components/livestream/NoLivestreams' import LoadingBackdrop from '../components/LoadingBackdrop' import { useSubscription } from '../hooks/observable' +import { useI18n } from '../hooks/useI18n' import { useRPC } from '../hooks/useRPC' import { LiveStreamProgress, LiveStreamStatus } from '../types' const LiveStreamMonitorView: React.FC = () => { + const { i18n } = useI18n() const { client } = useRPC() const [progress, setProgress] = useState() @@ -57,7 +59,7 @@ const LiveStreamMonitorView: React.FC = () => { case LiveStreamStatus.ERRORED: return default: - return + return } } @@ -84,7 +86,7 @@ const LiveStreamMonitorView: React.FC = () => { - Livestream URL + {i18n.t('livestreamURLInput')} Status Time to live Starts on