diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 37ec6e28..459f4759 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -1513,5 +1513,22 @@ "update_now":"Update Now", "later":"Later", "dismiss":"Dismiss" + }, + "onboarding_screen":{ + "welcome":"Welcome to\nNuvio", + "welcome_subtitle":"Your Ultimate Content Hub", + "welcome_description":"Discover, organize, and manage your favorite movies and TV shows from multiple sources in one beautiful app.", + "addons":"Powerful\nAddons", + "addons_subtitle":"Extend Your Experience", + "addons_description":"Install addons to access content from various platforms and services. Choose what works best for you.", + "discovery":"Smart\nDiscovery", + "discovery_subtitle":"Find What You Love", + "discovery_description":"Browse trending content, search across all your sources, and get personalized recommendations.", + "library":"Your\nLibrary", + "library_subtitle":"Track & Organize", + "library_description":"Save favorites, track your progress, and sync with Trakt to keep everything organized across devices.", + "skip":"Skip", + "get_started":"Get Started", + "swipe_to_continue":"Swipe to continue" } } diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index 6df0630b..a441c272 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -1496,5 +1496,22 @@ "update_now":"Aggiorna Ora", "later":"Dopo", "dismiss":"Chiudi" + }, + "onboarding_screen":{ + "welcome":"Benvenuto su\nNuvio", + "welcome_subtitle":"Il tuo Hub Contenuti Definitivo", + "welcome_description":"Scopri, organizza e gestisci i tuoi film e serie tv preferiti da diverse fonti in un'unica bellissima app.", + "addons":"Addon\nPotenti", + "addons_subtitle":"Estendi la Tua Esperienza", + "addons_description":"Installa addon per accedere ai contenuti da diverse piattaforme e servizi. Scegli ciò che fa al caso tuo.", + "discovery":"Smart\nDiscovery", + "discovery_subtitle":"Trova ciò che ami", + "discovery_description":"Visualizza contenuti in tendenza, cerca fra tutte le tue sorgenti e ricevi suggerimenti personalizzati.", + "library":"La tua\nLibreria", + "library_subtitle":"Monitora e Organizza", + "library_description":"Salva i preferiti, monitora i tuoi progressi, e sincronizza con Trakt per mantenere tutto organizzato fra più dispositivi.", + "skip":"Salta", + "get_started":"Inizia", + "swipe_to_continue":"Scorri per continuare" } } diff --git a/src/screens/OnboardingScreen.tsx b/src/screens/OnboardingScreen.tsx index 10016c02..746f277c 100644 --- a/src/screens/OnboardingScreen.tsx +++ b/src/screens/OnboardingScreen.tsx @@ -26,7 +26,7 @@ import { NavigationProp, useNavigation } from '@react-navigation/native'; import { RootStackParamList } from '../navigation/AppNavigator'; import { mmkvStorage } from '../services/mmkvStorage'; import { ShapeAnimation } from '../components/onboarding/ShapeAnimation'; - +import { useTranslation } from 'react-i18next'; const { width, height } = Dimensions.get('window'); const SPRING_CONFIG = { @@ -42,32 +42,7 @@ interface OnboardingSlide { description: string; } -const onboardingData: OnboardingSlide[] = [ - { - id: '1', - title: 'Welcome to\nNuvio', - subtitle: 'Your Ultimate Content Hub', - description: 'Discover, organize, and manage your favorite movies and TV shows from multiple sources in one beautiful app.', - }, - { - id: '2', - title: 'Powerful\nAddons', - subtitle: 'Extend Your Experience', - description: 'Install addons to access content from various platforms and services. Choose what works best for you.', - }, - { - id: '3', - title: 'Smart\nDiscovery', - subtitle: 'Find What You Love', - description: 'Browse trending content, search across all your sources, and get personalized recommendations.', - }, - { - id: '4', - title: 'Your\nLibrary', - subtitle: 'Track & Organize', - description: 'Save favorites, track your progress, and sync with Trakt to keep everything organized across devices.', - }, -]; + // Animated Slide Component with parallax const AnimatedSlide = ({ @@ -169,7 +144,34 @@ const OnboardingScreen = () => { const [currentIndex, setCurrentIndex] = useState(0); const flatListRef = useRef>(null); const scrollX = useSharedValue(0); + const { t } = useTranslation(); + const onboardingData: OnboardingSlide[] = [ + { + id: '1', + title: t('onboarding_screen.welcome'), + subtitle: t('onboarding_screen.welcome_subtitle'), + description: t('onboarding_screen.welcome_description'), + }, + { + id: '2', + title: t('onboarding_screen.addons'), + subtitle: t('onboarding_screen.addons_subtitle'), + description: t('onboarding_screen.addons_description'), + }, + { + id: '3', + title: t('onboarding_screen.discovery'), + subtitle: t('onboarding_screen.discovery_subtitle'), + description: t('onboarding_screen.discovery_description'), + }, + { + id: '4', + title: t('onboarding_screen.library'), + subtitle: t('onboarding_screen.library_subtitle'), + description: t('onboarding_screen.library_description'), + }, +]; const updateIndex = (index: number) => { setCurrentIndex(index); }; @@ -309,7 +311,7 @@ const OnboardingScreen = () => { style={styles.header} > - Skip + {t('onboarding_screen.skip')} {/* Smooth Progress Bar */} @@ -352,7 +354,7 @@ const OnboardingScreen = () => { {/* Swipe Indicator - fades out on last slide */} - Swipe to continue + {t('onboarding_screen.swipe_to_continue')} @@ -365,7 +367,7 @@ const OnboardingScreen = () => { activeOpacity={1} > - Get Started + {t('onboarding_screen.get_started')}