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')}