bugs & langs pt it
This commit is contained in:
		
							parent
							
								
									4b54e359c1
								
							
						
					
					
						commit
						859ebe1c4f
					
				@ -135,6 +135,8 @@
 | 
			
		||||
    "lang_es": { "message": "Spanisch" },
 | 
			
		||||
    "lang_fr": { "message": "Französisch" },
 | 
			
		||||
    "lang_de": { "message": "Deutsch" },
 | 
			
		||||
    "lang_it": { "message": "Italienisch" },
 | 
			
		||||
_pt": { "message": "Portugiesisch" },
 | 
			
		||||
    "essentialFeaturesNotSupported": { "message": "Dein Browser unterstützt wesentliche Funktionen nicht." },
 | 
			
		||||
    "dbAccessError": { "message": "Fehler beim Zugriff auf die lokale Datenbank." },
 | 
			
		||||
    "dbUpdateNeeded": { "message": "Die Datenbank muss aktualisiert werden, bitte lade die Seite neu." },
 | 
			
		||||
 | 
			
		||||
@ -135,6 +135,8 @@
 | 
			
		||||
    "lang_es": { "message": "Spanish" },
 | 
			
		||||
    "lang_fr": { "message": "French" },
 | 
			
		||||
    "lang_de": { "message": "German" },
 | 
			
		||||
    "lang_it": { "message": "Italian" },
 | 
			
		||||
    "lang_pt": { "message": "Portuguese" },
 | 
			
		||||
    "essentialFeaturesNotSupported": { "message": "Your browser does not support essential features." },
 | 
			
		||||
    "dbAccessError": { "message": "Error accessing the local database." },
 | 
			
		||||
    "dbUpdateNeeded": { "message": "The database needs to be updated, please reload the page." },
 | 
			
		||||
 | 
			
		||||
@ -135,6 +135,8 @@
 | 
			
		||||
    "lang_es": { "message": "Español" },
 | 
			
		||||
    "lang_fr": { "message": "Francés" },
 | 
			
		||||
    "lang_de": { "message": "Alemán" },
 | 
			
		||||
    "lang_it": { "message": "Italiano" },
 | 
			
		||||
    "lang_pt": { "message": "Portugués" },
 | 
			
		||||
    "essentialFeaturesNotSupported": { "message": "Tu navegador no soporta funciones esenciales." },
 | 
			
		||||
    "dbAccessError": { "message": "Error al acceder a la base de datos local." },
 | 
			
		||||
    "dbUpdateNeeded": { "message": "La base de datos necesita actualizarse, por favor recarga la página." },
 | 
			
		||||
 | 
			
		||||
