bugs & langs pt it
This commit is contained in:
parent
4b54e359c1
commit
859ebe1c4f
@ -135,6 +135,8 @@
|
|||||||
"lang_es": { "message": "Spanisch" },
|
"lang_es": { "message": "Spanisch" },
|
||||||
"lang_fr": { "message": "Französisch" },
|
"lang_fr": { "message": "Französisch" },
|
||||||
"lang_de": { "message": "Deutsch" },
|
"lang_de": { "message": "Deutsch" },
|
||||||
|
"lang_it": { "message": "Italienisch" },
|
||||||
|
_pt": { "message": "Portugiesisch" },
|
||||||
"essentialFeaturesNotSupported": { "message": "Dein Browser unterstützt wesentliche Funktionen nicht." },
|
"essentialFeaturesNotSupported": { "message": "Dein Browser unterstützt wesentliche Funktionen nicht." },
|
||||||
"dbAccessError": { "message": "Fehler beim Zugriff auf die lokale Datenbank." },
|
"dbAccessError": { "message": "Fehler beim Zugriff auf die lokale Datenbank." },
|
||||||
"dbUpdateNeeded": { "message": "Die Datenbank muss aktualisiert werden, bitte lade die Seite neu." },
|
"dbUpdateNeeded": { "message": "Die Datenbank muss aktualisiert werden, bitte lade die Seite neu." },
|
||||||
|
@ -135,6 +135,8 @@
|
|||||||
"lang_es": { "message": "Spanish" },
|
"lang_es": { "message": "Spanish" },
|
||||||
"lang_fr": { "message": "French" },
|
"lang_fr": { "message": "French" },
|
||||||
"lang_de": { "message": "German" },
|
"lang_de": { "message": "German" },
|
||||||
|
"lang_it": { "message": "Italian" },
|
||||||
|
"lang_pt": { "message": "Portuguese" },
|
||||||
"essentialFeaturesNotSupported": { "message": "Your browser does not support essential features." },
|
"essentialFeaturesNotSupported": { "message": "Your browser does not support essential features." },
|
||||||
"dbAccessError": { "message": "Error accessing the local database." },
|
"dbAccessError": { "message": "Error accessing the local database." },
|
||||||
"dbUpdateNeeded": { "message": "The database needs to be updated, please reload the page." },
|
"dbUpdateNeeded": { "message": "The database needs to be updated, please reload the page." },
|
||||||
|
@ -135,6 +135,8 @@
|
|||||||
"lang_es": { "message": "Español" },
|
"lang_es": { "message": "Español" },
|
||||||
"lang_fr": { "message": "Francés" },
|
"lang_fr": { "message": "Francés" },
|
||||||
"lang_de": { "message": "Alemán" },
|
"lang_de": { "message": "Alemán" },
|
||||||
|
"lang_it": { "message": "Italiano" },
|
||||||
|
"lang_pt": { "message": "Portugués" },
|
||||||
"essentialFeaturesNotSupported": { "message": "Tu navegador no soporta funciones esenciales." },
|
"essentialFeaturesNotSupported": { "message": "Tu navegador no soporta funciones esenciales." },
|
||||||
"dbAccessError": { "message": "Error al acceder a la base de datos local." },
|
"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." },
|
"dbUpdateNeeded": { "message": "La base de datos necesita actualizarse, por favor recarga la página." },
|
||||||
|
@ -135,6 +135,8 @@
|
|||||||
"lang_es": { "message": "Espagnol" },
|
"lang_es": { "message": "Espagnol" },
|
||||||
"lang_fr": { "message": "Français" },
|
"lang_fr": { "message": "Français" },
|
||||||
"lang_de": { "message": "Allemand" },
|
"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." },
|
"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." },
|
"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." },
|
"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',
|
'es': 'es-ES',
|
||||||
'en': 'en-US',
|
'en': 'en-US',
|
||||||
'fr': 'fr-FR',
|
'fr': 'fr-FR',
|
||||||
'de': 'de-DE'
|
'de': 'de-DE',
|
||||||
|
'it': 'it-IT',
|
||||||
|
'pt': 'pt-BR'
|
||||||
};
|
};
|
||||||
|
|
||||||
if (langMap[state.settings.language]) {
|
if (langMap[state.settings.language]) {
|
||||||
|
5
js/ui.js
5
js/ui.js
@ -1220,7 +1220,10 @@ function updateHeroContent(item) {
|
|||||||
heroPlayBtn.disabled = !isAvailable;
|
heroPlayBtn.disabled = !isAvailable;
|
||||||
}
|
}
|
||||||
if (heroInfoBtn) {
|
if (heroInfoBtn) {
|
||||||
heroInfoBtn.onclick = () => showItemDetails(item.id, type);
|
heroInfoBtn.onclick = () => {
|
||||||
|
state.lastClickedCardElement = heroInfoBtn;
|
||||||
|
showItemDetails(item.id, type);
|
||||||
|
};
|
||||||
heroInfoBtn.disabled = false;
|
heroInfoBtn.disabled = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -313,6 +313,8 @@
|
|||||||
<option value="en">__MSG_lang_en__</option>
|
<option value="en">__MSG_lang_en__</option>
|
||||||
<option value="fr">__MSG_lang_fr__</option>
|
<option value="fr">__MSG_lang_fr__</option>
|
||||||
<option value="de">__MSG_lang_de__</option>
|
<option value="de">__MSG_lang_de__</option>
|
||||||
|
<option value="it">__MSG_lang_it__</option>
|
||||||
|
<option value="pt">__MSG_lang_pt__</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user