From 3e30048c033ee385c74ae8eeadd0015227afaea7 Mon Sep 17 00:00:00 2001 From: tapframe <85391825+tapframe@users.noreply.github.com> Date: Sun, 18 Jan 2026 14:26:23 +0530 Subject: [PATCH] added "simk" harcodings to locales --- src/i18n/locales/ar.json | 24 +++++++++++++++++++++++ src/i18n/locales/de.json | 24 +++++++++++++++++++++++ src/i18n/locales/en.json | 24 +++++++++++++++++++++++ src/i18n/locales/es.json | 24 +++++++++++++++++++++++ src/i18n/locales/fr.json | 24 +++++++++++++++++++++++ src/i18n/locales/it.json | 24 +++++++++++++++++++++++ src/i18n/locales/pt-BR.json | 24 +++++++++++++++++++++++ src/i18n/locales/pt-PT.json | 24 +++++++++++++++++++++++ src/screens/SettingsScreen.tsx | 8 ++++---- src/screens/SimklSettingsScreen.tsx | 30 +++++++++++++++-------------- 10 files changed, 212 insertions(+), 18 deletions(-) diff --git a/src/i18n/locales/ar.json b/src/i18n/locales/ar.json index 623d4c06..44bc4fbc 100644 --- a/src/i18n/locales/ar.json +++ b/src/i18n/locales/ar.json @@ -522,6 +522,27 @@ "sync_success_msg": "تمت مزامنة تقدم المشاهدة مع Trakt بنجاح.", "sync_error_msg": "فشلت المزامنة. يرجى المحاولة مرة أخرى." }, + "simkl": { + "title": "إعدادات Simkl", + "settings_title": "إعدادات Simkl", + "connect_title": "الاتصال بـ Simkl", + "connect_desc": "زامن تاريخ مشاهدتك وتتبع ما تشاهده", + "sign_in": "تسجيل الدخول بـ Simkl", + "sign_out": "قطع الاتصال", + "sign_out_confirm": "هل أنت متأكد من أنك تريد قطع الاتصال من Simkl؟", + "syncing_desc": "عناصرك المشاهدة تتم مزامنتها مع Simkl.", + "auth_success_title": "تم الاتصال بنجاح", + "auth_success_msg": "تم ربط حساب Simkl الخاص بك بنجاح.", + "auth_error_title": "خطأ في المصادقة", + "auth_error_msg": "فشل في إكمال المصادقة مع Simkl.", + "auth_error_generic": "حدث خطأ أثناء المصادقة.", + "sign_out_error": "فشل في قطع الاتصال من Simkl.", + "config_error_title": "خطأ في التكوين", + "config_error_msg": "معرف عميل Simkl مفقود في متغيرات البيئة.", + "conflict_title": "تعارض", + "conflict_msg": "لا يمكنك ربط Simkl بينما Trakt متصل. يرجى قطع اتصال Trakt أولاً.", + "disclaimer": "Nuvio غير مرتبط بشركة Simkl." + }, "tmdb_settings": { "title": "إعدادات TMDb", "metadata_enrichment": "إثراء البيانات التعريفية", @@ -675,6 +696,9 @@ "mdblist": "MDBList", "mdblist_connected": "متصل", "mdblist_desc": "تفعيل لإضافة التقييمات والمراجعات", + "simkl": "Simkl", + "simkl_connected": "متصل", + "simkl_desc": "تتبع ما تشاهده", "tmdb": "TMDB", "tmdb_desc": "مزود البيانات التعريفية والشعارات", "openrouter": "OpenRouter API", diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index ace11a3d..3501bcf9 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -522,6 +522,27 @@ "sync_success_msg": "Wiedergabefortschritt erfolgreich mit Trakt synchronisiert.", "sync_error_msg": "Synchronisierung fehlgeschlagen. Bitte versuchen Sie es erneut." }, + "simkl": { + "title": "Simkl Einstellungen", + "settings_title": "Simkl Einstellungen", + "connect_title": "Mit Simkl verbinden", + "connect_desc": "Synchronisieren Sie Ihren Verlauf und verfolgen Sie, was Sie sehen", + "sign_in": "Mit Simkl anmelden", + "sign_out": "Trennen", + "sign_out_confirm": "Sind Sie sicher, dass Sie die Verbindung zu Simkl trennen möchten?", + "syncing_desc": "Ihre gesehenen Elemente werden mit Simkl synchronisiert.", + "auth_success_title": "Erfolgreich verbunden", + "auth_success_msg": "Ihr Simkl-Konto wurde erfolgreich verbunden.", + "auth_error_title": "Authentifizierungsfehler", + "auth_error_msg": "Authentifizierung mit Simkl fehlgeschlagen.", + "auth_error_generic": "Bei der Authentifizierung ist ein Fehler aufgetreten.", + "sign_out_error": "Verbindung zu Simkl konnte nicht getrennt werden.", + "config_error_title": "Konfigurationsfehler", + "config_error_msg": "Simkl Client ID fehlt in den Umgebungsvariablen.", + "conflict_title": "Konflikt", + "conflict_msg": "Sie können Simkl nicht verbinden, während Trakt verbunden ist. Bitte trennen Sie zuerst Trakt.", + "disclaimer": "Nuvio ist nicht mit Simkl verbunden." + }, "tmdb_settings": { "title": "TMDb Einstellungen", "metadata_enrichment": "Metadaten-Anreicherung", @@ -675,6 +696,9 @@ "mdblist": "MDBList", "mdblist_connected": "Verbunden", "mdblist_desc": "Aktivieren, um Bewertungen & Rezensionen hinzuzufügen", + "simkl": "Simkl", + "simkl_connected": "Verbunden", + "simkl_desc": "Verfolge, was du schaust", "tmdb": "TMDB", "tmdb_desc": "Metadaten- & Logo-Quellanbieter", "openrouter": "OpenRouter API", diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index f11b13a7..3a3b52a2 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -522,6 +522,27 @@ "sync_success_msg": "Successfully synced your watch progress with Trakt.", "sync_error_msg": "Sync failed. Please try again." }, + "simkl": { + "title": "Simkl Settings", + "settings_title": "Simkl Settings", + "connect_title": "Connect with Simkl", + "connect_desc": "Sync your watch history and track what you're watching", + "sign_in": "Sign In with Simkl", + "sign_out": "Disconnect", + "sign_out_confirm": "Are you sure you want to disconnect from Simkl?", + "syncing_desc": "Your watched items are syncing with Simkl.", + "auth_success_title": "Successfully Connected", + "auth_success_msg": "Your Simkl account has been connected successfully.", + "auth_error_title": "Authentication Error", + "auth_error_msg": "Failed to complete authentication with Simkl.", + "auth_error_generic": "An error occurred during authentication.", + "sign_out_error": "Failed to disconnect from Simkl.", + "config_error_title": "Configuration Error", + "config_error_msg": "Simkl Client ID is missing in environment variables.", + "conflict_title": "Conflict", + "conflict_msg": "You cannot connect to Simkl while Trakt is connected. Please disconnect Trakt first.", + "disclaimer": "Nuvio is not affiliated with Simkl." + }, "tmdb_settings": { "title": "TMDb Settings", "metadata_enrichment": "Metadata Enrichment", @@ -675,6 +696,9 @@ "mdblist": "MDBList", "mdblist_connected": "Connected", "mdblist_desc": "Enable to add ratings & reviews", + "simkl": "Simkl", + "simkl_connected": "Connected", + "simkl_desc": "Track what you watch", "tmdb": "TMDB", "tmdb_desc": "Metadata & logo source provider", "openrouter": "OpenRouter API", diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 2efd681c..d542aa8b 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -522,6 +522,27 @@ "sync_success_msg": "Sincronización del progreso con Trakt completada con éxito.", "sync_error_msg": "La sincronización falló. Por favor, inténtalo de nuevo." }, + "simkl": { + "title": "Configuración de Simkl", + "settings_title": "Configuración de Simkl", + "connect_title": "Conectar con Simkl", + "connect_desc": "Sincroniza tu historial de visualización y rastrea lo que ves", + "sign_in": "Iniciar sesión con Simkl", + "sign_out": "Desconectar", + "sign_out_confirm": "¿Estás seguro de que quieres desconectar de Simkl?", + "syncing_desc": "Tus elementos vistos se están sincronizando con Simkl.", + "auth_success_title": "Conectado exitosamente", + "auth_success_msg": "Tu cuenta de Simkl se ha conectado exitosamente.", + "auth_error_title": "Error de autenticación", + "auth_error_msg": "Error al completar la autenticación con Simkl.", + "auth_error_generic": "Ocurrió un error durante la autenticación.", + "sign_out_error": "Error al desconectar de Simkl.", + "config_error_title": "Error de configuración", + "config_error_msg": "El ID de cliente de Simkl falta en las variables de entorno.", + "conflict_title": "Conflicto", + "conflict_msg": "No puedes conectar Simkl mientras Trakt está conectado. Por favor, desconecta Trakt primero.", + "disclaimer": "Nuvio no está afiliado con Simkl." + }, "tmdb_settings": { "title": "Ajustes de TMDb", "metadata_enrichment": "Enriquecimiento de metadatos", @@ -675,6 +696,9 @@ "mdblist": "MDBList", "mdblist_connected": "Conectado", "mdblist_desc": "Activar para añadir valoraciones y reseñas", + "simkl": "Simkl", + "simkl_connected": "Conectado", + "simkl_desc": "Rastrea lo que ves", "tmdb": "TMDB", "tmdb_desc": "Proveedor de metadatos y logos", "openrouter": "API de OpenRouter", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 1bcd2808..38008ebc 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -522,6 +522,27 @@ "sync_success_msg": "Votre progression a été synchronisée avec succès avec Trakt.", "sync_error_msg": "La synchronisation a échoué. Veuillez réessayer." }, + "simkl": { + "title": "Paramètres Simkl", + "settings_title": "Paramètres Simkl", + "connect_title": "Se connecter avec Simkl", + "connect_desc": "Synchronisez votre historique de visionnage et suivez ce que vous regardez", + "sign_in": "Se connecter avec Simkl", + "sign_out": "Déconnecter", + "sign_out_confirm": "Êtes-vous sûr de vouloir vous déconnecter de Simkl ?", + "syncing_desc": "Vos éléments regardés sont synchronisés avec Simkl.", + "auth_success_title": "Connecté avec succès", + "auth_success_msg": "Votre compte Simkl a été connecté avec succès.", + "auth_error_title": "Erreur d'authentification", + "auth_error_msg": "Échec de l'authentification avec Simkl.", + "auth_error_generic": "Une erreur s'est produite lors de l'authentification.", + "sign_out_error": "Échec de la déconnexion de Simkl.", + "config_error_title": "Erreur de configuration", + "config_error_msg": "L'ID client Simkl est manquant dans les variables d'environnement.", + "conflict_title": "Conflit", + "conflict_msg": "Vous ne pouvez pas connecter Simkl tant que Trakt est connecté. Veuillez d'abord déconnecter Trakt.", + "disclaimer": "Nuvio n'est pas affilié à Simkl." + }, "tmdb_settings": { "title": "Paramètres TMDb", "metadata_enrichment": "Enrichissement des métadonnées", @@ -675,6 +696,9 @@ "mdblist": "MDBList", "mdblist_connected": "Connecté", "mdblist_desc": "Activer pour ajouter les notes et avis", + "simkl": "Simkl", + "simkl_connected": "Connecté", + "simkl_desc": "Suivez ce que vous regardez", "tmdb": "TMDB", "tmdb_desc": "Fournisseur de métadonnées et de logos", "openrouter": "API OpenRouter", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index 6559bc0f..d1895f0b 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -522,6 +522,27 @@ "sync_success_msg": "Progressi di visione sincronizzati con successo con Trakt.", "sync_error_msg": "Sincronizzazione fallita. Riprova." }, + "simkl": { + "title": "Impostazioni Simkl", + "settings_title": "Impostazioni Simkl", + "connect_title": "Connetti con Simkl", + "connect_desc": "Sincronizza la tua cronologia di visione e traccia ciò che guardi", + "sign_in": "Accedi con Simkl", + "sign_out": "Disconnetti", + "sign_out_confirm": "Sei sicuro di voler disconnettere da Simkl?", + "syncing_desc": "I tuoi elementi guardati sono in sincronizzazione con Simkl.", + "auth_success_title": "Connesso con successo", + "auth_success_msg": "Il tuo account Simkl è stato connesso con successo.", + "auth_error_title": "Errore di autenticazione", + "auth_error_msg": "Impossibile completare l'autenticazione con Simkl.", + "auth_error_generic": "Si è verificato un errore durante l'autenticazione.", + "sign_out_error": "Impossibile disconnettere da Simkl.", + "config_error_title": "Errore di configurazione", + "config_error_msg": "L'ID client Simkl manca nelle variabili d'ambiente.", + "conflict_title": "Conflitto", + "conflict_msg": "Non puoi connettere Simkl mentre Trakt è connesso. Disconnetti prima Trakt.", + "disclaimer": "Nuvio non è affiliato con Simkl." + }, "tmdb_settings": { "title": "Impostazioni TMDb", "metadata_enrichment": "Arricchimento metadati", @@ -675,6 +696,9 @@ "mdblist": "MDBList", "mdblist_connected": "Connesso", "mdblist_desc": "Abilita per aggiungere voti e recensioni", + "simkl": "Simkl", + "simkl_connected": "Connesso", + "simkl_desc": "Traccia ciò che guardi", "tmdb": "TMDB", "tmdb_desc": "Sorgente metadati e loghi", "openrouter": "API OpenRouter", diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index 05f9823b..277ba9ef 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json @@ -522,6 +522,27 @@ "sync_success_msg": "Progresso sincronizado com sucesso com o Trakt.", "sync_error_msg": "Falha na sincronização. Tente novamente." }, + "simkl": { + "title": "Configurações do Simkl", + "settings_title": "Configurações do Simkl", + "connect_title": "Conectar com Simkl", + "connect_desc": "Sincronize seu histórico de visualização e rastreie o que você assiste", + "sign_in": "Entrar com Simkl", + "sign_out": "Desconectar", + "sign_out_confirm": "Tem certeza de que deseja desconectar do Simkl?", + "syncing_desc": "Seus itens assistidos estão sendo sincronizados com o Simkl.", + "auth_success_title": "Conectado com sucesso", + "auth_success_msg": "Sua conta Simkl foi conectada com sucesso.", + "auth_error_title": "Erro de autenticação", + "auth_error_msg": "Falha ao completar a autenticação com o Simkl.", + "auth_error_generic": "Ocorreu um erro durante a autenticação.", + "sign_out_error": "Falha ao desconectar do Simkl.", + "config_error_title": "Erro de configuração", + "config_error_msg": "O ID do cliente Simkl está faltando nas variáveis de ambiente.", + "conflict_title": "Conflito", + "conflict_msg": "Você não pode conectar o Simkl enquanto o Trakt está conectado. Desconecte o Trakt primeiro.", + "disclaimer": "Nuvio não é afiliado ao Simkl." + }, "tmdb_settings": { "title": "Configurações do TMDb", "metadata_enrichment": "Enriquecimento de Metadados", @@ -689,6 +710,9 @@ "mdblist": "MDBList", "mdblist_connected": "Conectado", "mdblist_desc": "Habilitar para adicionar avaliações e resenhas", + "simkl": "Simkl", + "simkl_connected": "Conectado", + "simkl_desc": "Acompanhe o que você assiste", "tmdb": "TMDB", "tmdb_desc": "Provedor de metadados e logos", "openrouter": "OpenRouter API", diff --git a/src/i18n/locales/pt-PT.json b/src/i18n/locales/pt-PT.json index 424fd409..8345eed9 100644 --- a/src/i18n/locales/pt-PT.json +++ b/src/i18n/locales/pt-PT.json @@ -522,6 +522,27 @@ "sync_success_msg": "Progresso sincronizado com sucesso com o Trakt.", "sync_error_msg": "Falha na sincronização. Tenta novamente." }, + "simkl": { + "title": "Configurações do Simkl", + "settings_title": "Configurações do Simkl", + "connect_title": "Ligar ao Simkl", + "connect_desc": "Sincroniza o teu histórico de visualização e rastreia o que vês", + "sign_in": "Entrar com Simkl", + "sign_out": "Desligar", + "sign_out_confirm": "Tens a certeza de que queres desligar do Simkl?", + "syncing_desc": "Os teus itens vistos estão a ser sincronizados com o Simkl.", + "auth_success_title": "Ligado com sucesso", + "auth_success_msg": "A tua conta Simkl foi ligada com sucesso.", + "auth_error_title": "Erro de autenticação", + "auth_error_msg": "Falha ao completar a autenticação com o Simkl.", + "auth_error_generic": "Ocorreu um erro durante a autenticação.", + "sign_out_error": "Falha ao desligar do Simkl.", + "config_error_title": "Erro de configuração", + "config_error_msg": "O ID do cliente Simkl está em falta nas variáveis de ambiente.", + "conflict_title": "Conflito", + "conflict_msg": "Não podes ligar o Simkl enquanto o Trakt está ligado. Desliga primeiro o Trakt.", + "disclaimer": "Nuvio não é afiliado ao Simkl." + }, "tmdb_settings": { "title": "Configurações do TMDb", "metadata_enrichment": "Enriquecimento de Metadados", @@ -689,6 +710,9 @@ "mdblist": "MDBList", "mdblist_connected": "Conectado", "mdblist_desc": "Ativar para adicionar avaliações e críticas", + "simkl": "Simkl", + "simkl_connected": "Conectado", + "simkl_desc": "Acompanhe o que vê", "tmdb": "TMDB", "tmdb_desc": "Provedor de metadados e logos", "openrouter": "OpenRouter API", diff --git a/src/screens/SettingsScreen.tsx b/src/screens/SettingsScreen.tsx index 577b980b..386d511c 100644 --- a/src/screens/SettingsScreen.tsx +++ b/src/screens/SettingsScreen.tsx @@ -387,8 +387,8 @@ const SettingsScreen: React.FC = () => { )} {isItemVisible('simkl') && ( } renderControl={() => } onPress={() => navigation.navigate('SimklSettings')} @@ -691,8 +691,8 @@ const SettingsScreen: React.FC = () => { )} {isItemVisible('simkl') && ( } renderControl={() => } onPress={() => navigation.navigate('SimklSettings')} diff --git a/src/screens/SimklSettingsScreen.tsx b/src/screens/SimklSettingsScreen.tsx index e326adcd..1ef22708 100644 --- a/src/screens/SimklSettingsScreen.tsx +++ b/src/screens/SimklSettingsScreen.tsx @@ -21,6 +21,7 @@ import { useTheme } from '../contexts/ThemeContext'; import { useSimklIntegration } from '../hooks/useSimklIntegration'; import { useTraktIntegration } from '../hooks/useTraktIntegration'; import CustomAlert from '../components/CustomAlert'; +import { useTranslation } from 'react-i18next'; const ANDROID_STATUSBAR_HEIGHT = StatusBar.currentHeight || 0; @@ -50,6 +51,7 @@ const SimklSettingsScreen: React.FC = () => { const [alertMessage, setAlertMessage] = useState(''); const { currentTheme } = useTheme(); + const { t } = useTranslation(); const { isAuthenticated, @@ -97,30 +99,30 @@ const SimklSettingsScreen: React.FC = () => { .then(success => { if (success) { refreshAuthStatus(); - openAlert('Success', 'Connected to Simkl successfully!'); + openAlert(t('common.success'), t('simkl.auth_success_msg')); } else { - openAlert('Error', 'Failed to connect to Simkl.'); + openAlert(t('common.error'), t('simkl.auth_error_msg')); } }) .catch(err => { logger.error('[SimklSettingsScreen] Token exchange error:', err); - openAlert('Error', 'An error occurred during connection.'); + openAlert(t('common.error'), t('simkl.auth_error_generic')); }) .finally(() => setIsExchangingCode(false)); } else if (response.type === 'error') { - openAlert('Error', 'Authentication error: ' + (response.error?.message || 'Unknown')); + openAlert(t('simkl.auth_error_title'), t('simkl.auth_error_generic') + ' ' + (response.error?.message || t('common.unknown'))); } } }, [response, refreshAuthStatus]); const handleSignIn = () => { if (!SIMKL_CLIENT_ID) { - openAlert('Configuration Error', 'Simkl Client ID is missing in environment variables.'); + openAlert(t('simkl.config_error_title'), t('simkl.config_error_msg')); return; } if (isTraktAuthenticated) { - openAlert('Conflict', 'You cannot connect to Simkl while Trakt is connected. Please disconnect Trakt first.'); + openAlert(t('simkl.conflict_title'), t('simkl.conflict_msg')); return; } @@ -130,7 +132,7 @@ const SimklSettingsScreen: React.FC = () => { const handleSignOut = async () => { await simklService.logout(); refreshAuthStatus(); - openAlert('Signed Out', 'You have disconnected from Simkl.'); + openAlert(t('common.success'), t('simkl.sign_out_confirm')); }; return ( @@ -156,7 +158,7 @@ const SimklSettingsScreen: React.FC = () => { - Simkl Integration + {t('simkl.settings_title')} @@ -195,7 +197,7 @@ const SimklSettingsScreen: React.FC = () => { - Your watched items are syncing with Simkl. + {t('simkl.syncing_desc')} {userStats && ( @@ -239,16 +241,16 @@ const SimklSettingsScreen: React.FC = () => { style={[styles.button, { backgroundColor: currentTheme.colors.error, marginTop: 20 }]} onPress={handleSignOut} > - Disconnect + {t('simkl.sign_out')} ) : ( - Connect Simkl + {t('simkl.connect_title')} - Sync your watch history and track what you're watching. + {t('simkl.connect_desc')} { {isExchangingCode ? ( ) : ( - Sign In with Simkl + {t('simkl.sign_in')} )} @@ -277,7 +279,7 @@ const SimklSettingsScreen: React.FC = () => { - Nuvio is not affiliated with Simkl. + {t('simkl.disclaimer')}