From bf7adcd7b40fae5fb21dee3e12f838cab37dd7b1 Mon Sep 17 00:00:00 2001 From: 4gray Date: Tue, 10 Mar 2026 08:36:51 +0100 Subject: [PATCH] refactor(settings): add system theme option to language files Added "SYSTEM_THEME" translations to various language JSON files --- apps/web/src/assets/i18n/ar.json | 3 +- apps/web/src/assets/i18n/ary.json | 3 +- apps/web/src/assets/i18n/by.json | 3 +- apps/web/src/assets/i18n/de.json | 165 +++++++++++++++++++++++++++- apps/web/src/assets/i18n/el.json | 3 +- apps/web/src/assets/i18n/en.json | 143 +++++++++++++++++++++++- apps/web/src/assets/i18n/es.json | 3 +- apps/web/src/assets/i18n/fr.json | 3 +- apps/web/src/assets/i18n/it.json | 3 +- apps/web/src/assets/i18n/ja.json | 3 +- apps/web/src/assets/i18n/ko.json | 3 +- apps/web/src/assets/i18n/nl.json | 3 +- apps/web/src/assets/i18n/pl.json | 3 +- apps/web/src/assets/i18n/pt.json | 3 +- apps/web/src/assets/i18n/ru.json | 167 ++++++++++++++++++++++++++++- apps/web/src/assets/i18n/tr.json | 3 +- apps/web/src/assets/i18n/zh.json | 3 +- apps/web/src/assets/i18n/zhtw.json | 3 +- 18 files changed, 498 insertions(+), 22 deletions(-) diff --git a/apps/web/src/assets/i18n/ar.json b/apps/web/src/assets/i18n/ar.json index 48ce4a72b..73abc33f7 100644 --- a/apps/web/src/assets/i18n/ar.json +++ b/apps/web/src/assets/i18n/ar.json @@ -166,7 +166,8 @@ }, "THEMES": { "DARK_THEME": "السمة الداكنة", - "LIGHT_THEME": "السمة الفاتحة" + "LIGHT_THEME": "السمة الفاتحة", + "SYSTEM_THEME": "سمة النظام" }, "CHANNELS": { "SEARCH_CHANNEL": "البحث عن قناة", diff --git a/apps/web/src/assets/i18n/ary.json b/apps/web/src/assets/i18n/ary.json index 2ffeaf4ae..f7664831f 100644 --- a/apps/web/src/assets/i18n/ary.json +++ b/apps/web/src/assets/i18n/ary.json @@ -158,7 +158,8 @@ }, "THEMES": { "DARK_THEME": "المظهر الداكن", - "LIGHT_THEME": "المظهر الفاتح" + "LIGHT_THEME": "المظهر الفاتح", + "SYSTEM_THEME": "مظهر النظام" }, "CHANNELS": { "SEARCH_CHANNEL": "قلب على قناة", diff --git a/apps/web/src/assets/i18n/by.json b/apps/web/src/assets/i18n/by.json index 525d59ef5..5715b2a5c 100644 --- a/apps/web/src/assets/i18n/by.json +++ b/apps/web/src/assets/i18n/by.json @@ -160,7 +160,8 @@ }, "THEMES": { "DARK_THEME": "Цёмная тэма", - "LIGHT_THEME": "Светлая тэма" + "LIGHT_THEME": "Светлая тэма", + "SYSTEM_THEME": "Сістэмная тэма" }, "CHANNELS": { "SEARCH_CHANNEL": "Пошук каналаў", diff --git a/apps/web/src/assets/i18n/de.json b/apps/web/src/assets/i18n/de.json index 7fb44a5a8..2fd8a3253 100644 --- a/apps/web/src/assets/i18n/de.json +++ b/apps/web/src/assets/i18n/de.json @@ -289,7 +289,8 @@ }, "THEMES": { "DARK_THEME": "Dunkel", - "LIGHT_THEME": "Hell" + "LIGHT_THEME": "Hell", + "SYSTEM_THEME": "System" }, "TOP_MENU": { "OPEN_CHANNELS_LIST": "Senderliste öffnen", @@ -479,36 +480,196 @@ "UNSUPPORTED_WIDGET": "Nicht unterstütztes Widget", "UNSUPPORTED_WIDGET_DESC": "Dieser Widget-Typ ist in diesem Build nicht verfügbar.", "CONTINUE_WATCHING": "Weiter schauen", + "CONTINUE_WATCHING_DESC": "Setze die zuletzt aktive Quelle fort.", "FOCUS": "Fokus", "UNTITLED_SOURCE": "Unbenannte Quelle", "OPEN_SOURCE": "Quelle öffnen", "MANAGE_SOURCES": "Quellen verwalten", "NO_ACTIVE_SOURCE": "Noch keine aktive Quelle ausgewählt.", + "NO_ACTIVE_SOURCE_HINT": "Wähle eine Playlist in der Seitenleiste aus, um dort weiterzumachen, wo du aufgehört hast.", "ADD_SOURCE": "Quelle hinzufügen", "RECENTLY_USED": "Zuletzt verwendet", + "RECENTLY": "Kürzlich", + "JUST_NOW": "Gerade eben", + "MINUTES_AGO": "vor {{count}} Min.", + "HOURS_AGO": "vor {{count}} Std.", + "DAYS_AGO": "vor {{count}} T.", "GLOBAL_FAVORITES": "Globale Favoriten", + "GLOBAL_FAVORITES_DESC": "Angeheftete Elemente aus allen verbundenen Anbietern.", "LIBRARY": "Bibliothek", "FILTER_ITEMS": "Elemente filtern", + "FILTER_RECENTLY_WATCHED": "Zuletzt angesehene Inhalte filtern", + "FILTER_GLOBAL_FAVORITES": "Globale Favoriten filtern", "ALL": "Alle", + "ALL_PROVIDERS": "Alle Anbieter", "CHANNELS": "Sender", "VOD": "VOD", "SERIES": "Serien", "LIST_VIEW": "Listenansicht", "GRID_VIEW": "Gitteransicht", + "GLOBAL_FAVORITES_VIEW_MODE": "Ansicht für globale Favoriten auswählen", + "RECENTLY_WATCHED_VIEW_MODE": "Ansicht für zuletzt angesehene Inhalte auswählen", + "REMOVE_FAVORITE": "Favorit entfernen", + "REMOVE_FROM_HISTORY": "Aus Verlauf entfernen", "NO_FAVORITES": "Keine Favoriten für diesen Filter gefunden.", + "NO_FAVORITES_HINT": "Du hast noch keine Sender, Filme oder Serien zu deinen globalen Favoriten hinzugefügt. Verwende das Sternsymbol, um Elemente zu favorisieren.", "RECENT_SOURCES": "Letzte Quellen", "MANAGE_ALL": "Alle verwalten", + "NO_SOURCES_HINT": "Füge eine Playlist hinzu oder importiere sie, um deine Bibliothek aufzubauen.", "NO_SOURCES": "Noch keine Quellen verfügbar.", "OPEN_SOURCES": "Quellen öffnen", "RECENTLY_WATCHED": "Zuletzt angesehen", + "RECENTLY_WATCHED_DESC": "Globaler Verlauf über Sender, VOD und Serien.", "ACTIVITY": "Aktivität", "NO_HISTORY": "Keine Elemente für diesen Filter gefunden.", + "NO_HISTORY_HINT": "Dein Wiedergabeverlauf erscheint hier, sobald du Inhalte aus deinen Playlists abspielst.", "SOURCE_STATS": "Quellen-Statistiken", + "SOURCE_STATS_DESC": "Aktueller Quellenmix und Gesamtzahl verbundener Bibliotheken.", "OVERVIEW": "Übersicht", "TOTAL": "Gesamt", "XTREAM": "Xtream", "STALKER": "Stalker", - "M3U": "M3U" + "M3U": "M3U", + "STALKER_PORTAL": "Stalker-Portal", + "PROVIDER": "Anbieter", + "TOPBAR_LABEL": "Dashboard", + "TOOLBAR_RESET": "Layout zurücksetzen", + "TOOLBAR_CUSTOMIZE": "Dashboard anpassen", + "TOOLBAR_DONE": "Fertig", + "TOOLBAR_HINT_EDITING": "Ziehe Karten am Griff. Ändere die Größe direkt im Widget. Nutze die Seitenleiste für Sichtbarkeit und Bereich.", + "CUSTOMIZE_LAYOUT": "Dashboard-Layout anpassen", + "DRAG_WIDGET": "{{title}} ziehen", + "MAKE_WIDGET_NARROWER": "Widget schmaler machen", + "MAKE_WIDGET_WIDER": "Widget breiter machen", + "HIDE_WIDGET": "{{title}} ausblenden", + "WIDGET_LIBRARY_TITLE": "Widget-Bibliothek", + "WIDGET_LIBRARY_HINT": "Widgets ein- oder ausblenden und den Anbieterbereich konfigurieren, ohne die Fläche zu verlassen.", + "WIDGET_VISIBILITY": "Sichtbarkeit", + "WIDGET_VISIBLE": "Sichtbar", + "WIDGET_ADVANCED": "Erweiterte Einstellungen", + "WIDGET_SCOPE": "Bereich", + "WIDGET_SCOPE_SUMMARY": "Bereich ({{summary}})", + "WIDGET_SCOPE_PROVIDERS": "Anbieterfilter:", + "WIDGET_SCOPE_ALL_HINT": "Wenn keine Anbieter ausgewählt sind, werden alle Anbieter eingeschlossen.", + "WIDGET_SCOPE_PLAYLISTS": "Playlists (leer lassen, um alle Playlists im aktuellen Anbieterbereich zu verwenden)", + "WIDGET_SCOPE_EMPTY": "Für die ausgewählten Anbieter sind keine Playlists verfügbar.", + "EMPTY_WIDGETS": "Keine sichtbaren Widgets", + "EMPTY_WIDGETS_HINT": "Aktiviere mindestens ein Widget in der Seitenleiste.", + "NO_HISTORY_CW": "Noch nichts angesehen", + "NO_HISTORY_CW_HINT": "Sobald du einen Sender, Film oder eine Serie ansiehst, erscheint er hier.", + "TYPE_LIVE": "Live", + "TYPE_MOVIE": "Film", + "TYPE_SERIES": "Serie", + "MIN_LEFT": "Min. verbleibend", + "NOT_YET_SYNCED": "Noch nicht synchronisiert", + "SELECTED_COUNT": "{{count}} ausgewählt", + "SIZE_FULL": "Voll" + }, + "SHELL": { + "BRAND_ALT": "IPTVnator", + "RAIL_DASHBOARD": "Dashboard", + "OPEN_DASHBOARD": "Dashboard öffnen", + "RAIL_SOURCES": "Quellen", + "RAIL_SETTINGS": "Einstellungen", + "OPEN_SETTINGS": "Einstellungen öffnen", + "RAIL_LIBRARY": "Bibliothek", + "RAIL_MOVIES": "Filme", + "RAIL_LIVE": "Live-TV", + "RAIL_SERIES": "Serien", + "RAIL_RECENTLY_ADDED": "Zuletzt hinzugefügt", + "RAIL_SEARCH": "Suche", + "RAIL_RECENT": "Zuletzt angesehen", + "RAIL_FAVORITES": "Favoriten", + "RAIL_DOWNLOADS": "Downloads", + "RAIL_ALL_CHANNELS": "Alle Sender", + "RAIL_GROUPS": "Gruppen", + "RAIL_CONTEXT_ACTIONS": "Bereichsaktionen", + "SEARCH_LABEL": "Suche", + "SEARCH_SOURCES_PLACEHOLDER": "Quellen durchsuchen (alle Playlists)...", + "SEARCH_PLAYLIST_PLACEHOLDER": "In dieser Playlist suchen...", + "SEARCH_SECTION_PLACEHOLDER": "In diesem Abschnitt suchen...", + "FILTER_SECTION_PLACEHOLDER": "Diesen Abschnitt filtern...", + "COMMAND_PALETTE_SHORTCUT": "Befehlspalette (Ctrl/Cmd+K)", + "OPEN_COMMAND_PALETTE": "Befehlspalette öffnen", + "ADD_PLAYLIST_ALL": "Playlist hinzufügen (alle Playlists)", + "ADD_PLAYLIST": "Playlist hinzufügen", + "OPEN_GLOBAL_FAVORITES": "Globale Favoriten öffnen", + "OPEN_DOWNLOADS": "Downloads öffnen", + "OPEN_CONTEXT_ACTIONS": "Bereichsaktionen öffnen", + "NO_SECTION_ACTIONS": "Keine Aktionen für diesen Abschnitt", + "PLAYLIST_INFO": "Playlist-Info", + "ACCOUNT_INFO": "Kontoinfo", + "CLEAR_COMPLETED_DOWNLOADS_ALL": "Abgeschlossene Downloads löschen (alle Playlists)", + "CLEAR_COMPLETED_DOWNLOADS_ALL_ARIA": "Abgeschlossene Downloads für alle Playlists löschen", + "CLEAR_COMPLETED_DOWNLOADS_THIS_PLAYLIST": "Abgeschlossene Downloads löschen (diese Playlist)", + "CLEAR_COMPLETED_DOWNLOADS_THIS_PLAYLIST_ARIA": "Abgeschlossene Downloads für diese Playlist löschen", + "CLEAR_RECENTLY_VIEWED_SECTION": "Zuletzt angesehen löschen (dieser Abschnitt)", + "CLEAR_RECENTLY_VIEWED_SECTION_ARIA": "Zuletzt angesehen für diesen Abschnitt löschen", + "XTREAM_CODE": "Xtream Code", + "STALKER_PORTAL": "Stalker-Portal", + "CHANNELS_COUNT": "{{count}} Sender", + "NO_SOURCES_AVAILABLE": "Keine Quellen verfügbar", + "ONE_SOURCE_AVAILABLE": "1 Quelle verfügbar", + "SOURCES_AVAILABLE": "{{count}} Quellen verfügbar", + "COMMANDS": { + "GLOBAL_SEARCH_LABEL": "Alle Xtream-Playlists durchsuchen", + "GLOBAL_SEARCH_DESCRIPTION": "Globale Suchüberlagerung öffnen", + "PLAYLIST_SEARCH_LABEL": "Diese Playlist durchsuchen", + "PLAYLIST_SEARCH_DESCRIPTION": "Suchroute der Playlist öffnen", + "OPEN_GLOBAL_FAVORITES_LABEL": "Globale Favoriten öffnen", + "OPEN_GLOBAL_FAVORITES_DESCRIPTION": "Zur aggregierten Favoritenansicht wechseln", + "OPEN_DOWNLOADS_LABEL": "Downloads öffnen", + "OPEN_DOWNLOADS_DESCRIPTION": "Zur Download-Ansicht wechseln", + "OPEN_GLOBAL_RECENT_LABEL": "Zuletzt angesehen öffnen", + "OPEN_GLOBAL_RECENT_DESCRIPTION": "Globale Zuletzt-angesehen-Überlagerung öffnen" + } + }, + "SOURCES": { + "TITLE": "Quellen", + "SUBTITLE": "Playlists filtern und sortieren", + "TYPE": "Typ", + "ALL": "Alle", + "M3U_PLAYLISTS": "M3U-Playlists", + "XTREAM_PLAYLISTS": "Xtream-Playlists", + "STALKER_PLAYLISTS": "Stalker-Playlists", + "ALL_PLAYLISTS": "Alle Playlists", + "PLAYLIST_COUNT_ONE": "1 Playlist", + "PLAYLIST_COUNT_OTHER": "{{count}} Playlists" + }, + "CONTEXT": { + "CATEGORIES": "Kategorien", + "MOVIE_CATEGORIES": "Filmkategorien", + "SERIES_CATEGORIES": "Serienkategorien", + "LIVE_CATEGORIES": "Live-Kategorien", + "XTREAM_SOURCE": "Xtream-Quelle", + "STALKER_PORTAL": "Stalker-Portal", + "MANAGE_CATEGORIES": "Kategorien verwalten", + "LOAD_CATEGORIES_ERROR": "Kategorien konnten nicht geladen werden", + "LOAD_CATEGORIES_ERROR_HINT": "Bitte erneut versuchen oder die Portal-Einstellungen prüfen.", + "FILTER_BY_TYPE": "Nach Typ filtern", + "ITEM_COUNT_ONE": "1 Element", + "ITEM_COUNT_OTHER": "{{count}} Elemente" + }, + "COMMAND_PALETTE": { + "TITLE": "Befehlspalette", + "SUBTITLE": "Globale und kontextbezogene Aktionen", + "SEARCH_PLACEHOLDER": "Zum Filtern der Befehle tippen", + "SEARCH_LABEL": "Befehle filtern", + "EMPTY": "Keine Befehle gefunden", + "GROUP_GLOBAL": "Globale Aktionen", + "GROUP_PLAYLIST": "Diese Playlist", + "GROUP_SECTION": "Dieser Abschnitt" + }, + "GLOBAL_FAVORITES": { + "TITLE": "Globale Favoriten", + "SUBTITLE": "Live-TV aus allen Playlists", + "SEARCH_PLACEHOLDER": "Favoriten durchsuchen...", + "NO_RESULTS": "Keine Ergebnisse", + "NO_RESULTS_HINT": "Versuche einen anderen Suchbegriff", + "EMPTY_TITLE": "Noch keine Live-TV-Favoriten", + "EMPTY_HINT": "Markiere Live-Kanäle aus M3U-, Xtream- oder Stalker-Playlists mit einem Stern, damit sie hier erscheinen.", + "EMPTY_PLAYER": "Wähle einen Sender zum Starten", + "UNKNOWN_CHANNEL": "Unbekannt" } } } diff --git a/apps/web/src/assets/i18n/el.json b/apps/web/src/assets/i18n/el.json index 8a65f6060..1f8b365c8 100644 --- a/apps/web/src/assets/i18n/el.json +++ b/apps/web/src/assets/i18n/el.json @@ -209,7 +209,8 @@ }, "THEMES": { "DARK_THEME": "Σκούρο θέμα", - "LIGHT_THEME": "Ανοιχτόχρωμο θέμα" + "LIGHT_THEME": "Ανοιχτόχρωμο θέμα", + "SYSTEM_THEME": "Θέμα συστήματος" }, "CHANNELS": { "SEARCH_CHANNEL": "Αναζήτηση καναλιού", diff --git a/apps/web/src/assets/i18n/en.json b/apps/web/src/assets/i18n/en.json index c274dec8f..b4ef5566c 100644 --- a/apps/web/src/assets/i18n/en.json +++ b/apps/web/src/assets/i18n/en.json @@ -243,7 +243,8 @@ }, "THEMES": { "DARK_THEME": "Dark theme", - "LIGHT_THEME": "Light theme" + "LIGHT_THEME": "Light theme", + "SYSTEM_THEME": "System theme" }, "CHANNELS": { "SEARCH_CHANNEL": "Search channel", @@ -536,6 +537,7 @@ "UNSUPPORTED_WIDGET": "Unsupported widget", "UNSUPPORTED_WIDGET_DESC": "This widget type is not available in this build.", "CONTINUE_WATCHING": "Continue Watching", + "CONTINUE_WATCHING_DESC": "Jump back into the last active source.", "FOCUS": "Focus", "UNTITLED_SOURCE": "Untitled source", "OPEN_SOURCE": "Open Source", @@ -544,38 +546,66 @@ "NO_ACTIVE_SOURCE_HINT": "Select a playlist from the sidebar to continue where you left off.", "ADD_SOURCE": "Add Source", "RECENTLY_USED": "Recently used", + "RECENTLY": "Recently", + "JUST_NOW": "Just now", + "MINUTES_AGO": "{{count}}m ago", + "HOURS_AGO": "{{count}}h ago", + "DAYS_AGO": "{{count}}d ago", "GLOBAL_FAVORITES": "Global Favorites", + "GLOBAL_FAVORITES_DESC": "Pinned items across all connected providers.", "LIBRARY": "Library", "FILTER_ITEMS": "Filter items", + "FILTER_RECENTLY_WATCHED": "Filter recently watched content", + "FILTER_GLOBAL_FAVORITES": "Filter global favorites content", "ALL": "All", + "ALL_PROVIDERS": "All providers", "CHANNELS": "Channels", "VOD": "VOD", "SERIES": "Series", "LIST_VIEW": "List view", "GRID_VIEW": "Grid view", + "GLOBAL_FAVORITES_VIEW_MODE": "Select global favorites view mode", + "RECENTLY_WATCHED_VIEW_MODE": "Select recently watched view mode", + "REMOVE_FAVORITE": "Remove favorite", + "REMOVE_FROM_HISTORY": "Remove from history", "NO_FAVORITES": "No favorites found for this filter.", "NO_FAVORITES_HINT": "You haven't added any channels, movies, or series to your global favorites yet. Use the star icon to favorite items.", + "RECENT_SOURCES": "Recent Sources", + "MANAGE_ALL": "Manage all", + "NO_SOURCES": "No sources available yet.", + "NO_SOURCES_HINT": "Add or import a playlist to start building your library.", + "OPEN_SOURCES": "Open Sources", "RECENTLY_WATCHED": "Recently Watched", + "RECENTLY_WATCHED_DESC": "Global watch history across channels, VOD and series.", "ACTIVITY": "Activity", "NO_HISTORY": "No items found for this filter.", "NO_HISTORY_HINT": "Your watching history will appear here once you start playing content from your playlists.", "SOURCE_STATS": "Source Statistics", + "SOURCE_STATS_DESC": "Current source mix and total connected libraries.", "OVERVIEW": "Overview", "TOTAL": "Total", "XTREAM": "Xtream", "STALKER": "Stalker", "M3U": "M3U", + "STALKER_PORTAL": "Stalker Portal", + "PROVIDER": "Provider", "TOPBAR_LABEL": "Dashboard", "TOOLBAR_RESET": "Reset Layout", "TOOLBAR_CUSTOMIZE": "Customize dashboard", "TOOLBAR_DONE": "Done", "TOOLBAR_HINT_EDITING": "Drag cards by the handle. Resize inline. Use the sidebar for visibility and scope.", + "CUSTOMIZE_LAYOUT": "Customize dashboard layout", + "DRAG_WIDGET": "Drag {{title}}", + "MAKE_WIDGET_NARROWER": "Make widget narrower", + "MAKE_WIDGET_WIDER": "Make widget wider", + "HIDE_WIDGET": "Hide {{title}}", "WIDGET_LIBRARY_TITLE": "Widget Library", "WIDGET_LIBRARY_HINT": "Show/hide widgets and configure provider scope without leaving the canvas.", "WIDGET_VISIBILITY": "Visibility", "WIDGET_VISIBLE": "Visible", "WIDGET_ADVANCED": "Advanced settings", "WIDGET_SCOPE": "Scope", + "WIDGET_SCOPE_SUMMARY": "Scope ({{summary}})", "WIDGET_SCOPE_PROVIDERS": "Provider filters:", "WIDGET_SCOPE_ALL_HINT": "No providers selected means all providers are included.", "WIDGET_SCOPE_PLAYLISTS": "Playlists (leave empty to use all playlists in current provider scope)", @@ -587,7 +617,116 @@ "TYPE_LIVE": "Live", "TYPE_MOVIE": "Movie", "TYPE_SERIES": "Series", - "MIN_LEFT": "min left" + "MIN_LEFT": "min left", + "NOT_YET_SYNCED": "Not yet synced", + "SELECTED_COUNT": "{{count}} selected", + "SIZE_FULL": "Full" + }, + "SHELL": { + "BRAND_ALT": "IPTVnator", + "RAIL_DASHBOARD": "Dashboard", + "OPEN_DASHBOARD": "Open dashboard", + "RAIL_SOURCES": "Sources", + "RAIL_SETTINGS": "Settings", + "OPEN_SETTINGS": "Open settings", + "RAIL_LIBRARY": "Library", + "RAIL_MOVIES": "Movies", + "RAIL_LIVE": "Live TV", + "RAIL_SERIES": "Series", + "RAIL_RECENTLY_ADDED": "Recently added", + "RAIL_SEARCH": "Search", + "RAIL_RECENT": "Recently viewed", + "RAIL_FAVORITES": "Favorites", + "RAIL_DOWNLOADS": "Downloads", + "RAIL_ALL_CHANNELS": "All channels", + "RAIL_GROUPS": "Groups", + "RAIL_CONTEXT_ACTIONS": "Section actions", + "SEARCH_LABEL": "Search", + "SEARCH_SOURCES_PLACEHOLDER": "Search sources (all playlists)...", + "SEARCH_PLAYLIST_PLACEHOLDER": "Search in this playlist...", + "SEARCH_SECTION_PLACEHOLDER": "Search in this section...", + "FILTER_SECTION_PLACEHOLDER": "Filter this section...", + "COMMAND_PALETTE_SHORTCUT": "Command palette (Ctrl/Cmd+K)", + "OPEN_COMMAND_PALETTE": "Open command palette", + "ADD_PLAYLIST_ALL": "Add playlist (all playlists)", + "ADD_PLAYLIST": "Add playlist", + "OPEN_GLOBAL_FAVORITES": "Open global favorites", + "OPEN_DOWNLOADS": "Open downloads", + "OPEN_CONTEXT_ACTIONS": "Open section actions", + "NO_SECTION_ACTIONS": "No actions for this section", + "PLAYLIST_INFO": "Playlist info", + "ACCOUNT_INFO": "Account info", + "CLEAR_COMPLETED_DOWNLOADS_ALL": "Clear completed downloads (all playlists)", + "CLEAR_COMPLETED_DOWNLOADS_ALL_ARIA": "Clear completed downloads for all playlists", + "CLEAR_COMPLETED_DOWNLOADS_THIS_PLAYLIST": "Clear completed downloads (this playlist)", + "CLEAR_COMPLETED_DOWNLOADS_THIS_PLAYLIST_ARIA": "Clear completed downloads for this playlist", + "CLEAR_RECENTLY_VIEWED_SECTION": "Clear recently viewed (this section)", + "CLEAR_RECENTLY_VIEWED_SECTION_ARIA": "Clear recently viewed for this section", + "XTREAM_CODE": "Xtream Code", + "STALKER_PORTAL": "Stalker Portal", + "CHANNELS_COUNT": "{{count}} channels", + "NO_SOURCES_AVAILABLE": "No sources available", + "ONE_SOURCE_AVAILABLE": "1 source available", + "SOURCES_AVAILABLE": "{{count}} sources available", + "COMMANDS": { + "GLOBAL_SEARCH_LABEL": "Search all Xtream playlists", + "GLOBAL_SEARCH_DESCRIPTION": "Open global search overlay", + "PLAYLIST_SEARCH_LABEL": "Search this playlist", + "PLAYLIST_SEARCH_DESCRIPTION": "Open playlist search route", + "OPEN_GLOBAL_FAVORITES_LABEL": "Open global favorites", + "OPEN_GLOBAL_FAVORITES_DESCRIPTION": "Navigate to aggregated favorites", + "OPEN_DOWNLOADS_LABEL": "Open downloads", + "OPEN_DOWNLOADS_DESCRIPTION": "Navigate to downloads view", + "OPEN_GLOBAL_RECENT_LABEL": "Open recently viewed", + "OPEN_GLOBAL_RECENT_DESCRIPTION": "Open global recently viewed overlay" + } + }, + "SOURCES": { + "TITLE": "Sources", + "SUBTITLE": "Filter and sort playlists", + "TYPE": "Type", + "ALL": "All", + "M3U_PLAYLISTS": "M3U Playlists", + "XTREAM_PLAYLISTS": "Xtream Playlists", + "STALKER_PLAYLISTS": "Stalker Playlists", + "ALL_PLAYLISTS": "All Playlists", + "PLAYLIST_COUNT_ONE": "1 playlist", + "PLAYLIST_COUNT_OTHER": "{{count}} playlists" + }, + "CONTEXT": { + "CATEGORIES": "Categories", + "MOVIE_CATEGORIES": "Movie Categories", + "SERIES_CATEGORIES": "Series Categories", + "LIVE_CATEGORIES": "Live Categories", + "XTREAM_SOURCE": "Xtream source", + "STALKER_PORTAL": "Stalker portal", + "MANAGE_CATEGORIES": "Manage categories", + "LOAD_CATEGORIES_ERROR": "Unable to load categories", + "LOAD_CATEGORIES_ERROR_HINT": "Please retry or verify portal settings.", + "FILTER_BY_TYPE": "Filter by type", + "ITEM_COUNT_ONE": "1 item", + "ITEM_COUNT_OTHER": "{{count}} items" + }, + "COMMAND_PALETTE": { + "TITLE": "Command palette", + "SUBTITLE": "Global and contextual actions", + "SEARCH_PLACEHOLDER": "Type to filter commands", + "SEARCH_LABEL": "Filter commands", + "EMPTY": "No commands found", + "GROUP_GLOBAL": "Global actions", + "GROUP_PLAYLIST": "This playlist", + "GROUP_SECTION": "This section" + }, + "GLOBAL_FAVORITES": { + "TITLE": "Global Favorites", + "SUBTITLE": "Live TV from all playlists", + "SEARCH_PLACEHOLDER": "Search favorites...", + "NO_RESULTS": "No results", + "NO_RESULTS_HINT": "Try a different search term", + "EMPTY_TITLE": "No live TV favorites yet", + "EMPTY_HINT": "Star live channels from M3U, Xtream, or Stalker playlists to see them here.", + "EMPTY_PLAYER": "Select a channel to start watching", + "UNKNOWN_CHANNEL": "Unknown" } } } diff --git a/apps/web/src/assets/i18n/es.json b/apps/web/src/assets/i18n/es.json index 1b5ffb50c..46b52e628 100644 --- a/apps/web/src/assets/i18n/es.json +++ b/apps/web/src/assets/i18n/es.json @@ -185,7 +185,8 @@ }, "THEMES": { "DARK_THEME": "Tema oscuro", - "LIGHT_THEME": "Tema claro" + "LIGHT_THEME": "Tema claro", + "SYSTEM_THEME": "Tema del sistema" }, "CHANNELS": { "SEARCH_CHANNEL": "Buscar canal", diff --git a/apps/web/src/assets/i18n/fr.json b/apps/web/src/assets/i18n/fr.json index 525a76111..9661e5e93 100644 --- a/apps/web/src/assets/i18n/fr.json +++ b/apps/web/src/assets/i18n/fr.json @@ -179,7 +179,8 @@ }, "THEMES": { "DARK_THEME": "Thème foncé", - "LIGHT_THEME": "Thème clair" + "LIGHT_THEME": "Thème clair", + "SYSTEM_THEME": "Thème du système" }, "CHANNELS": { "SEARCH_CHANNEL": "Rechercher une chaîne", diff --git a/apps/web/src/assets/i18n/it.json b/apps/web/src/assets/i18n/it.json index e16b7f539..57151c8a5 100644 --- a/apps/web/src/assets/i18n/it.json +++ b/apps/web/src/assets/i18n/it.json @@ -198,7 +198,8 @@ }, "THEMES": { "DARK_THEME": "Tema scuro", - "LIGHT_THEME": "Tema chiaro" + "LIGHT_THEME": "Tema chiaro", + "SYSTEM_THEME": "Tema di sistema" }, "CHANNELS": { "SEARCH_CHANNEL": "Cerca canale", diff --git a/apps/web/src/assets/i18n/ja.json b/apps/web/src/assets/i18n/ja.json index f58601345..3277c817f 100644 --- a/apps/web/src/assets/i18n/ja.json +++ b/apps/web/src/assets/i18n/ja.json @@ -146,7 +146,8 @@ }, "THEMES": { "DARK_THEME": "ダークテーマ", - "LIGHT_THEME": "ライトテーマ" + "LIGHT_THEME": "ライトテーマ", + "SYSTEM_THEME": "システムテーマ" }, "CHANNELS": { "SEARCH_CHANNEL": "チャンネルを検索", diff --git a/apps/web/src/assets/i18n/ko.json b/apps/web/src/assets/i18n/ko.json index fbdcc2828..daee64230 100644 --- a/apps/web/src/assets/i18n/ko.json +++ b/apps/web/src/assets/i18n/ko.json @@ -116,7 +116,8 @@ }, "THEMES": { "DARK_THEME": "어두운 테마", - "LIGHT_THEME": "밝은 테마" + "LIGHT_THEME": "밝은 테마", + "SYSTEM_THEME": "시스템 테마" }, "CHANNELS": { "SEARCH_CHANNEL": "검색 채널", diff --git a/apps/web/src/assets/i18n/nl.json b/apps/web/src/assets/i18n/nl.json index 017d768bb..e34ab3fe2 100644 --- a/apps/web/src/assets/i18n/nl.json +++ b/apps/web/src/assets/i18n/nl.json @@ -158,7 +158,8 @@ }, "THEMES": { "DARK_THEME": "Donker thema", - "LIGHT_THEME": "Licht thema" + "LIGHT_THEME": "Licht thema", + "SYSTEM_THEME": "Systeemthema" }, "CHANNELS": { "SEARCH_CHANNEL": "Zoek een kanaal", diff --git a/apps/web/src/assets/i18n/pl.json b/apps/web/src/assets/i18n/pl.json index 678b5732f..90f9351ce 100644 --- a/apps/web/src/assets/i18n/pl.json +++ b/apps/web/src/assets/i18n/pl.json @@ -158,7 +158,8 @@ }, "THEMES": { "DARK_THEME": "Ciemny motyw", - "LIGHT_THEME": "Jasny motyw" + "LIGHT_THEME": "Jasny motyw", + "SYSTEM_THEME": "Motyw systemowy" }, "CHANNELS": { "SEARCH_CHANNEL": "Szukaj kanału", diff --git a/apps/web/src/assets/i18n/pt.json b/apps/web/src/assets/i18n/pt.json index 73ce9191f..bbef9752d 100644 --- a/apps/web/src/assets/i18n/pt.json +++ b/apps/web/src/assets/i18n/pt.json @@ -177,7 +177,8 @@ }, "THEMES": { "DARK_THEME": "Tema escuro", - "LIGHT_THEME": "Tema claro" + "LIGHT_THEME": "Tema claro", + "SYSTEM_THEME": "Tema do sistema" }, "CHANNELS": { "SEARCH_CHANNEL": "Pesquisar canal", diff --git a/apps/web/src/assets/i18n/ru.json b/apps/web/src/assets/i18n/ru.json index 4c4f35e4a..56cf80fd8 100644 --- a/apps/web/src/assets/i18n/ru.json +++ b/apps/web/src/assets/i18n/ru.json @@ -225,7 +225,8 @@ }, "THEMES": { "DARK_THEME": "Тёмная тема", - "LIGHT_THEME": "Светлая тема" + "LIGHT_THEME": "Светлая тема", + "SYSTEM_THEME": "Системная тема" }, "CHANNELS": { "SEARCH_CHANNEL": "Поиск каналов", @@ -453,36 +454,196 @@ "UNSUPPORTED_WIDGET": "Неподдерживаемый виджет", "UNSUPPORTED_WIDGET_DESC": "Этот тип виджета недоступен в данной сборке.", "CONTINUE_WATCHING": "Продолжить просмотр", + "CONTINUE_WATCHING_DESC": "Вернуться к последнему активному источнику.", "FOCUS": "Фокус", "UNTITLED_SOURCE": "Источник без названия", "OPEN_SOURCE": "Открыть источник", "MANAGE_SOURCES": "Управление источниками", "NO_ACTIVE_SOURCE": "Активный источник пока не выбран.", + "NO_ACTIVE_SOURCE_HINT": "Выберите плейлист на боковой панели, чтобы продолжить с того места, где остановились.", "ADD_SOURCE": "Добавить источник", "RECENTLY_USED": "Недавно использованные", - "GLOBAL_FAVORITES": "Все фавориты", + "RECENTLY": "Недавно", + "JUST_NOW": "Только что", + "MINUTES_AGO": "{{count}} мин. назад", + "HOURS_AGO": "{{count}} ч. назад", + "DAYS_AGO": "{{count}} дн. назад", + "GLOBAL_FAVORITES": "Глобальные избранные", + "GLOBAL_FAVORITES_DESC": "Закрепленные элементы из всех подключенных провайдеров.", "LIBRARY": "Библиотека", "FILTER_ITEMS": "Фильтровать", + "FILTER_RECENTLY_WATCHED": "Фильтровать недавно просмотренное", + "FILTER_GLOBAL_FAVORITES": "Фильтровать глобальные избранные", "ALL": "Все", + "ALL_PROVIDERS": "Все провайдеры", "CHANNELS": "Каналы", "VOD": "Видео", "SERIES": "Сериалы", "LIST_VIEW": "В виде списка", "GRID_VIEW": "В виде сетки", + "GLOBAL_FAVORITES_VIEW_MODE": "Выбрать режим просмотра избранного", + "RECENTLY_WATCHED_VIEW_MODE": "Выбрать режим просмотра недавно просмотренного", + "REMOVE_FAVORITE": "Удалить из избранного", + "REMOVE_FROM_HISTORY": "Удалить из истории", "NO_FAVORITES": "Для этого фильтра нет избранного.", + "NO_FAVORITES_HINT": "Вы еще не добавили каналы, фильмы или сериалы в глобальное избранное. Используйте значок звезды, чтобы добавлять элементы в избранное.", "RECENT_SOURCES": "Недавние источники", "MANAGE_ALL": "Управлять всем", "NO_SOURCES": "Источники пока недоступны.", + "NO_SOURCES_HINT": "Добавьте или импортируйте плейлист, чтобы начать собирать библиотеку.", "OPEN_SOURCES": "Открыть источники", "RECENTLY_WATCHED": "Недавно просмотренные", + "RECENTLY_WATCHED_DESC": "Общая история просмотра каналов, VOD и сериалов.", "ACTIVITY": "Активность", "NO_HISTORY": "Для этого фильтра элементы не найдены.", + "NO_HISTORY_HINT": "История просмотра появится здесь, как только вы начнете воспроизводить контент из своих плейлистов.", "SOURCE_STATS": "Статистика источников", + "SOURCE_STATS_DESC": "Текущий состав источников и общее число подключенных библиотек.", "OVERVIEW": "Обзор", "TOTAL": "Всего", "XTREAM": "Xtream", "STALKER": "Stalker", - "M3U": "M3U" + "M3U": "M3U", + "STALKER_PORTAL": "Портал Stalker", + "PROVIDER": "Провайдер", + "TOPBAR_LABEL": "Панель", + "TOOLBAR_RESET": "Сбросить макет", + "TOOLBAR_CUSTOMIZE": "Настроить панель", + "TOOLBAR_DONE": "Готово", + "TOOLBAR_HINT_EDITING": "Перетаскивайте карточки за ручку. Меняйте размер прямо в виджете. Используйте боковую панель для видимости и области действия.", + "CUSTOMIZE_LAYOUT": "Настроить макет панели", + "DRAG_WIDGET": "Перетащить {{title}}", + "MAKE_WIDGET_NARROWER": "Сделать виджет уже", + "MAKE_WIDGET_WIDER": "Сделать виджет шире", + "HIDE_WIDGET": "Скрыть {{title}}", + "WIDGET_LIBRARY_TITLE": "Библиотека виджетов", + "WIDGET_LIBRARY_HINT": "Показывайте и скрывайте виджеты, а также настраивайте область провайдера, не покидая холст.", + "WIDGET_VISIBILITY": "Видимость", + "WIDGET_VISIBLE": "Виден", + "WIDGET_ADVANCED": "Расширенные настройки", + "WIDGET_SCOPE": "Область", + "WIDGET_SCOPE_SUMMARY": "Область ({{summary}})", + "WIDGET_SCOPE_PROVIDERS": "Фильтры провайдера:", + "WIDGET_SCOPE_ALL_HINT": "Если провайдеры не выбраны, включаются все провайдеры.", + "WIDGET_SCOPE_PLAYLISTS": "Плейлисты (оставьте пустым, чтобы использовать все плейлисты в текущей области провайдера)", + "WIDGET_SCOPE_EMPTY": "Для выбранных провайдеров нет доступных плейлистов.", + "EMPTY_WIDGETS": "Нет видимых виджетов", + "EMPTY_WIDGETS_HINT": "Включите хотя бы один виджет на боковой панели.", + "NO_HISTORY_CW": "Пока ничего не просмотрено", + "NO_HISTORY_CW_HINT": "Начните смотреть любой канал, фильм или сериал, и он появится здесь.", + "TYPE_LIVE": "ТВ", + "TYPE_MOVIE": "Фильм", + "TYPE_SERIES": "Сериал", + "MIN_LEFT": "мин. осталось", + "NOT_YET_SYNCED": "Еще не синхронизировано", + "SELECTED_COUNT": "Выбрано: {{count}}", + "SIZE_FULL": "Полная" + }, + "SHELL": { + "BRAND_ALT": "IPTVnator", + "RAIL_DASHBOARD": "Панель", + "OPEN_DASHBOARD": "Открыть панель", + "RAIL_SOURCES": "Источники", + "RAIL_SETTINGS": "Настройки", + "OPEN_SETTINGS": "Открыть настройки", + "RAIL_LIBRARY": "Библиотека", + "RAIL_MOVIES": "Фильмы", + "RAIL_LIVE": "ТВ", + "RAIL_SERIES": "Сериалы", + "RAIL_RECENTLY_ADDED": "Недавно добавленные", + "RAIL_SEARCH": "Поиск", + "RAIL_RECENT": "Недавно просмотренные", + "RAIL_FAVORITES": "Избранное", + "RAIL_DOWNLOADS": "Загрузки", + "RAIL_ALL_CHANNELS": "Все каналы", + "RAIL_GROUPS": "Группы", + "RAIL_CONTEXT_ACTIONS": "Действия раздела", + "SEARCH_LABEL": "Поиск", + "SEARCH_SOURCES_PLACEHOLDER": "Искать источники (все плейлисты)...", + "SEARCH_PLAYLIST_PLACEHOLDER": "Искать в этом плейлисте...", + "SEARCH_SECTION_PLACEHOLDER": "Искать в этом разделе...", + "FILTER_SECTION_PLACEHOLDER": "Фильтровать этот раздел...", + "COMMAND_PALETTE_SHORTCUT": "Палитра команд (Ctrl/Cmd+K)", + "OPEN_COMMAND_PALETTE": "Открыть палитру команд", + "ADD_PLAYLIST_ALL": "Добавить плейлист (все плейлисты)", + "ADD_PLAYLIST": "Добавить плейлист", + "OPEN_GLOBAL_FAVORITES": "Открыть глобальные избранные", + "OPEN_DOWNLOADS": "Открыть загрузки", + "OPEN_CONTEXT_ACTIONS": "Открыть действия раздела", + "NO_SECTION_ACTIONS": "Для этого раздела нет действий", + "PLAYLIST_INFO": "Информация о плейлисте", + "ACCOUNT_INFO": "Информация об аккаунте", + "CLEAR_COMPLETED_DOWNLOADS_ALL": "Очистить завершенные загрузки (все плейлисты)", + "CLEAR_COMPLETED_DOWNLOADS_ALL_ARIA": "Очистить завершенные загрузки для всех плейлистов", + "CLEAR_COMPLETED_DOWNLOADS_THIS_PLAYLIST": "Очистить завершенные загрузки (этот плейлист)", + "CLEAR_COMPLETED_DOWNLOADS_THIS_PLAYLIST_ARIA": "Очистить завершенные загрузки для этого плейлиста", + "CLEAR_RECENTLY_VIEWED_SECTION": "Очистить недавно просмотренное (этот раздел)", + "CLEAR_RECENTLY_VIEWED_SECTION_ARIA": "Очистить недавно просмотренное для этого раздела", + "XTREAM_CODE": "Xtream Code", + "STALKER_PORTAL": "Портал Stalker", + "CHANNELS_COUNT": "{{count}} каналов", + "NO_SOURCES_AVAILABLE": "Нет доступных источников", + "ONE_SOURCE_AVAILABLE": "Доступен 1 источник", + "SOURCES_AVAILABLE": "Доступно источников: {{count}}", + "COMMANDS": { + "GLOBAL_SEARCH_LABEL": "Искать во всех плейлистах Xtream", + "GLOBAL_SEARCH_DESCRIPTION": "Открыть глобальный поиск", + "PLAYLIST_SEARCH_LABEL": "Искать в этом плейлисте", + "PLAYLIST_SEARCH_DESCRIPTION": "Открыть маршрут поиска плейлиста", + "OPEN_GLOBAL_FAVORITES_LABEL": "Открыть глобальные избранные", + "OPEN_GLOBAL_FAVORITES_DESCRIPTION": "Перейти к объединенному избранному", + "OPEN_DOWNLOADS_LABEL": "Открыть загрузки", + "OPEN_DOWNLOADS_DESCRIPTION": "Перейти к представлению загрузок", + "OPEN_GLOBAL_RECENT_LABEL": "Открыть недавно просмотренные", + "OPEN_GLOBAL_RECENT_DESCRIPTION": "Открыть глобальный список недавно просмотренного" + } + }, + "SOURCES": { + "TITLE": "Источники", + "SUBTITLE": "Фильтрация и сортировка плейлистов", + "TYPE": "Тип", + "ALL": "Все", + "M3U_PLAYLISTS": "M3U плейлисты", + "XTREAM_PLAYLISTS": "Xtream плейлисты", + "STALKER_PLAYLISTS": "Stalker плейлисты", + "ALL_PLAYLISTS": "Все плейлисты", + "PLAYLIST_COUNT_ONE": "1 плейлист", + "PLAYLIST_COUNT_OTHER": "{{count}} плейлистов" + }, + "CONTEXT": { + "CATEGORIES": "Категории", + "MOVIE_CATEGORIES": "Категории фильмов", + "SERIES_CATEGORIES": "Категории сериалов", + "LIVE_CATEGORIES": "Категории ТВ", + "XTREAM_SOURCE": "Xtream источник", + "STALKER_PORTAL": "Портал Stalker", + "MANAGE_CATEGORIES": "Управлять категориями", + "LOAD_CATEGORIES_ERROR": "Не удалось загрузить категории", + "LOAD_CATEGORIES_ERROR_HINT": "Повторите попытку или проверьте настройки портала.", + "FILTER_BY_TYPE": "Фильтр по типу", + "ITEM_COUNT_ONE": "1 элемент", + "ITEM_COUNT_OTHER": "{{count}} элементов" + }, + "COMMAND_PALETTE": { + "TITLE": "Палитра команд", + "SUBTITLE": "Глобальные и контекстные действия", + "SEARCH_PLACEHOLDER": "Введите текст для фильтрации команд", + "SEARCH_LABEL": "Фильтровать команды", + "EMPTY": "Команды не найдены", + "GROUP_GLOBAL": "Глобальные действия", + "GROUP_PLAYLIST": "Этот плейлист", + "GROUP_SECTION": "Этот раздел" + }, + "GLOBAL_FAVORITES": { + "TITLE": "Глобальные избранные", + "SUBTITLE": "Live TV из всех плейлистов", + "SEARCH_PLACEHOLDER": "Поиск в избранном...", + "NO_RESULTS": "Ничего не найдено", + "NO_RESULTS_HINT": "Попробуйте другой поисковый запрос", + "EMPTY_TITLE": "Пока нет избранных телеканалов", + "EMPTY_HINT": "Добавляйте в избранное live-каналы из плейлистов M3U, Xtream или Stalker, чтобы они появились здесь.", + "EMPTY_PLAYER": "Выберите канал, чтобы начать просмотр", + "UNKNOWN_CHANNEL": "Неизвестно" } } } diff --git a/apps/web/src/assets/i18n/tr.json b/apps/web/src/assets/i18n/tr.json index 06afd6508..e880983f4 100644 --- a/apps/web/src/assets/i18n/tr.json +++ b/apps/web/src/assets/i18n/tr.json @@ -210,7 +210,8 @@ }, "THEMES": { "DARK_THEME": "Koyu tema", - "LIGHT_THEME": "Açık tema" + "LIGHT_THEME": "Açık tema", + "SYSTEM_THEME": "Sistem teması" }, "CHANNELS": { "SEARCH_CHANNEL": "Kanal ara", diff --git a/apps/web/src/assets/i18n/zh.json b/apps/web/src/assets/i18n/zh.json index 675944921..23a870bde 100644 --- a/apps/web/src/assets/i18n/zh.json +++ b/apps/web/src/assets/i18n/zh.json @@ -116,7 +116,8 @@ }, "THEMES": { "DARK_THEME": "暗黑模式", - "LIGHT_THEME": "明亮模式" + "LIGHT_THEME": "明亮模式", + "SYSTEM_THEME": "跟随系统" }, "CHANNELS": { "SEARCH_CHANNEL": "搜索频道", diff --git a/apps/web/src/assets/i18n/zhtw.json b/apps/web/src/assets/i18n/zhtw.json index b1f9769ec..60a57d8f1 100644 --- a/apps/web/src/assets/i18n/zhtw.json +++ b/apps/web/src/assets/i18n/zhtw.json @@ -163,7 +163,8 @@ }, "THEMES": { "DARK_THEME": "深色主題", - "LIGHT_THEME": "亮色主題" + "LIGHT_THEME": "亮色主題", + "SYSTEM_THEME": "跟隨系統" }, "CHANNELS": { "SEARCH_CHANNEL": "搜尋頻道",