import { getLocales } from 'expo-localization';
import { I18n } from 'i18n-js';
import moment from 'moment'
import 'moment/min/locales'

I18n.defaultLocale = 'en';
I18n.enableFallback = true;

const messages = {
    en: {
        message: {
            feed: 'Feed',
            events: "Events",
            livestream: "Livestrem",
            search: 'Search',
            invite: 'Invite',
            groups: 'Groups',
            courses: "Courses",
            giving: "Giving",
            profile: "Profile",
            settings: 'Settings',
            logout: "Logout",
            about: 'about',
            statusUpdate: "New Post",
            newsPost: "News Post",
            post: "Post",
            add: 'Add',
            whatIsNew: "What is new?",
            saySomethingTo: "Say something to ",
            follow: "Follow",
            unfollow: "Unfollow",
            subscribe: "Subscribe",
            unsubscribe: 'Unsubscribe',
            pending: "Pending",
            subscribers: "Subscribers",
            loading: "Loading",
            login: 'Login',
            email: "Email",
            cancel: "Cancel",
            password: "Password",
            rpassword: "Repeat Password",
            resetPassword: "Reset password",
            register: "Register",
            name: "Name",
            firstName: "First Name",
            lastName: "Last Name",
            describeYourself: 'Describe Yourself',
            continueWatching: "Continues Watching",
            createCourse: "Create a your own new course!",
            createGroup: "Create a your own new group!",
            title: "Title",
            subtitle: "Subtitle",
            recentlyAdded: "Recently added",
            popularCourses: "Popular Courses",
            privateGroup: "Private Group",
            tithesAndOfferings: "Tithes and Offerings",
            type: "Type",
            description: "Description",
            amount: "Amount",
            tithes: "Tithes",
            offerings: "Offerings",
            event: "Event",
            proceedToPayment: "Proceed to Payment",
            minimumAmount: "The minimum amount is ",
            notifications: "Notifications",
            searchUsers: "Search Users",
            searchCourses: "Search Courses",
            news: "News",
            wrongInformation: "Please review the information.",
            submit: "Submit",
            IKnowThisPerson: "I know this person",
            update: "Update",
            invalidEmail: "Email address is invalid!",
            reviewPassword: "Please review your password.",
            updatePhoto: "Update Photo",
            optional: "Optional",
            birthday: "Birthday",
            localMinistry: "Local Ministry",
            ocupation: "Ocupation",
            country: 'Country',
            clickToSeeAllPhotos: "Click to see all photos",
            recentlyFollowing: "Recently Following",
            changeActiveProfile: "Change Active Profile",
            userActions: "User Actions",
            fellowshipApp: "Fellowship App",
            appLanguage: "App Language",
            language: "Language",
            languageSpanish: "Spanish",
            languageEnglish: "English",
            languageDanish: "Danish",
            languageFrench: "French",
            version: "Version",
            channel: "Channel",
            postingOn: "Posting on",
            whatIsOnYourMindToday: "What is on your mind today?",
            addPhotos: "Add Photos",
            cancelUpload: "Cancel Upload",
            uploading: "Uploading...",
            uploadProgress: "Upload Progress",
            newGroup: "New Group",
            changeImage: "Change image",
            addGroupImage: "Add group image",
            groupName: "Group name",
            subtitleOptional: "Subtitle (optional)",
            requireApprovalBeforeJoin: "Require approval before people can join.",
            createGroupAction: "Create Group",
            newComment: "New Comment",
            currentProfile: "Current Profile",
            profileSetting: "Profile Setting",
            searchGroups: "Search Groups",
            results: "Results:",
            yourGroups: "Your Groups:",
            images: "Images",
            media: "Media",
            embedded: "Embedded",
            files: "Files",
            deleteGroup: "Delete Group",
            delete: "Delete",
            appName: "EMI Fellowship",
            globalChat: "Global Chat",
            chatRoomBeta: "Chat room is in beta",
            onlineNow: "Online now",
            loadingChat: "Loading chat...",
            writeMessage: "Write a message...",
            send: "Send",
            aiTranslated: "AI Translated",
            completeProfileTitle: "Complete your profile",
            completeProfileBody: "Add a profile photo and short description so people can recognize you.",
            completeProfileMissingHint: "Looks like your profile is still missing some details.",
            completeProfileTestingHint: "This reminder is temporarily shown to everyone for testing.",
            bible: "Bible",
            bibleReferenceTitle: "Bible Reference",
            biblePickerSubtitlePost: "Pick a reference to insert into your post.",
            biblePickerSubtitleChat: "Pick a reference to insert into your chat message.",
            preview: "Preview",
            useReference: "Use Reference",
            selected: "Selected",
            tapPreviewPickVerse: "Tap preview to pick verse from chapter",
            tapVerseToSelect: "Tap a verse to select it.",
            unableLoadPassage: "Unable to load this Bible passage.",
            unableLoadChapter: "Unable to load chapter.",
            book: "Book",
            chapter: "Chapter",
            verse: "Verse",
            books: "Books",
            chapters: "Chapters",
            verses: "Verses",
            updateProfile: "Update Profile",
        },
    },
    es: {
        message: {
            feed: 'Inicio',
            events: 'Eventos',
            livestream: 'Transmisión en vivo',
            search: 'Buscar',
            invite: 'Invitar',
            groups: 'Grupos',
            courses: 'Cursos',
            giving: 'Donaciones',
            profile: 'Perfil',
            settings: 'Configuración',
            logout: 'Cerrar sesión',
            about: 'Acerca de',
            statusUpdate: 'Nueva publicación',
            newsPost: 'Publicación de noticias',
            post: 'Publicar',
            add: 'Agregar',
            whatIsNew: '¿Qué hay de nuevo?',
            saySomethingTo: 'Di algo a ',
            follow: 'Seguir',
            unfollow: 'Dejar de seguir',
            subscribe: 'Suscribirse',
            unsubscribe: 'Cancelar suscripción',
            pending: 'Pendiente',
            subscribers: 'Suscriptores',
            loading: 'Cargando',
            login: 'Iniciar sesión',
            email: 'Correo electrónico',
            cancel: 'Cancelar',
            password: 'Contraseña',
            rpassword: 'Repetir contraseña',
            resetPassword: 'Restablecer contraseña',
            register: 'Registrarse',
            name: 'Nombre',
            firstName: 'Nombre',
            lastName: 'Apellido',
            describeYourself: 'Describirse',
            continueWatching: 'Continuar viendo',
            createCourse: '¡Crea tu propio curso nuevo!',
            createGroup: '¡Crea tu propio grupo nuevo!',
            title: 'Título',
            subtitle: 'Subtítulo',
            recentlyAdded: 'Agregado recientemente',
            popularCourses: 'Cursos populares',
            privateGroup: 'Grupo privado',
            tithesAndOfferings: 'Diezmos y Ofrendas',
            type: 'Tipo',
            description: 'Descripción',
            amount: 'Monto',
            tithes: 'Diezmos',
            offerings: 'Ofrendas',
            event: 'Evento',
            proceedToPayment: 'Continuar al pago',
            minimumAmount: 'El monto mínimo es ',
            notifications: 'Notificaciones',
            searchUsers: 'Buscar usuarios',
            searchCourses: 'Buscar cursos',
            news: 'Noticias',
            wrongInformation: 'Por favor, revisa la información.',
            submit: 'Enviar',
            IKnowThisPerson: 'Conozco a esta persona',
            update: 'Actualizar',
            invalidEmail: '¡La dirección de correo electrónico no es válida!',
            reviewPassword: 'Por favor, revisa tu contraseña.',
            updatePhoto: 'Actualizar foto',
            optional: 'Opcional',
            birthday: 'Cumpleaños',
            localMinistry: 'Ministerio local',
            ocupation: 'Ocupación',
            country: 'País',
            clickToSeeAllPhotos: "Haz clic para ver todas las fotos",
            recentlyFollowing: "Siguiendo recientemente",
            changeActiveProfile: "Cambiar perfil activo",
            userActions: "Acciones de usuario",
            fellowshipApp: "App Fellowship",
            appLanguage: "Idioma de la app",
            language: "Idioma",
            languageSpanish: "Español",
            languageEnglish: "Inglés",
            languageDanish: "Danés",
            languageFrench: "Francés",
            version: "Versión",
            channel: "Canal",
            postingOn: "Publicando en",
            whatIsOnYourMindToday: "¿Qué tienes en mente hoy?",
            addPhotos: "Agregar fotos",
            cancelUpload: "Cancelar carga",
            uploading: "Subiendo...",
            uploadProgress: "Progreso de carga",
            newGroup: "Nuevo grupo",
            changeImage: "Cambiar imagen",
            addGroupImage: "Agregar imagen del grupo",
            groupName: "Nombre del grupo",
            subtitleOptional: "Subtítulo (opcional)",
            requireApprovalBeforeJoin: "Requiere aprobación antes de que las personas puedan unirse.",
            createGroupAction: "Crear grupo",
            newComment: "Nuevo comentario",
            currentProfile: "Perfil actual",
            profileSetting: "Configuración del perfil",
            searchGroups: "Buscar grupos",
            results: "Resultados:",
            yourGroups: "Tus grupos:",
            images: "Imágenes",
            media: "Multimedia",
            embedded: "Integrado",
            files: "Archivos",
            deleteGroup: "Eliminar grupo",
            delete: "Eliminar",
            appName: "EMI Fellowship",
            globalChat: "Chat Global",
            chatRoomBeta: "La sala de chat está en beta",
            onlineNow: "En línea ahora",
            loadingChat: "Cargando chat...",
            writeMessage: "Escribe un mensaje...",
            send: "Enviar",
            aiTranslated: "Traducido por IA",
            completeProfileTitle: "Completa tu perfil",
            completeProfileBody: "Agrega una foto de perfil y una breve descripción para que las personas puedan reconocerte.",
            completeProfileMissingHint: "Parece que a tu perfil todavía le faltan algunos detalles.",
            completeProfileTestingHint: "Este recordatorio se muestra temporalmente a todos para pruebas.",
            bible: "Biblia",
            bibleReferenceTitle: "Referencia bíblica",
            biblePickerSubtitlePost: "Elige una referencia para insertarla en tu publicación.",
            biblePickerSubtitleChat: "Elige una referencia para insertarla en tu mensaje de chat.",
            preview: "Vista previa",
            useReference: "Usar referencia",
            selected: "Seleccionado",
            tapPreviewPickVerse: "Toca la vista previa para elegir un versículo del capítulo",
            tapVerseToSelect: "Toca un versículo para seleccionarlo.",
            unableLoadPassage: "No se pudo cargar este pasaje bíblico.",
            unableLoadChapter: "No se pudo cargar el capítulo.",
            book: "Libro",
            chapter: "Capítulo",
            verse: "Versículo",
            books: "Libros",
            chapters: "Capítulos",
            verses: "Versículos",
            updateProfile: "Actualizar perfil",
        }
    },
    fr: {
        message: {
            feed: 'Fil d\'actualité',
            events: 'Événements',
            livestream: 'Diffusion en direct',
            search: 'Rechercher',
            invite: 'Inviter',
            groups: 'Groupes',
            courses: 'Cours',
            giving: 'Don',
            profile: 'Profil',
            settings: 'Paramètres',
            logout: 'Se déconnecter',
            about: 'À propos',
            statusUpdate: 'Nouvelle publication',
            newsPost: 'Publication de nouvelles',
            post: 'Publier',
            add: 'Ajouter',
            whatIsNew: 'Quoi de neuf ?',
            saySomethingTo: 'Dire quelque chose à ',
            follow: 'Suivre',
            unfollow: 'Ne plus suivre',
            subscribe: 'S\'abonner',
            unsubscribe: 'Se désabonner',
            pending: 'En attente',
            subscribers: 'Abonnés',
            loading: 'Chargement',
            login: 'Connexion',
            email: 'Email',
            cancel: 'Annuler',
            password: 'Mot de passe',
            rpassword: 'Répéter le mot de passe',
            resetPassword: 'Réinitialiser le mot de passe',
            register: 'S\'inscrire',
            name: 'Nom',
            firstName: 'Prénom',
            lastName: 'Nom de famille',
            describeYourself: 'Décrivez-vous',
            continueWatching: 'Continuer à regarder',
            createCourse: 'Créer votre propre nouveau cours !',
            createGroup: 'Créer votre propre nouveau groupe !',
            title: 'Titre',
            subtitle: 'Sous-titre',
            recentlyAdded: 'Récemment ajouté',
            popularCourses: 'Cours populaires',
            privateGroup: 'Groupe privé',
            tithesAndOfferings: 'Dîmes et offrandes',
            type: 'Type',
            description: 'Description',
            amount: 'Montant',
            tithes: 'Dîmes',
            offerings: 'Offrandes',
            event: 'Événement',
            proceedToPayment: 'Procéder au paiement',
            minimumAmount: 'Le montant minimum est de ',
            notifications: 'Notifications',
            searchUsers: 'Rechercher des utilisateurs',
            searchCourses: 'Rechercher des cours',
            news: 'Actualités',
            wrongInformation: 'Veuillez vérifier les informations.',
            submit: 'Soumettre',
            IKnowThisPerson: 'Je connais cette personne',
            update: 'Mettre à jour',
            invalidEmail: 'L\'adresse email est invalide !',
            reviewPassword: 'Veuillez vérifier votre mot de passe.',
            updatePhoto: 'Mettre à jour la photo',
            optional: 'Facultatif',
            birthday: 'Date de naissance',
            localMinistry: 'Ministère local',
            ocupation: 'Occupation',
            country: 'Pays',
            clickToSeeAllPhotos: "Cliquez pour voir toutes les photos",
            recentlyFollowing: "Abonnements récents",
            changeActiveProfile: "Changer le profil actif",
            userActions: "Actions utilisateur",
            fellowshipApp: "Application Fellowship",
            appLanguage: "Langue de l'application",
            language: "Langue",
            languageSpanish: "Espagnol",
            languageEnglish: "Anglais",
            languageDanish: "Danois",
            languageFrench: "Français",
            version: "Version",
            channel: "Canal",
            postingOn: "Publication sur",
            whatIsOnYourMindToday: "Qu'avez-vous en tête aujourd'hui ?",
            addPhotos: "Ajouter des photos",
            cancelUpload: "Annuler le téléversement",
            uploading: "Téléversement...",
            uploadProgress: "Progression du téléversement",
            newGroup: "Nouveau groupe",
            changeImage: "Changer l'image",
            addGroupImage: "Ajouter l'image du groupe",
            groupName: "Nom du groupe",
            subtitleOptional: "Sous-titre (facultatif)",
            requireApprovalBeforeJoin: "Nécessite une approbation avant que les personnes puissent rejoindre.",
            createGroupAction: "Créer le groupe",
            newComment: "Nouveau commentaire",
            currentProfile: "Profil actuel",
            profileSetting: "Paramètres du profil",
            searchGroups: "Rechercher des groupes",
            results: "Résultats :",
            yourGroups: "Vos groupes :",
            images: "Images",
            media: "Médias",
            embedded: "Intégré",
            files: "Fichiers",
            deleteGroup: "Supprimer le groupe",
            delete: "Supprimer",
            appName: "EMI Fellowship",
            globalChat: "Chat global",
            chatRoomBeta: "La salle de chat est en version bêta",
            onlineNow: "En ligne maintenant",
            loadingChat: "Chargement du chat...",
            writeMessage: "Écrire un message...",
            send: "Envoyer",
            aiTranslated: "Traduit par l'IA",
            completeProfileTitle: "Complétez votre profil",
            completeProfileBody: "Ajoutez une photo de profil et une courte description pour que les autres puissent vous reconnaître.",
            completeProfileMissingHint: "Il semble que votre profil manque encore de quelques informations.",
            completeProfileTestingHint: "Ce rappel est temporairement affiché à tout le monde pour les tests.",
            bible: "Bible",
            bibleReferenceTitle: "Référence biblique",
            biblePickerSubtitlePost: "Choisissez une référence à insérer dans votre publication.",
            biblePickerSubtitleChat: "Choisissez une référence à insérer dans votre message de chat.",
            preview: "Aperçu",
            useReference: "Utiliser la référence",
            selected: "Sélectionné",
            tapPreviewPickVerse: "Touchez l'aperçu pour choisir un verset du chapitre",
            tapVerseToSelect: "Touchez un verset pour le sélectionner.",
            unableLoadPassage: "Impossible de charger ce passage biblique.",
            unableLoadChapter: "Impossible de charger le chapitre.",
            book: "Livre",
            chapter: "Chapitre",
            verse: "Verset",
            books: "Livres",
            chapters: "Chapitres",
            verses: "Versets",
            updateProfile: "Mettre à jour le profil",
        }
    },
    da: {
        message: {
            feed: 'Feed',
            events: "Begivenheder",
            livestream: "Live stream",
            search: 'Søg',
            invite: 'Inviter',
            groups: 'Grupper',
            courses: "Kurser",
            giving: "Donation",
            profile: "Profil",
            settings: 'Indstillinger',
            logout: "Log ud",
            about: 'Om',
            statusUpdate: "Ny opdatering",
            newsPost: "Nyhedsopslag",
            post: "Indlæg",
            add: 'Tilføj',
            whatIsNew: "Hvad er nyt?",
            saySomethingTo: "Sig noget til ",
            follow: "Følg",
            unfollow: "Følg ikke",
            subscribe: "Abonnér",
            unsubscribe: 'Afmeld',
            pending: "Afventer",
            subscribers: "Abonnenter",
            loading: "Indlæser",
            login: 'Log ind',
            email: "E-mail",
            cancel: "Annuller",
            password: "Adgangskode",
            rpassword: "Gentag adgangskode",
            resetPassword: "Nulstil adgangskode",
            register: "Registrer",
            name: "Navn",
            firstName: "Fornavn",
            lastName: "Efternavn",
            describeYourself: 'Beskriv dig selv',
            continueWatching: "Fortsæt med at se",
            createCourse: "Opret din egen nye kursus!",
            createGroup: "Opret din egen nye gruppe!",
            title: "Titel",
            subtitle: "Undertitel",
            recentlyAdded: "Nyligt tilføjet",
            popularCourses: "Populære kurser",
            privateGroup: "Privat gruppe",
            tithesAndOfferings: "Tiende og offer",
            type: "Type",
            description: "Beskrivelse",
            amount: "Beløb",
            tithes: "Tiende",
            offerings: "Offergaver",
            event: "Begivenhed",
            proceedToPayment: "Fortsæt til betaling",
            minimumAmount: "Det mindste beløb er ",
            notifications: "Notifikationer",
            searchUsers: "Søg efter brugere",
            searchCourses: "Søg efter kurser",
            news: "Nyheder",
            wrongInformation: "Gennemse venligst oplysningerne.",
            submit: "Indsend",
            IKnowThisPerson: "Jeg kender denne person",
            update: "Opdater",
            invalidEmail: "E-mailadressen er ugyldig!",
            reviewPassword: "Gennemse venligst din adgangskode.",
            updatePhoto: "Opdater foto",
            optional: "Valgfrit",
            birthday: "Fødselsdag",
            localMinistry: "Lokalt ministerium",
            ocupation: "Beskæftigelse",
            country: 'Land',
            clickToSeeAllPhotos: "Klik for at se alle billeder",
            recentlyFollowing: "For nylig fulgt",
            changeActiveProfile: "Skift aktiv profil",
            userActions: "Brugerhandlinger",
            fellowshipApp: "Fellowship App",
            appLanguage: "App-sprog",
            language: "Sprog",
            languageSpanish: "Spansk",
            languageEnglish: "Engelsk",
            languageDanish: "Dansk",
            languageFrench: "Fransk",
            version: "Version",
            channel: "Kanal",
            postingOn: "Udgiver på",
            whatIsOnYourMindToday: "Hvad tænker du på i dag?",
            addPhotos: "Tilføj billeder",
            cancelUpload: "Annuller upload",
            uploading: "Uploader...",
            uploadProgress: "Uploadforløb",
            newGroup: "Ny gruppe",
            changeImage: "Skift billede",
            addGroupImage: "Tilføj gruppebillede",
            groupName: "Gruppenavn",
            subtitleOptional: "Undertitel (valgfri)",
            requireApprovalBeforeJoin: "Kræver godkendelse før folk kan deltage.",
            createGroupAction: "Opret gruppe",
            newComment: "Ny kommentar",
            currentProfile: "Nuværende profil",
            profileSetting: "Profilindstillinger",
            searchGroups: "Søg grupper",
            results: "Resultater:",
            yourGroups: "Dine grupper:",
            images: "Billeder",
            media: "Medier",
            embedded: "Indlejret",
            files: "Filer",
            deleteGroup: "Slet gruppe",
            delete: "Slet",
            appName: "EMI Fellowship",
            globalChat: "Global chat",
            chatRoomBeta: "Chatrummet er i beta",
            onlineNow: "Online nu",
            loadingChat: "Indlæser chat...",
            writeMessage: "Skriv en besked...",
            send: "Send",
            aiTranslated: "AI-oversat",
            completeProfileTitle: "Udfyld din profil",
            completeProfileBody: "Tilføj et profilbillede og en kort beskrivelse, så andre kan genkende dig.",
            completeProfileMissingHint: "Det ser ud til, at din profil stadig mangler nogle detaljer.",
            completeProfileTestingHint: "Denne påmindelse vises midlertidigt til alle for test.",
            bible: "Bibelen",
            bibleReferenceTitle: "Bibelreference",
            biblePickerSubtitlePost: "Vælg en reference til at indsætte i dit opslag.",
            biblePickerSubtitleChat: "Vælg en reference til at indsætte i din chatbesked.",
            preview: "Forhåndsvis",
            useReference: "Brug reference",
            selected: "Valgt",
            tapPreviewPickVerse: "Tryk på forhåndsvisning for at vælge et vers fra kapitlet",
            tapVerseToSelect: "Tryk på et vers for at vælge det.",
            unableLoadPassage: "Kunne ikke indlæse dette bibelafsnit.",
            unableLoadChapter: "Kunne ikke indlæse kapitlet.",
            book: "Bog",
            chapter: "Kapitel",
            verse: "Vers",
            books: "Bøger",
            chapters: "Kapitler",
            verses: "Vers",
            updateProfile: "Opdater profil",
        }
    }
}

// Set the key-value pairs for the different languages you want to support.
const i18n = new I18n(messages);

// Set the locale once at the beginning of your app.
// TODO: Check user Lcale
const devideLocale = getLocales()[0].languageCode;
console.log('deviceLocale', devideLocale);
if (messages[devideLocale]) {
    i18n.locale = devideLocale;
} else {
    i18n.locale = 'en';
}
moment.locale(i18n.locale);

export default i18n;
