diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index b342130d..50571de9 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -3,6 +3,7 @@ "loading": "Loading...", "cancel": "Cancel", "save": "Save", + "clear":"Clear", "delete": "Delete", "edit": "Edit", "search": "Search", @@ -624,7 +625,9 @@ "popular": "Popular", "all_languages": "All Languages", "search_results": "Search Results", - "no_languages_found": "No languages found for \"{{query}}\"", + "no_languages_found": "No languages found for ", + "search_languages_placeholder":"Search Languages ...", + "fallback_to_available":"fallback to available", "clear_search": "Clear Search", "clear_cache_title": "Clear TMDB Cache", "clear_cache_msg": "This will clear all cached TMDB data ({{size}}). This may temporarily slow down loading until cache rebuilds.", @@ -640,7 +643,11 @@ "using_builtin_key": "Now using the built-in TMDb API key.", "using_custom_key": "Now using your custom TMDb API key.", "enter_custom_key": "Please enter and save your custom TMDb API key.", - "key_verified": "API key verified and saved successfully." + "key_verified": "API key verified and saved successfully.", + "current":"Current", + "disclaimer_part_1":"This product uses the TMDB API but is not", + "disclaimer_part_2":"endorsed or certified by TMDB.", + "done":"Done" }, "settings": { "language": "Language", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index 9d4cb966..92fb947a 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -3,6 +3,7 @@ "loading": "Caricamento...", "cancel": "Annulla", "save": "Salva", + "clear":"Clear", "delete": "Elimina", "edit": "Modifica", "search": "Cerca", @@ -528,7 +529,7 @@ "sync_complete_title": "Sincronizzazione completata", "sync_success_msg": "Progressi di visione sincronizzati con successo con Trakt.", "sync_error_msg": "Sincronizzazione fallita. Riprova.", - "disclaimer":"Questo prodotto usa l'API di Trakt ma non è nè approvato nè certificato da Trakt.", + "disclaimer":"Questo prodotto usa l'API di Trakt ma non è né approvato né certificato da Trakt.", "library_mode":"Modalità Sincronizzazione Libreria" }, "simkl": { @@ -553,13 +554,13 @@ "disclaimer": "Nuvio non è affiliato con Simkl." }, "tmdb_settings": { - "title": "Impostazioni TMDb", + "title": "Impostazioni TMDB", "metadata_enrichment": "Arricchimento metadati", - "metadata_enrichment_desc": "Migliora i metadati dei contenuti con i dati di TMDb per maggiori dettagli e informazioni.", + "metadata_enrichment_desc": "Migliora i metadati dei contenuti con i dati di TMDB per maggiori dettagli e informazioni.", "enable_enrichment": "Abilita arricchimento", - "enable_enrichment_desc": "Integra i metadati degli Addon con TMDb per cast, certificazioni, loghi/poster e info di produzione.", + "enable_enrichment_desc": "Integra i metadati degli Addon con TMDB per cast, certificazioni, loghi/poster e info di produzione.", "localized_text": "Testo localizzato", - "localized_text_desc": "Recupera titoli e descrizioni nella tua lingua preferita da TMDb.", + "localized_text_desc": "Recupera titoli e descrizioni nella tua lingua preferita da TMDB.", "language": "Lingua", "change": "Cambia", "logo_preview": "Anteprima Logo", @@ -567,11 +568,11 @@ "example": "Esempio:", "no_logo": "Nessun logo disponibile", "enrichment_options": "Opzioni di arricchimento", - "enrichment_options_desc": "Controlla quali dati recuperare da TMDb. Le opzioni disabilitate useranno i dati dell'Addon, se disponibili.", + "enrichment_options_desc": "Controlla quali dati recuperare da TMDB. Le opzioni disabilitate useranno i dati dell'Addon, se disponibili.", "cast_crew": "Cast e Troupe", "cast_crew_desc": "Attori, registi, sceneggiatori con foto profilo", "title_description": "Titolo e Descrizione", - "title_description_desc": "Usa titolo e panoramica localizzati di TMDb", + "title_description_desc": "Usa titolo e panoramica localizzati di TMDB", "title_logos": "Loghi Titolo", "title_logos_desc": "Immagini di alta qualità per il titolo", "banners_backdrops": "Banner e Sfondi", @@ -593,23 +594,25 @@ "movie_collections": "Collezioni Film", "movie_collections_desc": "Franchise cinematografici (Marvel, Star Wars, ecc.)", "api_configuration": "Configurazione API", - "api_configuration_desc": "Configura il tuo accesso alle API di TMDb per funzionalità avanzate.", + "api_configuration_desc": "Configura il tuo accesso alle API di TMDB per funzionalità avanzate.", "custom_api_key": "Chiave API personalizzata", - "custom_api_key_desc": "Usa la tua chiave API TMDb per prestazioni migliori e limiti di frequenza dedicati.", + "custom_api_key_desc": "Usa la tua chiave API TMDB per prestazioni migliori e limiti di frequenza dedicati.", "custom_key_active": "Chiave API personalizzata attiva", "api_key_required": "Chiave API richiesta", - "api_key_placeholder": "Incolla la tua chiave API TMDb (v3)", - "how_to_get_key": "Come ottenere una chiave API TMDb?", - "built_in_key_msg": "Attualmente in uso la chiave API integrata. Considera l'uso di una chiave tua per prestazioni migliori.", + "api_key_placeholder": "Incolla la tua chiave API TMDB (v3)", + "how_to_get_key": "Come ottenere una chiave API TMDB?", + "built_in_key_msg": "La chiave API integrata è attualmente in uso. Considera l'uso di una chiave tua per prestazioni migliori.", "cache_size": "Dimensione Cache", "clear_cache": "Cancella Cache", "cache_days": "Le risposte TMDB vengono memorizzate per 7 giorni per migliorare le prestazioni", "choose_language": "Scegli Lingua", - "choose_language_desc": "Seleziona la lingua preferita per i contenuti TMDb", + "choose_language_desc": "Seleziona la lingua preferita per i contenuti TMDB", "popular": "Popolari", - "all_languages": "Tutte le lingue", - "search_results": "Risultati di ricerca", - "no_languages_found": "Nessuna lingua trovata per \"{{query}}\"", + "all_languages": "Lingue Disponibili", + "search_results": "Risultati della ricerca", + "no_languages_found": "Nessuna lingua trovata per", + "search_languages_placeholder":"Ricerca Lingue...", + "fallback_to_available":"usa i dati disponibili come ripiego", "clear_search": "Cancella ricerca", "clear_cache_title": "Cancella Cache TMDB", "clear_cache_msg": "Questo cancellerà tutti i dati TMDB memorizzati ({{size}}). Il caricamento potrebbe rallentare temporaneamente fino alla ricostruzione della cache.", @@ -622,10 +625,14 @@ "empty_api_key": "La chiave API non può essere vuota.", "invalid_api_key": "Chiave API non valida. Controlla e riprova.", "save_error": "Si è verificato un errore durante il salvataggio. Riprova.", - "using_builtin_key": "Ora in uso la chiave API TMDb integrata.", - "using_custom_key": "Ora in uso la tua chiave API TMDb personalizzata.", - "enter_custom_key": "Inserisci e salva la tua chiave API TMDb personalizzata.", - "key_verified": "Chiave API verificata e salvata con successo." + "using_builtin_key": "Ora in uso la chiave API TMDB integrata.", + "using_custom_key": "Ora in uso la tua chiave API TMDB personalizzata.", + "enter_custom_key": "Inserisci e salva la tua chiave API TMDB personalizzata.", + "key_verified": "Chiave API verificata e salvata con successo.", + "current":"Attuale", + "disclaimer_part_1":"Questo prodotto usa l'API di TMDB ma non è nè approvato", + "disclaimer_part_2":"né certificato da TMDB.", + "done":"Fatto" }, "settings": { "language": "Lingua", diff --git a/src/screens/TMDBSettingsScreen.tsx b/src/screens/TMDBSettingsScreen.tsx index 73edcb69..c0f6ae66 100644 --- a/src/screens/TMDBSettingsScreen.tsx +++ b/src/screens/TMDBSettingsScreen.tsx @@ -591,7 +591,7 @@ const TMDBSettingsScreen = () => { {t('tmdb_settings.language')} - Current: {(settings.tmdbLanguagePreference || 'en').toUpperCase()} + {t('tmdb_settings.current')}: {(settings.tmdbLanguagePreference || 'en').toUpperCase()} { {renderLogoExample(tmdbLogo, tmdbBanner, loadingLogos)} {tmdbLogo && ( - {`Language: ${(previewLanguage || '').toUpperCase() || 'N/A'}${isPreviewFallback ? ' (fallback to available)' : ''}`} + {`${t('tmdb_settings.language')}: ${(previewLanguage || '').toUpperCase() || 'N/A'}${isPreviewFallback ? ` (${t('tmdb_settings.fallback_to_available')})` : ''}`} )} @@ -801,9 +801,9 @@ const TMDBSettingsScreen = () => { {/* Production Info */} - Production Info + {t('tmdb_settings.production_info')} - Networks & production companies with logos + {t('tmdb_settings.production_info_desc')} { {/* Movie Details */} - Movie Details + {t('tmdb_settings.movie_details')} - Budget, revenue, runtime, tagline + {t('tmdb_settings.movie_details_desc')} { {/* TV Details */} - TV Show Details + {t('tmdb_settings.tv_details')} - Status, seasons count, networks, creators + {t('tmdb_settings.tv_details_desc')} { {/* Collections */} - Movie Collections + {t('tmdb_settings.movie_collections')} - Franchise movies (Marvel, Star Wars, etc.) + {t('tmdb_settings.movie_collections_desc')} { - API Configuration + {t('tmdb_settings.api_configuration')} - Configure your TMDb API access for enhanced functionality. + {t('tmdb_settings.api_configuration_desc')} - Custom API Key + {t('tmdb_settings.custom_api_key')} - Use your own TMDb API key for better performance and dedicated rate limits. + {t('tmdb_settings.custom_api_key_desc')} { - {isKeySet ? "Custom API key active" : "API key required"} + {isKeySet ? t('tmdb_settings.custom_key_active') : t('tmdb_settings.api_key_required')} @@ -931,7 +931,7 @@ const TMDBSettingsScreen = () => { setApiKey(text); if (testResult) setTestResult(null); }} - placeholder="Paste your TMDb API key (v3)" + placeholder={t('tmdb_settings.api_key_placeholder')} placeholderTextColor={currentTheme.colors.mediumEmphasis} autoCapitalize="none" autoCorrect={false} @@ -952,7 +952,7 @@ const TMDBSettingsScreen = () => { style={[styles.button, { backgroundColor: currentTheme.colors.primary }]} onPress={saveApiKey} > - Save + {t('common.save')} {isKeySet && ( @@ -960,7 +960,7 @@ const TMDBSettingsScreen = () => { style={[styles.button, styles.clearButton, { borderColor: currentTheme.colors.error }]} onPress={clearApiKey} > - Clear + {t('common.clear')} )} @@ -991,7 +991,7 @@ const TMDBSettingsScreen = () => { > - How to get a TMDb API key? + {t('tmdb_settings.how_to_get_key')} @@ -1002,7 +1002,7 @@ const TMDBSettingsScreen = () => { - Currently using built-in API key. Consider using your own key for better performance. + {t('tmdb_settings.built_in_key_msg')} )} @@ -1012,7 +1012,7 @@ const TMDBSettingsScreen = () => { - Cache Size + {t('tmdb_settings.cache_size')} {cacheSize} @@ -1025,14 +1025,14 @@ const TMDBSettingsScreen = () => { > - Clear Cache + {t('tmdb_settings.clear_cache')} - TMDB responses are cached for 7 days to improve performance + {t('tmdb_settings.cache_days')} @@ -1046,10 +1046,10 @@ const TMDBSettingsScreen = () => { /> - This product uses the TMDB API but is not + {t('tmdb_settings.disclaimer_part_1')} - endorsed or certified by TMDB. + {t('tmdb_settings.disclaimer_part_2')} @@ -1069,8 +1069,8 @@ const TMDBSettingsScreen = () => { {/* Header */} - Choose Language - Select your preferred language for TMDb content + {t('tmdb_settings.choose_language')} + {t('tmdb_settings.choose_language_desc')} {/* Search Section */} @@ -1078,7 +1078,7 @@ const TMDBSettingsScreen = () => { { {/* Popular Languages */} {languageSearch.length === 0 && ( - Popular + {t('tmdb_settings.popular')} { > {[ { code: 'en', label: 'EN' }, + { code: 'it', label: 'IT' }, { code: 'ar', label: 'AR' }, { code: 'es', label: 'ES' }, { code: 'fr', label: 'FR' }, @@ -1143,7 +1144,7 @@ const TMDBSettingsScreen = () => { languageSearch.length > 0 && styles.searchResultsTitle, { color: languageSearch.length > 0 ? currentTheme.colors.text : currentTheme.colors.mediumEmphasis } ]}> - {languageSearch.length > 0 ? 'Search Results' : 'All Languages'} + {languageSearch.length > 0 ? t('tmdb_settings.search_results') : t('tmdb_settings.all_languages')} @@ -1238,13 +1239,13 @@ const TMDBSettingsScreen = () => { - No languages found for "{languageSearch}" + {t('tmdb_settings.no_languages_found')} "{languageSearch}" setLanguageSearch('')} style={[styles.clearSearchButton, { backgroundColor: currentTheme.colors.elevation1 }]} > - Clear search + {t('tmdb_settings.clear_search')} )} @@ -1260,13 +1261,13 @@ const TMDBSettingsScreen = () => { onPress={() => setLanguagePickerVisible(false)} style={styles.cancelButton} > - Cancel + {t('common.cancel')} setLanguagePickerVisible(false)} style={[styles.doneButton, { backgroundColor: currentTheme.colors.primary }]} > - Done + {t('tmdb_settings.done')}