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", previous: "Previous", next: "Next", }, }, 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", previous: "Anterior", next: "Siguiente", } }, 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", previous: "Précédent", next: "Suivant", } }, 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", previous: "Forrige", next: "Næste", } } } // 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;