@ -135,6 +135,8 @@
 | 
			
		||||
    "lang_es": { "message": "Espagnol" },
 | 
			
		||||
    "lang_fr": { "message": "Français" },
 | 
			
		||||
    "lang_de": { "message": "Allemand" },
 | 
			
		||||
    "lang_it": { "message": "Italien" },
 | 
			
		||||
    "lang_pt": { "message": "Portugais" },
 | 
			
		||||
    "essentialFeaturesNotSupported": { "message": "Votre navigateur ne prend pas en charge les fonctionnalités essentielles." },
 | 
			
		||||
    "dbAccessError": { "message": "Erreur d'accès à la base de données locale." },
 | 
			
		||||
    "dbUpdateNeeded": { "message": "La base de données doit être mise à jour, veuillez recharger la page." },
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										290
									
								
								_locales/it/messages.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										290
									
								
								_locales/it/messages.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,290 @@
 | 
			
		||||
{
 | 
			
		||||
    "appName": { "message": "CinePlex" },
 | 
			
		||||
    "appDescription": { "message": "Analizza i server Plex per trovare contenuti e li visualizza nell'interfaccia" },
 | 
			
		||||
    "appTagline": { "message": "Film, Serie TV e Musica" },
 | 
			
		||||
    "appLocaleCode": { "message": "it-IT" },
 | 
			
		||||
    "toggleNavigation": { "message": "Mostra/Nascondi Navigazione" },
 | 
			
		||||
    "searchPlaceholder": { "message": "Cerca film o serie TV..." },
 | 
			
		||||
    "openMusicPlayer": { "message": "Apri Lettore Musicale" },
 | 
			
		||||
    "settings": { "message": "Impostazioni" },
 | 
			
		||||
    "navMovies": { "message": "Film" },
 | 
			
		||||
    "navSeries": { "message": "Serie TV" },
 | 
			
		||||
    "navPhotos": { "message": "Foto" },
 | 
			
		||||
    "navStats": { "message": "Statistiche" },
 | 
			
		||||
    "navFavorites": { "message": "Preferiti" },
 | 
			
		||||
    "navHistory": { "message": "Cronologia" },
 | 
			
		||||
    "navRecommendations": { "message": "Consigliati" },
 | 
			
		||||
    "navMusic": { "message": "Musica" },
 | 
			
		||||
    "heroWelcome": { "message": "Benvenuto su CinePlex" },
 | 
			
		||||
    "heroSubtitle": { "message": "Esplora migliaia di film e serie TV." },
 | 
			
		||||
    "addStream": { "message": "Aggiungi Stream" },
 | 
			
		||||
    "moreInfo": { "message": "Più informazioni" },
 | 
			
		||||
    "popularMovies": { "message": "Film Popolari" },
 | 
			
		||||
    "allGenres": { "message": "Tutti i Generi" },
 | 
			
		||||
    "allYears": { "message": "Tutti gli Anni" },
 | 
			
		||||
    "sortPopular": { "message": "Più Popolari" },
 | 
			
		||||
    "sortTopRated": { "message": "Più Votati" },
 | 
			
		||||
    "sortRecent": { "message": "Più Recenti" },
 | 
			
		||||
    "loadMore": { "message": "Carica Altri" },
 | 
			
		||||
    "photosBreadcrumbHome": { "message": "Album" },
 | 
			
		||||
    "selectServer": { "message": "Seleziona un server" },
 | 
			
		||||
    "loading": { "message": "Caricamento in corso..." },
 | 
			
		||||
    "photosEmptyState": { "message": "Nessun album o foto trovati." },
 | 
			
		||||
    "photosEmptyStateSub": { "message": "Seleziona un server o assicurati di avere una libreria di foto su Plex." },
 | 
			
		||||
    "statsTitle": { "message": "Statistiche della Libreria" },
 | 
			
		||||
    "statsAllTokens": { "message": "Tutti i Token" },
 | 
			
		||||
    "statsAnalyzing": { "message": "Analisi della tua libreria in corso..." },
 | 
			
		||||
    "statsActiveTokens": { "message": "Token Attivi" },
 | 
			
		||||
    "statsServersFound": { "message": "Server Trovati" },
 | 
			
		||||
    "statsUniqueMovies": { "message": "Film Unici" },
 | 
			
		||||
    "statsUniqueSeries": { "message": "Serie TV Uniche" },
 | 
			
		||||
    "statsUniqueArtists": { "message": "Artisti Unici" },
 | 
			
		||||
    "statsTokenServers": { "message": "Server del Token" },
 | 
			
		||||
    "statsChartMoviesByGenre": { "message": "Contenuti per Genere (Film)" },
 | 
			
		||||
    "statsChartSeriesByGenre": { "message": "Contenuti per Genere (Serie TV)" },
 | 
			
		||||
    "statsChartByDecade": { "message": "Contenuti per Decennio" },
 | 
			
		||||
    "recommendationsTitle": { "message": "Consigliati per Te" },
 | 
			
		||||
    "historyTitle": { "message": "Cronologia di Visione" },
 | 
			
		||||
    "clearHistory": { "message": "Cancella Tutto" },
 | 
			
		||||
    "consoleTitle": { "message": "Console di Scansione Plex" },
 | 
			
		||||
    "footerCredit": { "message": "Un'interfaccia per il tuo universo Plex." },
 | 
			
		||||
    "backButton": { "message": "Indietro" },
 | 
			
		||||
    "closeTrailer": { "message": "Chiudi trailer" },
 | 
			
		||||
    "close": { "message": "Chiudi" },
 | 
			
		||||
    "photoViewer": { "message": "Visualizzatore Foto" },
 | 
			
		||||
    "previous": { "message": "Precedente" },
 | 
			
		||||
    "next": { "message": "Successivo" },
 | 
			
		||||
    "notificationTemplateText": { "message": "Notifica" },
 | 
			
		||||
    "settingsTitleFull": { "message": "Impostazioni e Configurazione" },
 | 
			
		||||
    "settingsTabGeneral": { "message": "Generale" },
 | 
			
		||||
    "settingsTabPlex": { "message": "Plex" },
 | 
			
		||||
    "settingsTabPhpGen": { "message": "Generatore PHP" },
 | 
			
		||||
    "settingsTabData": { "message": "Dati" },
 | 
			
		||||
    "settingsApiServer": { "message": "Configurazione API e Server" },
 | 
			
		||||
    "settingsTmdbApiLabel": { "message": "Chiave API TMDB (Opzionale)" },
 | 
			
		||||
    "settingsTmdbApiPlaceholder": { "message": "Verrà usata la chiave predefinita se lasciato vuoto" },
 | 
			
		||||
    "settingsTmdbLangLabel": { "message": "Lingua per TMDB e Interfaccia" },
 | 
			
		||||
    "settingsPhpUrlLabel": { "message": "URL del server per aggiungere gli stream" },
 | 
			
		||||
    "settingsPhpUrlPlaceholder": { "message": "https://tuo-server.com/percorso/dello/script.php" },
 | 
			
		||||
    "settingsInterface": { "message": "Interfaccia" },
 | 
			
		||||
    "settingsLightTheme": { "message": "Modalità Chiara" },
 | 
			
		||||
    "settingsShowHero": { "message": "Mostra sezione di benvenuto 'Hero'" },
 | 
			
		||||
    "settingsScanContent": { "message": "Scansione Contenuti" },
 | 
			
		||||
    "settingsScanDesc": { "message": "Seleziona cosa scansionare e premi il pulsante." },
 | 
			
		||||
    "settingsScanMovies": { "message": "Film" },
 | 
			
		||||
    "settingsScanShows": { "message": "Serie TV" },
 | 
			
		||||
    "settingsScanArtists": { "message": "Musica" },
 | 
			
		||||
    "settingsScanPhotos": { "message": "Foto" },
 | 
			
		||||
    "settingsSelectAll": { "message": "Seleziona Tutto" },
 | 
			
		||||
    "settingsStartScan": { "message": "Avvia Scansione" },
 | 
			
		||||
    "settingsPlexTokens": { "message": "Token Plex" },
 | 
			
		||||
    "settingsPlexTokensDesc": { "message": "Modifica la lista dei token Plex (formato JSON)." },
 | 
			
		||||
    "settingsSaveTokens": { "message": "Salva Token" },
 | 
			
		||||
    "settingsPhpGenTitle": { "message": "Generatore di Script PHP per Server" },
 | 
			
		||||
    "settingsPhpFileOptions": { "message": "Opzioni File" },
 | 
			
		||||
    "settingsPhpSavePathLabel": { "message": "Percorso di salvataggio sul server" },
 | 
			
		||||
    "settingsPhpSavePathPlaceholder": { "message": "Es: /var/www/html/lists (vuoto per la stessa cartella)" },
 | 
			
		||||
    "settingsPhpFilenameLabel": { "message": "Nome file" },
 | 
			
		||||
    "settingsPhpFileAction": { "message": "Azione sul file" },
 | 
			
		||||
    "settingsPhpActionAppend": { "message": "Aggiungi alla fine del file (cumulativo)" },
 | 
			
		||||
    "settingsPhpActionOverwrite": { "message": "Sovrascrivi il file (ricomincia da capo)" },
 | 
			
		||||
    "settingsPhpSecurity": { "message": "Sicurezza (Opzionale)" },
 | 
			
		||||
    "settingsPhpUseSecretKey": { "message": "Usa chiave segreta (Consigliato)" },
 | 
			
		||||
    "settingsPhpSecretKeyPlaceholder": { "message": "Inserisci una chiave segreta sicura" },
 | 
			
		||||
    "settingsPhpGeneratedCode": { "message": "Codice Generato" },
 | 
			
		||||
    "settingsPhpGeneratedPlaceholder": { "message": "Il codice PHP generato apparirà qui." },
 | 
			
		||||
    "settingsGenerateScript": { "message": "Genera Script" },
 | 
			
		||||
    "settingsCopyScript": { "message": "Copia Script" },
 | 
			
		||||
    "settingsDataManagement": { "message": "Gestione Database Locale" },
 | 
			
		||||
    "settingsImportDb": { "message": "Importa DB da File" },
 | 
			
		||||
    "settingsExportDb": { "message": "Esporta DB su File" },
 | 
			
		||||
    "settingsClearContent": { "message": "Cancella Dati Locali dei Contenuti" },
 | 
			
		||||
    "settingsClearContentDesc": { "message": "Questa azione eliminerà film, serie TV e musica dal database locale, ma non influenzerà i tuoi preferiti o le impostazioni." },
 | 
			
		||||
    "settingsClose": { "message": "Chiudi" },
 | 
			
		||||
    "settingsSave": { "message": "Salva Impostazioni" },
 | 
			
		||||
    "musicSidenavTitle": { "message": "Musica Plex" },
 | 
			
		||||
    "musicAllServers": { "message": "Tutti i Server" },
 | 
			
		||||
    "musicSearchArtistPlaceholder": { "message": "Cerca artista..." },
 | 
			
		||||
    "musicSearchDiscographyPlaceholder": { "message": "Cerca nella discografia..." },
 | 
			
		||||
    "musicNothingPlaying": { "message": "Nessuna riproduzione in corso" },
 | 
			
		||||
    "musicSelectSong": { "message": "Seleziona un brano" },
 | 
			
		||||
    "musicToStart": { "message": "per avviare la riproduzione" },
 | 
			
		||||
    "miniplayerDownloadSong": { "message": "Scarica brano" },
 | 
			
		||||
    "miniplayerDownloadAlbum": { "message": "Scarica album M3U" },
 | 
			
		||||
    "miniplayerVolume": { "message": "Volume" },
 | 
			
		||||
    "miniplayerShuffle": { "message": "Riproduzione Casuale" },
 | 
			
		||||
    "miniplayerEqualizer": { "message": "Equalizzatore" },
 | 
			
		||||
    "miniplayerOpenList": { "message": "Apri lista" },
 | 
			
		||||
    "eqTitle": { "message": "Equalizzatore Grafico" },
 | 
			
		||||
    "eqPresetsLabel": { "message": "Preimpostazioni" },
 | 
			
		||||
    "eqPresetFlat": { "message": "Piatto" },
 | 
			
		||||
    "eqPresetRock": { "message": "Rock" },
 | 
			
		||||
    "eqPresetPop": { "message": "Pop" },
 | 
			
		||||
    "eqPresetJazz": { "message": "Jazz" },
 | 
			
		||||
    "eqPresetClassical": { "message": "Classica" },
 | 
			
		||||
    "eqPresetBassBoost": { "message": "Aumento Bassi" },
 | 
			
		||||
    "eqPreampLabel": { "message": "Pre-Amp" },
 | 
			
		||||
    "infoModalTitle": { "message": "Informazioni" },
 | 
			
		||||
    "infoModalFieldTitle": { "message": "Titolo:" },
 | 
			
		||||
    "infoModalFieldArtist": { "message": "Artista:" },
 | 
			
		||||
    "infoModalFieldAlbum": { "message": "Album:" },
 | 
			
		||||
    "infoModalFieldSong": { "message": "Brano:" },
 | 
			
		||||
    "infoModalFieldYear": { "message": "Anno:" },
 | 
			
		||||
    "infoModalFieldGenre": { "message": "Genere:" },
 | 
			
		||||
    "lang_en": { "message": "Inglese" },
 | 
			
		||||
    "lang_es": { "message": "Spagnolo" },
 | 
			
		||||
    "lang_fr": { "message": "Francese" },
 | 
			
		||||
    "lang_de": { "message": "Tedesco" },
 | 
			
		||||
    "lang_it": { "message": "Italiano" },
 | 
			
		||||
    "lang_pt": { "message": "Portoghese" },
 | 
			
		||||
    "essentialFeaturesNotSupported": { "message": "Il tuo browser non supporta le funzionalità essenziali." },
 | 
			
		||||
    "dbAccessError": { "message": "Errore di accesso al database locale." },
 | 
			
		||||
    "dbUpdateNeeded": { "message": "Il database deve essere aggiornato, si prega di ricaricare la pagina." },
 | 
			
		||||
    "dbBlocked": { "message": "Per continuare, chiudi le altre schede di questa applicazione." },
 | 
			
		||||
    "deletingContentData": { "message": "Cancellazione dei dati locali dei contenuti in corso..." },
 | 
			
		||||
    "noContentDataToDelete": { "message": "Nessun dato di contenuto da cancellare." },
 | 
			
		||||
    "contentDataDeleted": { "message": "Dati dei contenuti cancellati da IndexedDB." },
 | 
			
		||||
    "errorDeletingData": { "message": "Errore durante la cancellazione dei dati: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "aceEditorNotAvailable": { "message": "Editor di testo non disponibile." },
 | 
			
		||||
    "errorLoadingTokens": { "message": "Errore nel caricamento dei token nell'editor." },
 | 
			
		||||
    "errorLoadingTokensMessage": { "message": "Errore nel caricamento dei token: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "aceEditorNotAvailableToSave": { "message": "Editor non disponibile per il salvataggio." },
 | 
			
		||||
    "invalidJsonFormat": { "message": "Formato JSON non valido. Deve essere { \"tokens\": [...] }" },
 | 
			
		||||
    "tokensSaved": { "message": "Token salvati con successo." },
 | 
			
		||||
    "errorSavingTokens": { "message": "Errore nel salvataggio dei token: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "dbNotAvailable": { "message": "IndexedDB non è disponibile." },
 | 
			
		||||
    "dbExported": { "message": "Database esportato con successo." },
 | 
			
		||||
    "errorExportingDb": { "message": "Errore durante l'esportazione del database: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "invalidJsonFile": { "message": "Il file non contiene un oggetto JSON valido." },
 | 
			
		||||
    "noDataToImport": { "message": "Il file non contiene dati per le sezioni correnti del DB." },
 | 
			
		||||
    "dbImported": { "message": "Database importato con successo." },
 | 
			
		||||
    "errorImportingDb": { "message": "Errore durante l'importazione del database: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "updatingView": { "message": "Aggiornamento della vista con i nuovi dati in corso..." },
 | 
			
		||||
    "confirmClearContent": { "message": "Sei sicuro di voler cancellare i dati locali dei contenuti (Film, Serie TV, Musica, ecc.)? Preferiti e Impostazioni NON verranno eliminati." },
 | 
			
		||||
    "trailerNotFound": { "message": "Nessun trailer trovato per questo titolo." },
 | 
			
		||||
    "confirmClearHistory": { "message": "Sei sicuro di voler cancellare tutta la cronologia di visione? Questa azione non può essere annullata." },
 | 
			
		||||
    "historyCleared": { "message": "Cronologia di visione cancellata." },
 | 
			
		||||
    "historyItemDeleted": { "message": "Elemento cancellato dalla cronologia." },
 | 
			
		||||
    "errorGeneratingScript": { "message": "Prima genera uno script per poterlo copiare." },
 | 
			
		||||
    "scriptCopied": { "message": "Script PHP copiato negli appunti." },
 | 
			
		||||
    "errorCopyingScript": { "message": "Errore durante la copia dello script." },
 | 
			
		||||
    "scriptGenerated": { "message": "Script PHP generato." },
 | 
			
		||||
    "errorLoadingAlbum": { "message": "Errore nel caricamento dell'album: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "noPhotoServerSelected": { "message": "Errore: Nessun server di foto è stato selezionato." },
 | 
			
		||||
    "loadingGenres": { "message": "Caricamento generi in corso..." },
 | 
			
		||||
    "errorLoadingGenres": { "message": "Errore nel caricamento" },
 | 
			
		||||
    "noContentFound": { "message": "Nessun risultato trovato." },
 | 
			
		||||
    "couldNotLoadContent": { "message": "Impossibile caricare il contenuto." },
 | 
			
		||||
    "noFavorites": { "message": "Non hai ancora nessun preferito." },
 | 
			
		||||
    "errorLoadingFavorites": { "message": "Errore nel caricamento dei preferiti." },
 | 
			
		||||
    "historyEmpty": { "message": "La tua cronologia è vuota." },
 | 
			
		||||
    "historyEmptySub": { "message": "Sfoglia e guarda contenuti perché appaiano qui." },
 | 
			
		||||
    "errorGeneratingRecommendations": { "message": "Errore nella generazione dei consigliati." },
 | 
			
		||||
    "noRecommendations": { "message": "Dobbiamo conoscerti meglio per darti dei consigli!" },
 | 
			
		||||
    "errorGeneratingStats": { "message": "Errore nella generazione delle statistiche." },
 | 
			
		||||
    "noServersForToken": { "message": "Nessun server associato trovato per questo token." },
 | 
			
		||||
    "searchingActorContent": { "message": "Ricerca dei contenuti di $actorName$ in corso", "placeholders": { "actorName": { "content": "$1" } } },
 | 
			
		||||
    "errorLoadingActorContent": { "message": "Impossibile caricare i contenuti di $actorName$.", "placeholders": { "actorName": { "content": "$1" } } },
 | 
			
		||||
    "errorAddingStream": { "message": "Errore nell'aggiungere stream: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "phpUrlNotConfigured": { "message": "L'URL del server PHP non è configurato. Per favore, impostalo nelle Impostazioni." },
 | 
			
		||||
    "searchingStreams": { "message": "Ricerca di stream per \"$title$\" in corso...", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "sendingStreams": { "message": "Invio di $count$ stream al server in corso...", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "streamAddedSuccess": { "message": "Stream aggiunti con successo." },
 | 
			
		||||
    "generatingM3U": { "message": "Generazione M3U per \"$title$\" in corso...", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "m3uDownloaded": { "message": "M3U per \"$title$\" scaricato.", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "errorGeneratingM3U": { "message": "Errore nella generazione dell'M3U: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "settingsSavedSuccess": { "message": "Impostazioni salvate con successo." },
 | 
			
		||||
    "errorSavingSettings": { "message": "Errore nel salvataggio delle impostazioni nel database." },
 | 
			
		||||
    "languageChangeReload": { "message": "Lingua cambiata. L'applicazione verrà ora ricaricata." },
 | 
			
		||||
    "addedToFavorites": { "message": "Aggiunto ai preferiti." },
 | 
			
		||||
    "removedFromFavorites": { "message": "Rimosso dai preferiti." },
 | 
			
		||||
    "plexScanInProgress": { "message": "Scansione Plex già in corso." },
 | 
			
		||||
    "plexScanStarting": { "message": "Avvio scansione Plex in corso..." },
 | 
			
		||||
    "noPlexTokens": { "message": "Nessun token Plex configurato." },
 | 
			
		||||
    "clearingSections": { "message": "Pulizia sezioni: $sections$", "placeholders": { "sections": { "content": "$1" } } },
 | 
			
		||||
    "sectionsCleared": { "message": "Sezioni pulite." },
 | 
			
		||||
    "tokenFoundServers": { "message": "Token $token$... ha trovato $count$ server.", "placeholders": { "token": { "content": "$1" }, "count": { "content": "$2" } } },
 | 
			
		||||
    "errorProcessingToken": { "message": "Errore nell'elaborazione del token $token$...: $message$", "placeholders": { "token": { "content": "$1" }, "message": { "content": "$2" } } },
 | 
			
		||||
    "initialScanPhaseComplete": { "message": "Fase di scansione iniziale completata." },
 | 
			
		||||
    "retryPhaseFinished": { "message": "Fase di nuovo tentativo terminata." },
 | 
			
		||||
    "plexScanFinished": { "message": "Scansione Plex terminata. Aggiornamento dei contenuti in corso..." },
 | 
			
		||||
    "plexScanFatalError": { "message": "ERRORE FATALE: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "errorDuringScan": { "message": "Errore durante la scansione: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "scanCancelled": { "message": "Scansione annullata dall'utente." },
 | 
			
		||||
    "scanCancelledInfo": { "message": "Scansione annullata." },
 | 
			
		||||
    "retyingSection": { "message": "Nuovo tentativo per la sezione \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "retrySuccess": { "message": "[SUCCESSO] Nuovo tentativo per \"$title$\" completato.", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "retryError": { "message": "[ERRORE FINALE] Nuovo tentativo fallito per \"$title$\": $message$", "placeholders": { "title": { "content": "$1" }, "message": { "content": "$2" } } },
 | 
			
		||||
    "noRetriesPending": { "message": "Nessun nuovo tentativo in sospeso." },
 | 
			
		||||
    "startingRetryPhase": { "message": "Avvio fase di nuovo tentativo per $count$ sezioni...", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "retryPhaseCancelled": { "message": "Fase di nuovo tentativo annullata." },
 | 
			
		||||
    "errorInitializingMusicPlayer": { "message": "Errore durante l'inizializzazione del lettore musicale." },
 | 
			
		||||
    "criticalErrorLoadingMusic": { "message": "Errore critico nel caricamento dei dati musicali." },
 | 
			
		||||
    "errorLoadingArtists": { "message": "Errore nel caricamento degli artisti." },
 | 
			
		||||
    "dbUnavailableError": { "message": "Errore: Database non disponibile." },
 | 
			
		||||
    "updatingMusicData": { "message": "Aggiornamento dati musicali in corso..." },
 | 
			
		||||
    "musicDataUpdated": { "message": "Dati musicali aggiornati." },
 | 
			
		||||
    "errorFetchingArtistSongs": { "message": "Errore nel recupero dei brani dell'artista." },
 | 
			
		||||
    "errorLoadingSongs": { "message": "Errore nel caricamento dei brani." },
 | 
			
		||||
    "noArtistsFound": { "message": "Nessun artista trovato." },
 | 
			
		||||
    "artistsCounter": { "message": "$start$-$end$ di $total$", "placeholders": { "start": { "content": "$1" }, "end": { "content": "$2" }, "total": { "content": "$3" } } },
 | 
			
		||||
    "artistsCounterSingle": { "message": "$total$ Artisti", "placeholders": { "total": { "content": "$1" } } },
 | 
			
		||||
    "artistsCounterLoading": { "message": "Caricamento..." },
 | 
			
		||||
    "noSongsFound": { "message": "Nessun brano trovato." },
 | 
			
		||||
    "shuffleOn": { "message": "Modalità riproduzione casuale attivata." },
 | 
			
		||||
    "shuffleOff": { "message": "Modalità riproduzione casuale disattivata." },
 | 
			
		||||
    "downloadingSong": { "message": "Avvio download di \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "songDownloaded": { "message": "\"$title$\" scaricato.", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "errorDownloadingSong": { "message": "Errore durante il download di \"$title$\"", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "generatingAlbumM3U": { "message": "Generazione M3U per \"$artist$\"...", "placeholders": { "artist": { "content": "$1" } } },
 | 
			
		||||
    "albumM3UGenerated": { "message": "M3U per l'album \"$artist$\" generato.", "placeholders": { "artist": { "content": "$1" } } },
 | 
			
		||||
    "playbackError": { "message": "Errore di riproduzione" },
 | 
			
		||||
    "errorLabel": { "message": "Errore" },
 | 
			
		||||
    "reloadingPage": { "message": "Ricaricamento pagina in corso..." },
 | 
			
		||||
    "viewed": { "message": "Visto" },
 | 
			
		||||
    "local": { "message": "Locale" },
 | 
			
		||||
    "topRatedSort": {"message": "Più Votati"},
 | 
			
		||||
    "recentSort": {"message": "Recenti"},
 | 
			
		||||
    "popularSort": {"message": "Popolari"},
 | 
			
		||||
    "moviesSectionTitle": {"message": "Film"},
 | 
			
		||||
    "seriesSectionTitle": {"message": "Serie TV"},
 | 
			
		||||
    "searchResultsFor": {"message": "Risultati per \"$query$\"", "placeholders": {"query": {"content": "$1"}}},
 | 
			
		||||
    "contentFrom": {"message": "Contenuti di $actor$", "placeholders": {"actor": {"content": "$1"}}},
 | 
			
		||||
    "explore": {"message": "Esplora"},
 | 
			
		||||
    "noGenre": {"message": "Senza Categoria"},
 | 
			
		||||
    "synopsis": {"message": "Sinossi"},
 | 
			
		||||
    "noSynopsis": {"message": "Nessuna sinossi disponibile."},
 | 
			
		||||
    "director": {"message": "Regista:"},
 | 
			
		||||
    "writer": {"message": "Sceneggiatore:"},
 | 
			
		||||
    "viewOnImdb": {"message": "Vedi su IMDb"},
 | 
			
		||||
    "watchTrailer": {"message": "Guarda Trailer"},
 | 
			
		||||
    "addToFavorites": {"message": "Aggiungi ai preferiti"},
 | 
			
		||||
    "removeFromFavorites": {"message": "Rimuovi dai preferiti"},
 | 
			
		||||
    "notAvailable": {"message": "Non Disponibile"},
 | 
			
		||||
    "mainCast": {"message": "Cast Principale"},
 | 
			
		||||
    "seasonsAndEpisodes": {"message": "Stagioni ed Episodi"},
 | 
			
		||||
    "similarContent": {"message": "Contenuti Simili"},
 | 
			
		||||
    "episodesCount": {"message": "$count$ Episodi", "placeholders": {"count": {"content": "$1"}}},
 | 
			
		||||
    "seasonsCount": {"message": "$count$ Stagioni", "placeholders": {"count": {"content": "$1"}}},
 | 
			
		||||
    "runtimeMinutes": {"message": "$count$ min", "placeholders": {"count": {"content": "$1"}}},
 | 
			
		||||
    "noTrailerFound": {"message": "Nessun trailer trovato per questo titolo."},
 | 
			
		||||
    "fatalInitError": {"message": "Errore Fatale di Inizializzazione"},
 | 
			
		||||
    "fatalInitErrorSub": {"message": "Impossibile caricare l'applicazione."},
 | 
			
		||||
    "invalidStreamInfo": {"message": "Informazioni non valide."},
 | 
			
		||||
    "dbUnavailableForStreams": {"message": "Database locale non disponibile."},
 | 
			
		||||
    "noPlexServersForStreams": {"message": "Nessun server Plex."},
 | 
			
		||||
    "notFoundOnServers": {"message": "\"$query$\" non trovato sui server.", "placeholders": {"query": {"content": "$1"}}},
 | 
			
		||||
    "relativeTime_justNow": { "message": "Poco fa" },
 | 
			
		||||
    "relativeTime_minutesAgo": { "message": "$count$ minuti fa", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "relativeTime_hoursAgo": { "message": "$count$ ore fa", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "relativeTime_yesterday": { "message": "Ieri" },
 | 
			
		||||
    "relativeTime_daysAgo": { "message": "$count$ giorni fa", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "errorLoadingDetails": { "message": "Errore nel Caricamento dei Dettagli" },
 | 
			
		||||
    "errorLoadingLocalContent": { "message": "Errore nel caricamento del contenuto locale." },
 | 
			
		||||
    "errorServerResponse": { "message": "Risposta non riuscita dal server." },
 | 
			
		||||
    "errorPlexApi": { "message": "Errore $status$ dall'API di Plex.", "placeholders": { "status": { "content": "$1" } } },
 | 
			
		||||
    "errorParsingPlexXml": { "message": "Errore nell'analisi dell'XML di Plex." },
 | 
			
		||||
    "untitled": { "message": "Senza titolo" },
 | 
			
		||||
    "itemCount": { "message": "$count$ elementi", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "noPhotoServers": { "message": "Nessun server di foto" }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										290
									
								
								_locales/pt/messages.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										290
									
								
								_locales/pt/messages.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,290 @@
 | 
			
		||||
{
 | 
			
		||||
    "appName": { "message": "CinePlex" },
 | 
			
		||||
    "appDescription": { "message": "Analisa servidores Plex para encontrar conteúdo e o exibe na interface" },
 | 
			
		||||
    "appTagline": { "message": "Filmes, Séries e Música" },
 | 
			
		||||
    "appLocaleCode": { "message": "pt-BR" },
 | 
			
		||||
    "toggleNavigation": { "message": "Alternar Navegação" },
 | 
			
		||||
    "searchPlaceholder": { "message": "Pesquisar filmes ou séries..." },
 | 
			
		||||
    "openMusicPlayer": { "message": "Abrir Player de Música" },
 | 
			
		||||
    "settings": { "message": "Configurações" },
 | 
			
		||||
    "navMovies": { "message": "Filmes" },
 | 
			
		||||
    "navSeries": { "message": "Séries" },
 | 
			
		||||
    "navPhotos": { "message": "Fotos" },
 | 
			
		||||
    "navStats": { "message": "Estatísticas" },
 | 
			
		||||
    "navFavorites": { "message": "Favoritos" },
 | 
			
		||||
    "navHistory": { "message": "Histórico" },
 | 
			
		||||
    "navRecommendations": { "message": "Recomendações" },
 | 
			
		||||
    "navMusic": { "message": "Música" },
 | 
			
		||||
    "heroWelcome": { "message": "Bem-vindo ao CinePlex" },
 | 
			
		||||
    "heroSubtitle": { "message": "Explore milhares de filmes e séries." },
 | 
			
		||||
    "addStream": { "message": "Adicionar Stream" },
 | 
			
		||||
    "moreInfo": { "message": "Mais Informações" },
 | 
			
		||||
    "popularMovies": { "message": "Filmes Populares" },
 | 
			
		||||
    "allGenres": { "message": "Todos os Gêneros" },
 | 
			
		||||
    "allYears": { "message": "Todos os Anos" },
 | 
			
		||||
    "sortPopular": { "message": "Mais Populares" },
 | 
			
		||||
    "sortTopRated": { "message": "Mais Bem Avaliados" },
 | 
			
		||||
    "sortRecent": { "message": "Mais Recentes" },
 | 
			
		||||
    "loadMore": { "message": "Carregar Mais" },
 | 
			
		||||
    "photosBreadcrumbHome": { "message": "Álbuns" },
 | 
			
		||||
    "selectServer": { "message": "Selecione um servidor" },
 | 
			
		||||
    "loading": { "message": "Carregando..." },
 | 
			
		||||
    "photosEmptyState": { "message": "Nenhum álbum ou foto encontrado." },
 | 
			
		||||
    "photosEmptyStateSub": { "message": "Por favor, selecione um servidor ou certifique-se de que você tem uma biblioteca de fotos no Plex." },
 | 
			
		||||
    "statsTitle": { "message": "Estatísticas da Biblioteca" },
 | 
			
		||||
    "statsAllTokens": { "message": "Todos os Tokens" },
 | 
			
		||||
    "statsAnalyzing": { "message": "Analisando sua biblioteca..." },
 | 
			
		||||
    "statsActiveTokens": { "message": "Tokens Ativos" },
 | 
			
		||||
    "statsServersFound": { "message": "Servidores Encontrados" },
 | 
			
		||||
    "statsUniqueMovies": { "message": "Filmes Únicos" },
 | 
			
		||||
    "statsUniqueSeries": { "message": "Séries Únicas" },
 | 
			
		||||
    "statsUniqueArtists": { "message": "Artistas Únicos" },
 | 
			
		||||
    "statsTokenServers": { "message": "Servidores do Token" },
 | 
			
		||||
    "statsChartMoviesByGenre": { "message": "Conteúdo por Gênero (Filmes)" },
 | 
			
		||||
    "statsChartSeriesByGenre": { "message": "Conteúdo por Gênero (Séries)" },
 | 
			
		||||
    "statsChartByDecade": { "message": "Conteúdo por Década" },
 | 
			
		||||
    "recommendationsTitle": { "message": "Recomendações para Você" },
 | 
			
		||||
    "historyTitle": { "message": "Histórico de Visualização" },
 | 
			
		||||
    "clearHistory": { "message": "Limpar Tudo" },
 | 
			
		||||
    "consoleTitle": { "message": "Console de Análise do Plex" },
 | 
			
		||||
    "footerCredit": { "message": "Uma interface para o seu universo Plex." },
 | 
			
		||||
    "backButton": { "message": "Voltar" },
 | 
			
		||||
    "closeTrailer": { "message": "Fechar trailer" },
 | 
			
		||||
    "close": { "message": "Fechar" },
 | 
			
		||||
    "photoViewer": { "message": "Visualizador de Fotos" },
 | 
			
		||||
    "previous": { "message": "Anterior" },
 | 
			
		||||
    "next": { "message": "Próximo" },
 | 
			
		||||
    "notificationTemplateText": { "message": "Notificação" },
 | 
			
		||||
    "settingsTitleFull": { "message": "Configurações e Ajustes" },
 | 
			
		||||
    "settingsTabGeneral": { "message": "Geral" },
 | 
			
		||||
    "settingsTabPlex": { "message": "Plex" },
 | 
			
		||||
    "settingsTabPhpGen": { "message": "Gerador de PHP" },
 | 
			
		||||
    "settingsTabData": { "message": "Dados" },
 | 
			
		||||
    "settingsApiServer": { "message": "Configuração de API e Servidor" },
 | 
			
		||||
    "settingsTmdbApiLabel": { "message": "Chave da API do TMDB (Opcional)" },
 | 
			
		||||
    "settingsTmdbApiPlaceholder": { "message": "Usará a chave padrão se deixado em branco" },
 | 
			
		||||
    "settingsTmdbLangLabel": { "message": "Idioma para TMDB e Interface" },
 | 
			
		||||
    "settingsPhpUrlLabel": { "message": "URL do Servidor para Adicionar Streams" },
 | 
			
		||||
    "settingsPhpUrlPlaceholder": { "message": "https://seu-servidor.com/caminho/para/script.php" },
 | 
			
		||||
    "settingsInterface": { "message": "Interface" },
 | 
			
		||||
    "settingsLightTheme": { "message": "Modo Claro" },
 | 
			
		||||
    "settingsShowHero": { "message": "Mostrar seção de boas-vindas 'Hero'" },
 | 
			
		||||
    "settingsScanContent": { "message": "Análise de Conteúdo" },
 | 
			
		||||
    "settingsScanDesc": { "message": "Selecione o que analisar e pressione o botão." },
 | 
			
		||||
    "settingsScanMovies": { "message": "Filmes" },
 | 
			
		||||
    "settingsScanShows": { "message": "Séries" },
 | 
			
		||||
    "settingsScanArtists": { "message": "Música" },
 | 
			
		||||
    "settingsScanPhotos": { "message": "Fotos" },
 | 
			
		||||
    "settingsSelectAll": { "message": "Selecionar Tudo" },
 | 
			
		||||
    "settingsStartScan": { "message": "Iniciar Análise" },
 | 
			
		||||
    "settingsPlexTokens": { "message": "Tokens do Plex" },
 | 
			
		||||
    "settingsPlexTokensDesc": { "message": "Edite a lista de tokens do Plex (formato JSON)." },
 | 
			
		||||
    "settingsSaveTokens": { "message": "Salvar Tokens" },
 | 
			
		||||
    "settingsPhpGenTitle": { "message": "Gerador de Script PHP para Servidor" },
 | 
			
		||||
    "settingsPhpFileOptions": { "message": "Opções de Arquivo" },
 | 
			
		||||
    "settingsPhpSavePathLabel": { "message": "Caminho para Salvar no Servidor" },
 | 
			
		||||
    "settingsPhpSavePathPlaceholder": { "message": "Ex: /var/www/html/listas (em branco para a mesma pasta)" },
 | 
			
		||||
    "settingsPhpFilenameLabel": { "message": "Nome do Arquivo" },
 | 
			
		||||
    "settingsPhpFileAction": { "message": "Ação no Arquivo" },
 | 
			
		||||
    "settingsPhpActionAppend": { "message": "Anexar ao final do arquivo (cumulativo)" },
 | 
			
		||||
    "settingsPhpActionOverwrite": { "message": "Sobrescrever o arquivo (começar do zero)" },
 | 
			
		||||
    "settingsPhpSecurity": { "message": "Segurança (Opcional)" },
 | 
			
		||||
    "settingsPhpUseSecretKey": { "message": "Usar chave secreta (Recomendado)" },
 | 
			
		||||
    "settingsPhpSecretKeyPlaceholder": { "message": "Digite uma chave secreta segura" },
 | 
			
		||||
    "settingsPhpGeneratedCode": { "message": "Código Gerado" },
 | 
			
		||||
    "settingsPhpGeneratedPlaceholder": { "message": "O código PHP gerado aparecerá aqui." },
 | 
			
		||||
    "settingsGenerateScript": { "message": "Gerar Script" },
 | 
			
		||||
    "settingsCopyScript": { "message": "Copiar Script" },
 | 
			
		||||
    "settingsDataManagement": { "message": "Gerenciamento do Banco de Dados Local" },
 | 
			
		||||
    "settingsImportDb": { "message": "Importar BD de um Arquivo" },
 | 
			
		||||
    "settingsExportDb": { "message": "Exportar BD para um Arquivo" },
 | 
			
		||||
    "settingsClearContent": { "message": "Limpar Dados de Conteúdo Local" },
 | 
			
		||||
    "settingsClearContentDesc": { "message": "Esta ação excluirá filmes, séries e músicas do banco de dados local, mas não afetará seus favoritos ou configurações." },
 | 
			
		||||
    "settingsClose": { "message": "Fechar" },
 | 
			
		||||
    "settingsSave": { "message": "Salvar Configurações" },
 | 
			
		||||
    "musicSidenavTitle": { "message": "Música do Plex" },
 | 
			
		||||
    "musicAllServers": { "message": "Todos os Servidores" },
 | 
			
		||||
    "musicSearchArtistPlaceholder": { "message": "Pesquisar artista..." },
 | 
			
		||||
    "musicSearchDiscographyPlaceholder": { "message": "Pesquisar na discografia..." },
 | 
			
		||||
    "musicNothingPlaying": { "message": "Nada tocando" },
 | 
			
		||||
    "musicSelectSong": { "message": "Selecione uma música" },
 | 
			
		||||
    "musicToStart": { "message": "para começar a tocar" },
 | 
			
		||||
    "miniplayerDownloadSong": { "message": "Baixar música" },
 | 
			
		||||
    "miniplayerDownloadAlbum": { "message": "Baixar álbum M3U" },
 | 
			
		||||
    "miniplayerVolume": { "message": "Volume" },
 | 
			
		||||
    "miniplayerShuffle": { "message": "Aleatório" },
 | 
			
		||||
    "miniplayerEqualizer": { "message": "Equalizador" },
 | 
			
		||||
    "miniplayerOpenList": { "message": "Abrir lista" },
 | 
			
		||||
    "eqTitle": { "message": "Equalizador Gráfico" },
 | 
			
		||||
    "eqPresetsLabel": { "message": "Predefinições" },
 | 
			
		||||
    "eqPresetFlat": { "message": "Plano (Flat)" },
 | 
			
		||||
    "eqPresetRock": { "message": "Rock" },
 | 
			
		||||
    "eqPresetPop": { "message": "Pop" },
 | 
			
		||||
    "eqPresetJazz": { "message": "Jazz" },
 | 
			
		||||
    "eqPresetClassical": { "message": "Clássica" },
 | 
			
		||||
    "eqPresetBassBoost": { "message": "Reforço de Graves" },
 | 
			
		||||
    "eqPreampLabel": { "message": "Pré-amplificador" },
 | 
			
		||||
    "infoModalTitle": { "message": "Informações" },
 | 
			
		||||
    "infoModalFieldTitle": { "message": "Título:" },
 | 
			
		||||
    "infoModalFieldArtist": { "message": "Artista:" },
 | 
			
		||||
    "infoModalFieldAlbum": { "message": "Álbum:" },
 | 
			
		||||
    "infoModalFieldSong": { "message": "Música:" },
 | 
			
		||||
    "infoModalFieldYear": { "message": "Ano:" },
 | 
			
		||||
    "infoModalFieldGenre": { "message": "Gênero:" },
 | 
			
		||||
    "lang_en": { "message": "Inglês" },
 | 
			
		||||
    "lang_es": { "message": "Espanhol" },
 | 
			
		||||
    "lang_fr": { "message": "Francês" },
 | 
			
		||||
    "lang_de": { "message": "Alemão" },
 | 
			
		||||
    "lang_it": { "message": "Italiano" },
 | 
			
		||||
    "lang_pt": { "message": "Português" },
 | 
			
		||||
    "essentialFeaturesNotSupported": { "message": "Seu navegador não suporta recursos essenciais." },
 | 
			
		||||
    "dbAccessError": { "message": "Erro ao acessar o banco de dados local." },
 | 
			
		||||
    "dbUpdateNeeded": { "message": "O banco de dados precisa ser atualizado, por favor, recarregue a página." },
 | 
			
		||||
    "dbBlocked": { "message": "Por favor, feche outras abas desta aplicação para continuar." },
 | 
			
		||||
    "deletingContentData": { "message": "Excluindo dados de conteúdo local..." },
 | 
			
		||||
    "noContentDataToDelete": { "message": "Nenhum dado de conteúdo para excluir." },
 | 
			
		||||
    "contentDataDeleted": { "message": "Dados de conteúdo excluídos do IndexedDB." },
 | 
			
		||||
    "errorDeletingData": { "message": "Erro ao excluir dados: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "aceEditorNotAvailable": { "message": "Editor de texto não disponível." },
 | 
			
		||||
    "errorLoadingTokens": { "message": "Erro ao carregar tokens no editor." },
 | 
			
		||||
    "errorLoadingTokensMessage": { "message": "Erro ao carregar tokens: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "aceEditorNotAvailableToSave": { "message": "Editor não disponível para salvar." },
 | 
			
		||||
    "invalidJsonFormat": { "message": "Formato JSON inválido. Deve ser { \"tokens\": [...] }" },
 | 
			
		||||
    "tokensSaved": { "message": "Tokens salvos com sucesso." },
 | 
			
		||||
    "errorSavingTokens": { "message": "Erro ao salvar tokens: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "dbNotAvailable": { "message": "O IndexedDB não está disponível." },
 | 
			
		||||
    "dbExported": { "message": "Banco de dados exportado com sucesso." },
 | 
			
		||||
    "errorExportingDb": { "message": "Erro ao exportar banco de dados: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "invalidJsonFile": { "message": "O arquivo não contém um objeto JSON válido." },
 | 
			
		||||
    "noDataToImport": { "message": "O arquivo não contém dados para as seções atuais do BD." },
 | 
			
		||||
    "dbImported": { "message": "Banco de dados importado com sucesso." },
 | 
			
		||||
    "errorImportingDb": { "message": "Erro ao importar banco de dados: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "updatingView": { "message": "Atualizando a visualização com novos dados..." },
 | 
			
		||||
    "confirmClearContent": { "message": "Tem certeza de que deseja excluir os dados de conteúdo local (Filmes, Séries, Músicas, etc.)? Favoritos e Configurações NÃO serão excluídos." },
 | 
			
		||||
    "trailerNotFound": { "message": "Nenhum trailer encontrado para este título." },
 | 
			
		||||
    "confirmClearHistory": { "message": "Tem certeza de que deseja excluir todo o seu histórico de visualização? Esta ação não pode ser desfeita." },
 | 
			
		||||
    "historyCleared": { "message": "Histórico de visualização limpo." },
 | 
			
		||||
    "historyItemDeleted": { "message": "Item excluído do histórico." },
 | 
			
		||||
    "errorGeneratingScript": { "message": "Primeiro, gere um script para poder copiá-lo." },
 | 
			
		||||
    "scriptCopied": { "message": "Script PHP copiado para a área de transferência." },
 | 
			
		||||
    "errorCopyingScript": { "message": "Erro ao copiar o script." },
 | 
			
		||||
    "scriptGenerated": { "message": "Script PHP gerado." },
 | 
			
		||||
    "errorLoadingAlbum": { "message": "Erro ao carregar o álbum: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "noPhotoServerSelected": { "message": "Erro: Nenhum servidor de fotos foi selecionado." },
 | 
			
		||||
    "loadingGenres": { "message": "Carregando gêneros..." },
 | 
			
		||||
    "errorLoadingGenres": { "message": "Erro ao carregar" },
 | 
			
		||||
    "noContentFound": { "message": "Nenhum resultado encontrado." },
 | 
			
		||||
    "couldNotLoadContent": { "message": "Não foi possível carregar o conteúdo." },
 | 
			
		||||
    "noFavorites": { "message": "Você ainda não tem favoritos." },
 | 
			
		||||
    "errorLoadingFavorites": { "message": "Erro ao carregar os favoritos." },
 | 
			
		||||
    "historyEmpty": { "message": "Seu histórico está vazio." },
 | 
			
		||||
    "historyEmptySub": { "message": "Navegue e assista a conteúdos para que eles apareçam aqui." },
 | 
			
		||||
    "errorGeneratingRecommendations": { "message": "Erro ao gerar recomendações." },
 | 
			
		||||
    "noRecommendations": { "message": "Precisamos te conhecer melhor para dar recomendações!" },
 | 
			
		||||
    "errorGeneratingStats": { "message": "Erro ao gerar estatísticas." },
 | 
			
		||||
    "noServersForToken": { "message": "Nenhum servidor associado encontrado para este token." },
 | 
			
		||||
    "searchingActorContent": { "message": "Buscando conteúdo de $actorName$", "placeholders": { "actorName": { "content": "$1" } } },
 | 
			
		||||
    "errorLoadingActorContent": { "message": "Não foi possível carregar o conteúdo de $actorName$.", "placeholders": { "actorName": { "content": "$1" } } },
 | 
			
		||||
    "errorAddingStream": { "message": "Erro ao adicionar stream(s): $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "phpUrlNotConfigured": { "message": "A URL do servidor PHP não está configurada. Por favor, configure-a nas Configurações." },
 | 
			
		||||
    "searchingStreams": { "message": "Buscando streams para \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "sendingStreams": { "message": "Enviando $count$ stream(s) para o servidor...", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "streamAddedSuccess": { "message": "Stream(s) adicionado(s) com sucesso." },
 | 
			
		||||
    "generatingM3U": { "message": "Gerando M3U para \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "m3uDownloaded": { "message": "M3U para \"$title$\" baixado.", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "errorGeneratingM3U": { "message": "Erro ao gerar M3U: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "settingsSavedSuccess": { "message": "Configurações salvas com sucesso." },
 | 
			
		||||
    "errorSavingSettings": { "message": "Erro ao salvar as configurações no banco de dados." },
 | 
			
		||||
    "languageChangeReload": { "message": "Idioma alterado. A aplicação será recarregada agora." },
 | 
			
		||||
    "addedToFavorites": { "message": "Adicionado aos favoritos." },
 | 
			
		||||
    "removedFromFavorites": { "message": "Removido dos favoritos." },
 | 
			
		||||
    "plexScanInProgress": { "message": "A análise do Plex já está em andamento." },
 | 
			
		||||
    "plexScanStarting": { "message": "Iniciando análise do Plex..." },
 | 
			
		||||
    "noPlexTokens": { "message": "Nenhum token do Plex configurado." },
 | 
			
		||||
    "clearingSections": { "message": "Limpando seções: $sections$", "placeholders": { "sections": { "content": "$1" } } },
 | 
			
		||||
    "sectionsCleared": { "message": "Seções limpas." },
 | 
			
		||||
    "tokenFoundServers": { "message": "Token $token$... encontrou $count$ servidores.", "placeholders": { "token": { "content": "$1" }, "count": { "content": "$2" } } },
 | 
			
		||||
    "errorProcessingToken": { "message": "Erro ao processar o token $token$...: $message$", "placeholders": { "token": { "content": "$1" }, "message": { "content": "$2" } } },
 | 
			
		||||
    "initialScanPhaseComplete": { "message": "Fase de análise inicial concluída." },
 | 
			
		||||
    "retryPhaseFinished": { "message": "Fase de nova tentativa concluída." },
 | 
			
		||||
    "plexScanFinished": { "message": "Análise do Plex concluída. Atualizando conteúdo..." },
 | 
			
		||||
    "plexScanFatalError": { "message": "ERRO FATAL: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "errorDuringScan": { "message": "Erro durante a análise: $message$", "placeholders": { "message": { "content": "$1" } } },
 | 
			
		||||
    "scanCancelled": { "message": "Análise cancelada pelo usuário." },
 | 
			
		||||
    "scanCancelledInfo": { "message": "Análise cancelada." },
 | 
			
		||||
    "retyingSection": { "message": "Tentando novamente a seção \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "retrySuccess": { "message": "[SUCESSO] Nova tentativa de \"$title$\" concluída.", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "retryError": { "message": "[ERRO FINAL] A nova tentativa falhou para \"$title$\": $message$", "placeholders": { "title": { "content": "$1" }, "message": { "content": "$2" } } },
 | 
			
		||||
    "noRetriesPending": { "message": "Nenhuma nova tentativa pendente." },
 | 
			
		||||
    "startingRetryPhase": { "message": "Iniciando fase de nova tentativa para $count$ seções...", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "retryPhaseCancelled": { "message": "Fase de nova tentativa cancelada." },
 | 
			
		||||
    "errorInitializingMusicPlayer": { "message": "Erro ao inicializar o player de música." },
 | 
			
		||||
    "criticalErrorLoadingMusic": { "message": "Erro crítico ao carregar dados de música." },
 | 
			
		||||
    "errorLoadingArtists": { "message": "Erro ao carregar artistas." },
 | 
			
		||||
    "dbUnavailableError": { "message": "Erro: Banco de dados não disponível." },
 | 
			
		||||
    "updatingMusicData": { "message": "Atualizando dados de música..." },
 | 
			
		||||
    "musicDataUpdated": { "message": "Dados de música atualizados." },
 | 
			
		||||
    "errorFetchingArtistSongs": { "message": "Erro ao obter as músicas do artista." },
 | 
			
		||||
    "errorLoadingSongs": { "message": "Erro ao carregar as músicas." },
 | 
			
		||||
    "noArtistsFound": { "message": "Nenhum artista encontrado." },
 | 
			
		||||
    "artistsCounter": { "message": "$start$-$end$ de $total$", "placeholders": { "start": { "content": "$1" }, "end": { "content": "$2" }, "total": { "content": "$3" } } },
 | 
			
		||||
    "artistsCounterSingle": { "message": "$total$ Artistas", "placeholders": { "total": { "content": "$1" } } },
 | 
			
		||||
    "artistsCounterLoading": { "message": "Carregando..." },
 | 
			
		||||
    "noSongsFound": { "message": "Nenhuma música encontrada." },
 | 
			
		||||
    "shuffleOn": { "message": "Modo aleatório ativado." },
 | 
			
		||||
    "shuffleOff": { "message": "Modo aleatório desativado." },
 | 
			
		||||
    "downloadingSong": { "message": "Iniciando download de \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "songDownloaded": { "message": "\"$title$\" baixado.", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "errorDownloadingSong": { "message": "Erro ao baixar \"$title$\"", "placeholders": { "title": { "content": "$1" } } },
 | 
			
		||||
    "generatingAlbumM3U": { "message": "Gerando M3U para \"$artist$\"...", "placeholders": { "artist": { "content": "$1" } } },
 | 
			
		||||
    "albumM3UGenerated": { "message": "M3U para o álbum \"$artist$\" gerado.", "placeholders": { "artist": { "content": "$1" } } },
 | 
			
		||||
    "playbackError": { "message": "Erro de reprodução" },
 | 
			
		||||
    "errorLabel": { "message": "Erro" },
 | 
			
		||||
    "reloadingPage": { "message": "Recarregando página..." },
 | 
			
		||||
    "viewed": { "message": "Visto" },
 | 
			
		||||
    "local": { "message": "Local" },
 | 
			
		||||
    "topRatedSort": {"message": "Mais Bem Avaliados"},
 | 
			
		||||
    "recentSort": {"message": "Recentes"},
 | 
			
		||||
    "popularSort": {"message": "Populares"},
 | 
			
		||||
    "moviesSectionTitle": {"message": "Filmes"},
 | 
			
		||||
    "seriesSectionTitle": {"message": "Séries"},
 | 
			
		||||
    "searchResultsFor": {"message": "Resultados para \"$query$\"", "placeholders": {"query": {"content": "$1"}}},
 | 
			
		||||
    "contentFrom": {"message": "Conteúdo de $actor$", "placeholders": {"actor": {"content": "$1"}}},
 | 
			
		||||
    "explore": {"message": "Explorar"},
 | 
			
		||||
    "noGenre": {"message": "Sem Categoria"},
 | 
			
		||||
    "synopsis": {"message": "Sinopse"},
 | 
			
		||||
    "noSynopsis": {"message": "Nenhuma sinopse disponível."},
 | 
			
		||||
    "director": {"message": "Diretor:"},
 | 
			
		||||
    "writer": {"message": "Roteirista:"},
 | 
			
		||||
    "viewOnImdb": {"message": "Ver no IMDb"},
 | 
			
		||||
    "watchTrailer": {"message": "Assistir ao Trailer"},
 | 
			
		||||
    "addToFavorites": {"message": "Favoritar"},
 | 
			
		||||
    "removeFromFavorites": {"message": "Desfavoritar"},
 | 
			
		||||
    "notAvailable": {"message": "Não Disponível"},
 | 
			
		||||
    "mainCast": {"message": "Elenco Principal"},
 | 
			
		||||
    "seasonsAndEpisodes": {"message": "Temporadas e Episódios"},
 | 
			
		||||
    "similarContent": {"message": "Conteúdo Similar"},
 | 
			
		||||
    "episodesCount": {"message": "$count$ Episódios", "placeholders": {"count": {"content": "$1"}}},
 | 
			
		||||
    "seasonsCount": {"message": "$count$ Temporadas", "placeholders": {"count": {"content": "$1"}}},
 | 
			
		||||
    "runtimeMinutes": {"message": "$count$ min", "placeholders": {"count": {"content": "$1"}}},
 | 
			
		||||
    "noTrailerFound": {"message": "Nenhum trailer foi encontrado para este título."},
 | 
			
		||||
    "fatalInitError": {"message": "Erro Fatal de Inicialização"},
 | 
			
		||||
    "fatalInitErrorSub": {"message": "A aplicação não pôde ser carregada."},
 | 
			
		||||
    "invalidStreamInfo": {"message": "Informação inválida."},
 | 
			
		||||
    "dbUnavailableForStreams": {"message": "Banco de dados local não disponível."},
 | 
			
		||||
    "noPlexServersForStreams": {"message": "Nenhum servidor Plex."},
 | 
			
		||||
    "notFoundOnServers": {"message": "\"$query$\" não encontrado nos servidores.", "placeholders": {"query": {"content": "$1"}}},
 | 
			
		||||
    "relativeTime_justNow": { "message": "Agora mesmo" },
 | 
			
		||||
    "relativeTime_minutesAgo": { "message": "há $count$ minutos", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "relativeTime_hoursAgo": { "message": "há $count$ horas", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "relativeTime_yesterday": { "message": "Ontem" },
 | 
			
		||||
    "relativeTime_daysAgo": { "message": "há $count$ dias", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "errorLoadingDetails": { "message": "Erro ao Carregar Detalhes" },
 | 
			
		||||
    "errorLoadingLocalContent": { "message": "Erro ao carregar conteúdo local." },
 | 
			
		||||
    "errorServerResponse": { "message": "Resposta sem sucesso do servidor." },
 | 
			
		||||
    "errorPlexApi": { "message": "Erro $status$ da API do Plex.", "placeholders": { "status": { "content": "$1" } } },
 | 
			
		||||
    "errorParsingPlexXml": { "message": "Erro ao analisar o XML do Plex." },
 | 
			
		||||
    "untitled": { "message": "Sem título" },
 | 
			
		||||
    "itemCount": { "message": "$count$ itens", "placeholders": { "count": { "content": "$1" } } },
 | 
			
		||||
    "noPhotoServers": { "message": "Nenhum servidor de fotos" }
 | 
			
		||||
}
 | 
			
		||||
@ -10,7 +10,9 @@ export async function fetchTMDB(endpoint, signal) {
 | 
			
		||||
        'es': 'es-ES',
 | 
			
		||||
        'en': 'en-US',
 | 
			
		||||
        'fr': 'fr-FR',
 | 
			
		||||
        'de': 'de-DE'
 | 
			
		||||
        'de': 'de-DE',
 | 
			
		||||
        'it': 'it-IT',
 | 
			
		||||
        'pt': 'pt-BR' 
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    if (langMap[state.settings.language]) {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										5
									
								
								js/ui.js
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								js/ui.js
									
									
									
									
									
								
							@ -1220,7 +1220,10 @@ function updateHeroContent(item) {
 | 
			
		||||
        heroPlayBtn.disabled = !isAvailable;
 | 
			
		||||
    }
 | 
			
		||||
    if (heroInfoBtn) {
 | 
			
		||||
        heroInfoBtn.onclick = () => showItemDetails(item.id, type);
 | 
			
		||||
        heroInfoBtn.onclick = () => {
 | 
			
		||||
            state.lastClickedCardElement = heroInfoBtn;
 | 
			
		||||
            showItemDetails(item.id, type);
 | 
			
		||||
        };
 | 
			
		||||
        heroInfoBtn.disabled = false;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user