1
0
Fork 0
mirror of https://github.com/seanmorley15/AdventureLog.git synced 2025-07-20 13:29:37 +02:00

More settings localization

This commit is contained in:
Sean Morley 2024-11-03 15:45:29 -05:00
parent 4bbbc10097
commit c0aaec1436
13 changed files with 464 additions and 284 deletions

View file

@ -15,8 +15,8 @@ const config: Config = {
// GitHub pages deployment config. // GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these. // If you aren't using GitHub pages, you don't need these.
organizationName: "facebook", // Usually your GitHub org/user name. organizationName: "seanmorley", // Usually your GitHub org/user name.
projectName: "docusaurus", // Usually your repo name. projectName: "adventurelog", // Usually your repo name.
onBrokenLinks: "throw", onBrokenLinks: "throw",
onBrokenMarkdownLinks: "warn", onBrokenMarkdownLinks: "warn",
@ -40,7 +40,7 @@ const config: Config = {
// Please change this to your repo. // Please change this to your repo.
// Remove this to remove the "edit this page" links. // Remove this to remove the "edit this page" links.
editUrl: editUrl:
"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/", "https://github.com/seanmorley15/AdventureLog/tree/main/documentation",
}, },
// blog: { // blog: {
// showReadingTime: true, // showReadingTime: true,

View file

@ -149,7 +149,22 @@
"url": "URL", "url": "URL",
"warning": "Warnung", "warning": "Warnung",
"wiki_desc": "Ruft einen Auszug aus einem Wikipedia-Artikel ab, der zum Namen des Abenteuers passt.", "wiki_desc": "Ruft einen Auszug aus einem Wikipedia-Artikel ab, der zum Namen des Abenteuers passt.",
"wikipedia": "Wikipedia" "wikipedia": "Wikipedia",
"adventure_not_found": "Es sind keine Abenteuer zum Anzeigen vorhanden. \nFügen Sie einige über die Plus-Schaltfläche unten rechts hinzu oder versuchen Sie, die Filter zu ändern!",
"all": "Alle",
"error_updating_regions": "Fehler beim Aktualisieren der Regionen",
"mark_region_as_visited": "Region {region}, {country} als besucht markieren?",
"mark_visited": "Mark besucht",
"my_adventures": "Meine Abenteuer",
"no_adventures_found": "Keine Abenteuer gefunden",
"no_collections_found": "Es wurden keine Sammlungen gefunden, zu denen dieses Abenteuer hinzugefügt werden kann.",
"no_linkable_adventures": "Es wurden keine Abenteuer gefunden, die mit dieser Sammlung verknüpft werden können.",
"not_visited": "Nicht besucht",
"regions_updated": "Regionen aktualisiert",
"update_visited_regions": "Besuchte Regionen aktualisieren",
"update_visited_regions_disclaimer": "Dies kann je nach Anzahl der Abenteuer, die Sie besucht haben, eine Weile dauern.",
"visited_region_check": "Überprüfung der besuchten Region",
"visited_region_check_desc": "Wenn Sie diese Option auswählen, überprüft der Server alle von Ihnen besuchten Abenteuer und markiert die Regionen, in denen sie sich befinden, als im Rahmen von Weltreisen besucht."
}, },
"home": { "home": {
"desc_1": "Entdecken, planen und erkunden Sie mit Leichtigkeit", "desc_1": "Entdecken, planen und erkunden Sie mit Leichtigkeit",
@ -206,7 +221,8 @@
"signup": "Melden Sie sich an", "signup": "Melden Sie sich an",
"username": "Benutzername", "username": "Benutzername",
"profile_picture": "Profilbild", "profile_picture": "Profilbild",
"public_profile": "Öffentliches Profil" "public_profile": "Öffentliches Profil",
"public_tooltip": "Mit einem öffentlichen Profil können Benutzer Sammlungen mit Ihnen teilen und Ihr Profil auf der Benutzerseite anzeigen."
}, },
"users": { "users": {
"no_users_found": "Keine Benutzer mit öffentlichen Profilen gefunden." "no_users_found": "Keine Benutzer mit öffentlichen Profilen gefunden."
@ -233,6 +249,17 @@
"settings_page": "Einstellungsseite", "settings_page": "Einstellungsseite",
"update": "Aktualisieren", "update": "Aktualisieren",
"update_error": "Fehler beim Aktualisieren der Einstellungen", "update_error": "Fehler beim Aktualisieren der Einstellungen",
"update_success": "Einstellungen erfolgreich aktualisiert!" "update_success": "Einstellungen erfolgreich aktualisiert!",
"change_password": "Kennwort ändern",
"confirm_new_password": "Bestätigen Sie das neue Passwort",
"invalid_token": "Token ist ungültig oder abgelaufen",
"login_redir": "Anschließend werden Sie zur Anmeldeseite weitergeleitet.",
"missing_email": "Bitte geben Sie eine E-Mail-Adresse ein",
"password_does_not_match": "Passwörter stimmen nicht überein",
"password_is_required": "Passwort ist erforderlich",
"possible_reset": "Wenn die von Ihnen angegebene E-Mail-Adresse mit einem Konto verknüpft ist, erhalten Sie eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts!",
"reset_password": "Passwort zurücksetzen",
"submit": "Einreichen",
"token_required": "Zum Zurücksetzen des Passworts sind Token und UID erforderlich."
} }
} }

View file

@ -250,6 +250,16 @@
"email_change": "Change Email", "email_change": "Change Email",
"current_email": "Current Email", "current_email": "Current Email",
"no_email_set": "No email set", "no_email_set": "No email set",
"new_email": "New Email" "new_email": "New Email",
"change_password": "Change Password",
"login_redir": "You will then be redirected to the login page.",
"token_required": "Token and UID are required for password reset.",
"reset_password": "Reset Password",
"possible_reset": "If the email address you provided is associated with an account, you will receive an email with instructions to reset your password!",
"missing_email": "Please enter an email address",
"submit": "Submit",
"password_does_not_match": "Passwords do not match",
"password_is_required": "Password is required",
"invalid_token": "Token is invalid or has expired"
} }
} }

View file

@ -1,248 +1,265 @@
{ {
"navbar": { "navbar": {
"adventures": "Aventuras", "adventures": "Aventuras",
"collections": "Colecciones", "collections": "Colecciones",
"worldtravel": "Viajar por el Mundo", "worldtravel": "Viajar por el Mundo",
"map": "Mapa", "map": "Mapa",
"users": "Usuarios", "users": "Usuarios",
"search": "Buscar", "search": "Buscar",
"profile": "Perfil", "profile": "Perfil",
"greeting": "Hola", "greeting": "Hola",
"my_adventures": "Mis Aventuras", "my_adventures": "Mis Aventuras",
"my_activities": "Mis Actividades", "my_activities": "Mis Actividades",
"shared_with_me": "Compartido Conmigo", "shared_with_me": "Compartido Conmigo",
"settings": "Configuraciones", "settings": "Configuraciones",
"logout": "Cerrar Sesión", "logout": "Cerrar Sesión",
"about": "Acerca de AdventureLog", "about": "Acerca de AdventureLog",
"documentation": "Documentación", "documentation": "Documentación",
"discord": "Discord", "discord": "Discord",
"theme_selection": "Selección de Tema", "theme_selection": "Selección de Tema",
"themes": { "themes": {
"light": "Claro", "light": "Claro",
"dark": "Oscuro", "dark": "Oscuro",
"night": "Noche", "night": "Noche",
"forest": "Bosque", "forest": "Bosque",
"aestetic-dark": "Estético Oscuro", "aestetic-dark": "Estético Oscuro",
"aestetic-light": "Estético Claro", "aestetic-light": "Estético Claro",
"aqua": "Aqua" "aqua": "Aqua"
} }
}, },
"about": { "about": {
"about": "Acerca de", "about": "Acerca de",
"license": "Licenciado bajo la Licencia GPL-3.0.", "license": "Licenciado bajo la Licencia GPL-3.0.",
"source_code": "Código Fuente", "source_code": "Código Fuente",
"message": "Hecho con ❤️ en los Estados Unidos.", "message": "Hecho con ❤️ en los Estados Unidos.",
"oss_attributions": "Atribuciones de Código Abierto", "oss_attributions": "Atribuciones de Código Abierto",
"nominatim_1": "La búsqueda de ubicaciones y geocodificación es proporcionada por", "nominatim_1": "La búsqueda de ubicaciones y geocodificación es proporcionada por",
"nominatim_2": "Sus datos están licenciados bajo la licencia ODbL.", "nominatim_2": "Sus datos están licenciados bajo la licencia ODbL.",
"other_attributions": "Atribuciones adicionales se pueden encontrar en el archivo README.", "other_attributions": "Atribuciones adicionales se pueden encontrar en el archivo README.",
"close": "Cerrar" "close": "Cerrar"
}, },
"home": { "home": {
"hero_1": "Descubre las Aventuras Más Emocionantes del Mundo", "hero_1": "Descubre las Aventuras Más Emocionantes del Mundo",
"hero_2": "Descubre y planifica tu próxima aventura con AdventureLog. Explora destinos impresionantes, crea itinerarios personalizados y mantente conectado en todo momento.", "hero_2": "Descubre y planifica tu próxima aventura con AdventureLog. Explora destinos impresionantes, crea itinerarios personalizados y mantente conectado en todo momento.",
"go_to": "Ir a AdventureLog", "go_to": "Ir a AdventureLog",
"key_features": "Características Clave", "key_features": "Características Clave",
"desc_1": "Descubre, Planifica y Explora Fácilmente", "desc_1": "Descubre, Planifica y Explora Fácilmente",
"desc_2": "AdventureLog está diseñado para simplificar tu viaje, brindándote las herramientas y recursos para planificar, empacar y navegar tu próxima aventura inolvidable.", "desc_2": "AdventureLog está diseñado para simplificar tu viaje, brindándote las herramientas y recursos para planificar, empacar y navegar tu próxima aventura inolvidable.",
"feature_1": "Registro de Viajes", "feature_1": "Registro de Viajes",
"feature_1_desc": "Mantén un registro de tus aventuras con un diario de viaje personalizado y comparte tus experiencias con amigos y familiares.", "feature_1_desc": "Mantén un registro de tus aventuras con un diario de viaje personalizado y comparte tus experiencias con amigos y familiares.",
"feature_2": "Planificación de Viajes", "feature_2": "Planificación de Viajes",
"feature_2_desc": "Crea fácilmente itinerarios personalizados y obtén un desglose diario de tu viaje.", "feature_2_desc": "Crea fácilmente itinerarios personalizados y obtén un desglose diario de tu viaje.",
"feature_3": "Mapa de Viaje", "feature_3": "Mapa de Viaje",
"feature_3_desc": "Visualiza tus viajes por el mundo con un mapa interactivo y explora nuevos destinos." "feature_3_desc": "Visualiza tus viajes por el mundo con un mapa interactivo y explora nuevos destinos."
}, },
"adventures": { "adventures": {
"collection_remove_success": "¡Aventura eliminada de la colección con éxito!", "collection_remove_success": "¡Aventura eliminada de la colección con éxito!",
"collection_remove_error": "Error al eliminar la aventura de la colección", "collection_remove_error": "Error al eliminar la aventura de la colección",
"collection_link_success": "¡Aventura vinculada a la colección con éxito!", "collection_link_success": "¡Aventura vinculada a la colección con éxito!",
"collection_link_error": "Error al vincular la aventura a la colección", "collection_link_error": "Error al vincular la aventura a la colección",
"adventure_delete_confirm": "¿Estás seguro de que quieres eliminar esta aventura? Esta acción no se puede deshacer.", "adventure_delete_confirm": "¿Estás seguro de que quieres eliminar esta aventura? Esta acción no se puede deshacer.",
"open_details": "Abrir Detalles", "open_details": "Abrir Detalles",
"edit_adventure": "Editar Aventura", "edit_adventure": "Editar Aventura",
"remove_from_collection": "Eliminar de la Colección", "remove_from_collection": "Eliminar de la Colección",
"add_to_collection": "Añadir a la Colección", "add_to_collection": "Añadir a la Colección",
"delete": "Eliminar", "delete": "Eliminar",
"activities": { "activities": {
"activity": "Actividad 🏄", "activity": "Actividad 🏄",
"art_museums": "Arte", "art_museums": "Arte",
"attraction": "Atracción 🎢", "attraction": "Atracción 🎢",
"culture": "Cultura 🎭", "culture": "Cultura 🎭",
"dining": "Cenar 🍽️", "dining": "Cenar 🍽️",
"event": "Evento 🎉", "event": "Evento 🎉",
"festivals": "Festivales 🎪", "festivals": "Festivales 🎪",
"fitness": "Fitness 🏋️", "fitness": "Fitness 🏋️",
"general": "Generales 🌍", "general": "Generales 🌍",
"hiking": "Senderismo 🥾", "hiking": "Senderismo 🥾",
"historical_sites": "Sitios Históricos 🏛️", "historical_sites": "Sitios Históricos 🏛️",
"lodging": "Alojamiento 🛌", "lodging": "Alojamiento 🛌",
"music_concerts": "Música", "music_concerts": "Música",
"nightlife": "Vida nocturna 🌃", "nightlife": "Vida nocturna 🌃",
"other": "Otro", "other": "Otro",
"outdoor": "Al aire libre 🏞️", "outdoor": "Al aire libre 🏞️",
"shopping": "Compras 🛍️", "shopping": "Compras 🛍️",
"spiritual_journeys": "Viajes espirituales 🧘‍♀️", "spiritual_journeys": "Viajes espirituales 🧘‍♀️",
"transportation": "Transporte 🚗", "transportation": "Transporte 🚗",
"volunteer_work": "Trabajo voluntario 🤝", "volunteer_work": "Trabajo voluntario 🤝",
"water_sports": "Deportes acuáticos 🚤", "water_sports": "Deportes acuáticos 🚤",
"wildlife": "Vida silvestre 🦒" "wildlife": "Vida silvestre 🦒"
}, },
"no_image_found": "No se encontró ninguna imagen", "no_image_found": "No se encontró ninguna imagen",
"adventure_details": "Detalles de la aventura", "adventure_details": "Detalles de la aventura",
"adventure_type": "Tipo de aventura", "adventure_type": "Tipo de aventura",
"collection": "Recopilación", "collection": "Recopilación",
"homepage": "Página principal", "homepage": "Página principal",
"latitude": "Latitud", "latitude": "Latitud",
"longitude": "Longitud", "longitude": "Longitud",
"not_found": "Aventura no encontrada", "not_found": "Aventura no encontrada",
"not_found_desc": "La aventura que buscabas no se pudo encontrar. \nPruebe una aventura diferente o vuelva a consultar más tarde.", "not_found_desc": "La aventura que buscabas no se pudo encontrar. \nPruebe una aventura diferente o vuelva a consultar más tarde.",
"visit": "Visita", "visit": "Visita",
"visits": "Visitas", "visits": "Visitas",
"adventure": "Aventura", "adventure": "Aventura",
"count_txt": "resultados que coinciden con su búsqueda", "count_txt": "resultados que coinciden con su búsqueda",
"create_new": "Crear nuevo...", "create_new": "Crear nuevo...",
"ascending": "Ascendente", "ascending": "Ascendente",
"collection_adventures": "Incluir aventuras de colección", "collection_adventures": "Incluir aventuras de colección",
"date": "Fecha", "date": "Fecha",
"descending": "Descendente", "descending": "Descendente",
"filter": "Filtrar", "filter": "Filtrar",
"name": "Nombre", "name": "Nombre",
"order_by": "Ordenar por", "order_by": "Ordenar por",
"order_direction": "Dirección del pedido", "order_direction": "Dirección del pedido",
"rating": "Clasificación", "rating": "Clasificación",
"sort": "Clasificar", "sort": "Clasificar",
"sources": "Fuentes", "sources": "Fuentes",
"updated": "Actualizado", "updated": "Actualizado",
"category_filter": "Filtro de categoría", "category_filter": "Filtro de categoría",
"clear": "Claro", "clear": "Claro",
"archived_collections": "Colecciones archivadas", "archived_collections": "Colecciones archivadas",
"close_filters": "Cerrar filtros", "close_filters": "Cerrar filtros",
"my_collections": "Mis colecciones", "my_collections": "Mis colecciones",
"open_filters": "Abrir filtros", "open_filters": "Abrir filtros",
"private": "Privado", "private": "Privado",
"public": "Público", "public": "Público",
"archived_collection_message": "¡Colección archivada exitosamente!", "archived_collection_message": "¡Colección archivada exitosamente!",
"delete_collection": "Eliminar colección", "delete_collection": "Eliminar colección",
"delete_collection_success": "¡Colección eliminada exitosamente!", "delete_collection_success": "¡Colección eliminada exitosamente!",
"delete_collection_warning": "¿Estás seguro de que deseas eliminar esta colección? \nEsto también eliminará todas las aventuras vinculadas. \nEsta acción no se puede deshacer.", "delete_collection_warning": "¿Estás seguro de que deseas eliminar esta colección? \nEsto también eliminará todas las aventuras vinculadas. \nEsta acción no se puede deshacer.",
"unarchived_collection_message": "¡Colección desarchivada exitosamente!", "unarchived_collection_message": "¡Colección desarchivada exitosamente!",
"archive": "Archivo", "archive": "Archivo",
"archived": "Archivado", "archived": "Archivado",
"edit_collection": "Editar colección", "edit_collection": "Editar colección",
"share": "Compartir", "share": "Compartir",
"unarchive": "Desarchivar", "unarchive": "Desarchivar",
"cancel": "Cancelar", "cancel": "Cancelar",
"adventure_delete_success": "¡Aventura eliminada con éxito!", "adventure_delete_success": "¡Aventura eliminada con éxito!",
"delete_adventure": "Eliminar aventura", "delete_adventure": "Eliminar aventura",
"planned": "Planificado", "planned": "Planificado",
"visited": "Visitado", "visited": "Visitado",
"dates": "Fechas", "dates": "Fechas",
"duration": "Duración", "duration": "Duración",
"image_removed_error": "Error al eliminar la imagen", "image_removed_error": "Error al eliminar la imagen",
"image_removed_success": "¡Imagen eliminada exitosamente!", "image_removed_success": "¡Imagen eliminada exitosamente!",
"image_upload_error": "Error al subir la imagen", "image_upload_error": "Error al subir la imagen",
"image_upload_success": "¡Imagen cargada exitosamente!", "image_upload_success": "¡Imagen cargada exitosamente!",
"no_image_url": "No se encontró ninguna imagen en esa URL.", "no_image_url": "No se encontró ninguna imagen en esa URL.",
"start_before_end_error": "La fecha de inicio debe ser anterior a la fecha de finalización.", "start_before_end_error": "La fecha de inicio debe ser anterior a la fecha de finalización.",
"wiki_image_error": "Error al obtener la imagen de Wikipedia", "wiki_image_error": "Error al obtener la imagen de Wikipedia",
"actions": "Comportamiento", "actions": "Comportamiento",
"activity": "Actividad", "activity": "Actividad",
"see_adventures": "Ver Aventuras", "see_adventures": "Ver Aventuras",
"activity_types": "Tipos de actividad", "activity_types": "Tipos de actividad",
"add": "Agregar", "add": "Agregar",
"add_notes": "Agregar notas", "add_notes": "Agregar notas",
"adventure_create_error": "No se pudo crear la aventura", "adventure_create_error": "No se pudo crear la aventura",
"adventure_created": "Aventura creada", "adventure_created": "Aventura creada",
"adventure_update_error": "No se pudo actualizar la aventura", "adventure_update_error": "No se pudo actualizar la aventura",
"adventure_updated": "Aventura actualizada", "adventure_updated": "Aventura actualizada",
"basic_information": "Información básica", "basic_information": "Información básica",
"category": "Categoría", "category": "Categoría",
"clear_map": "Borrar mapa", "clear_map": "Borrar mapa",
"copy_link": "Copiar enlace", "copy_link": "Copiar enlace",
"date_constrain": "Restringir a las fechas de recolección", "date_constrain": "Restringir a las fechas de recolección",
"description": "Descripción", "description": "Descripción",
"end_date": "Fecha de finalización", "end_date": "Fecha de finalización",
"fetch_image": "Obtener imagen", "fetch_image": "Obtener imagen",
"generate_desc": "Generar descripción", "generate_desc": "Generar descripción",
"image": "Imagen", "image": "Imagen",
"image_fetch_failed": "No se pudo recuperar la imagen", "image_fetch_failed": "No se pudo recuperar la imagen",
"link": "Enlace", "link": "Enlace",
"location": "Ubicación", "location": "Ubicación",
"location_information": "Información de ubicación", "location_information": "Información de ubicación",
"my_images": "Mis imágenes", "my_images": "Mis imágenes",
"my_visits": "Mis visitas", "my_visits": "Mis visitas",
"new_adventure": "Nueva aventura", "new_adventure": "Nueva aventura",
"no_description_found": "No se encontró ninguna descripción", "no_description_found": "No se encontró ninguna descripción",
"no_images": "Sin imágenes", "no_images": "Sin imágenes",
"no_location": "Por favor ingresa una ubicación", "no_location": "Por favor ingresa una ubicación",
"no_results": "No se encontraron resultados", "no_results": "No se encontraron resultados",
"no_start_date": "Por favor ingrese una fecha de inicio", "no_start_date": "Por favor ingrese una fecha de inicio",
"public_adventure": "Aventura pública", "public_adventure": "Aventura pública",
"remove": "Eliminar", "remove": "Eliminar",
"save_next": "Ahorrar", "save_next": "Ahorrar",
"search_for_location": "Buscar una ubicación", "search_for_location": "Buscar una ubicación",
"search_results": "Resultados de búsqueda", "search_results": "Resultados de búsqueda",
"select_adventure_category": "Seleccionar categoría de aventura", "select_adventure_category": "Seleccionar categoría de aventura",
"share_adventure": "¡Comparte esta aventura!", "share_adventure": "¡Comparte esta aventura!",
"start_date": "Fecha de inicio", "start_date": "Fecha de inicio",
"upload_image": "Subir imagen", "upload_image": "Subir imagen",
"upload_images_here": "Sube imágenes aquí", "upload_images_here": "Sube imágenes aquí",
"url": "URL", "url": "URL",
"warning": "Advertencia", "warning": "Advertencia",
"wiki_desc": "Extrae un extracto de un artículo de Wikipedia que coincide con el nombre de la aventura.", "wiki_desc": "Extrae un extracto de un artículo de Wikipedia que coincide con el nombre de la aventura.",
"wikipedia": "Wikipedia", "wikipedia": "Wikipedia",
"add_an_activity": "Agregar una actividad", "add_an_activity": "Agregar una actividad",
"adventure_not_found": "No hay aventuras que mostrar. \n¡Agregue algunos usando el botón más en la parte inferior derecha o intente cambiar los filtros!", "adventure_not_found": "No hay aventuras que mostrar. \n¡Agregue algunos usando el botón más en la parte inferior derecha o intente cambiar los filtros!",
"no_adventures_found": "No se encontraron aventuras", "no_adventures_found": "No se encontraron aventuras",
"no_collections_found": "No se encontraron colecciones para agregar esta aventura.", "no_collections_found": "No se encontraron colecciones para agregar esta aventura.",
"my_adventures": "mis aventuras", "my_adventures": "mis aventuras",
"no_linkable_adventures": "No se encontraron aventuras que puedan vincularse a esta colección.", "no_linkable_adventures": "No se encontraron aventuras que puedan vincularse a esta colección.",
"mark_region_as_visited": "¿Marcar región {region}, {country} como visitada?", "mark_region_as_visited": "¿Marcar región {region}, {country} como visitada?",
"mark_visited": "Marcos visitó", "mark_visited": "Marcos visitó",
"not_visited": "No visitado" "not_visited": "No visitado",
}, "all": "Todo",
"worldtravel": { "error_updating_regions": "Error al actualizar regiones",
"all": "Todo", "regions_updated": "regiones actualizadas",
"all_subregions": "Todas las subregiones", "update_visited_regions": "Actualizar regiones visitadas",
"clear_search": "Borrar búsqueda", "update_visited_regions_disclaimer": "Esto puede llevar un tiempo dependiendo de la cantidad de aventuras que hayas visitado.",
"completely_visited": "Completamente visitado", "visited_region_check": "Verificación de región visitada",
"no_countries_found": "No se encontraron países", "visited_region_check_desc": "Al seleccionar esto, el servidor verificará todas sus aventuras visitadas y marcará las regiones en las que se encuentran como visitadas en viajes mundiales."
"not_visited": "No visitado", },
"num_countries": "países encontrados", "worldtravel": {
"partially_visited": "Parcialmente visitado", "all": "Todo",
"country_list": "Lista de países" "all_subregions": "Todas las subregiones",
}, "clear_search": "Borrar búsqueda",
"auth": { "completely_visited": "Completamente visitado",
"forgot_password": "¿Has olvidado tu contraseña?", "no_countries_found": "No se encontraron países",
"login": "Acceso", "not_visited": "No visitado",
"login_error": "No se puede iniciar sesión con las credenciales proporcionadas.", "num_countries": "países encontrados",
"password": "Contraseña", "partially_visited": "Parcialmente visitado",
"signup": "Inscribirse", "country_list": "Lista de países"
"username": "Nombre de usuario", },
"confirm_password": "confirmar Contraseña", "auth": {
"email": "Correo electrónico", "forgot_password": "¿Has olvidado tu contraseña?",
"first_name": "Nombre de pila", "login": "Acceso",
"last_name": "Apellido", "login_error": "No se puede iniciar sesión con las credenciales proporcionadas.",
"registration_disabled": "El registro está actualmente deshabilitado.", "password": "Contraseña",
"profile_picture": "Foto de perfil", "signup": "Inscribirse",
"public_profile": "Perfil público", "username": "Nombre de usuario",
"public_tooltip": "Con un perfil público, los usuarios pueden compartir colecciones con usted y ver su perfil en la página de usuarios." "confirm_password": "confirmar Contraseña",
}, "email": "Correo electrónico",
"users": { "first_name": "Nombre de pila",
"no_users_found": "No se encontraron usuarios con perfiles públicos." "last_name": "Apellido",
}, "registration_disabled": "El registro está actualmente deshabilitado.",
"settings": { "profile_picture": "Foto de perfil",
"account_settings": "Configuración de cuenta de usuario", "public_profile": "Perfil público",
"confirm_new_password": "Confirmar nueva contraseña", "public_tooltip": "Con un perfil público, los usuarios pueden compartir colecciones con usted y ver su perfil en la página de usuarios."
"current_email": "Correo electrónico actual", },
"email_change": "Cambiar correo electrónico", "users": {
"new_email": "Nuevo correo electrónico", "no_users_found": "No se encontraron usuarios con perfiles públicos."
"new_password": "Nueva contraseña", },
"no_email_set": "No hay correo electrónico configurado", "settings": {
"password_change": "Cambiar la contraseña", "account_settings": "Configuración de cuenta de usuario",
"settings_page": "Página de configuración", "confirm_new_password": "Confirmar nueva contraseña",
"update": "Actualizar", "current_email": "Correo electrónico actual",
"update_error": "Error al actualizar la configuración", "email_change": "Cambiar correo electrónico",
"update_success": "¡La configuración se actualizó correctamente!" "new_email": "Nuevo correo electrónico",
} "new_password": "Nueva contraseña",
"no_email_set": "No hay correo electrónico configurado",
"password_change": "Cambiar la contraseña",
"settings_page": "Página de configuración",
"update": "Actualizar",
"update_error": "Error al actualizar la configuración",
"update_success": "¡La configuración se actualizó correctamente!",
"change_password": "Cambiar la contraseña",
"login_redir": "Luego será redirigido a la página de inicio de sesión.",
"missing_email": "Por favor ingrese una dirección de correo electrónico",
"possible_reset": "Si la dirección de correo electrónico que proporcionó está asociada con una cuenta, recibirá un correo electrónico con instrucciones para restablecer su contraseña.",
"reset_password": "Restablecer contraseña",
"token_required": "Se requieren token y UID para restablecer la contraseña.",
"password_does_not_match": "Las contraseñas no coinciden",
"password_is_required": "Se requiere contraseña",
"submit": "Entregar",
"invalid_token": "El token no es válido o ha caducado"
}
} }

View file

@ -149,7 +149,22 @@
"url": "URL", "url": "URL",
"warning": "Avertissement", "warning": "Avertissement",
"wiki_desc": "Extrait un extrait de l'article Wikipédia correspondant au nom de l'aventure.", "wiki_desc": "Extrait un extrait de l'article Wikipédia correspondant au nom de l'aventure.",
"wikipedia": "Wikipédia" "wikipedia": "Wikipédia",
"adventure_not_found": "Il n'y a aucune aventure à afficher. \nAjoutez-en en utilisant le bouton plus en bas à droite ou essayez de changer les filtres !",
"all": "Tous",
"error_updating_regions": "Erreur lors de la mise à jour des régions",
"mark_region_as_visited": "Marquer la région {region}, {country} comme visitée ?",
"mark_visited": "Mark a visité",
"my_adventures": "Mes aventures",
"no_adventures_found": "Aucune aventure trouvée",
"no_collections_found": "Aucune collection trouvée pour ajouter cette aventure.",
"no_linkable_adventures": "Aucune aventure trouvée pouvant être liée à cette collection.",
"not_visited": "Non visité",
"regions_updated": "régions mises à jour",
"update_visited_regions": "Mettre à jour les régions visitées",
"update_visited_regions_disclaimer": "Cela peut prendre un certain temps en fonction du nombre d'aventures que vous avez visitées.",
"visited_region_check": "Vérification de la région visitée",
"visited_region_check_desc": "En sélectionnant cette option, le serveur vérifiera toutes vos aventures visitées et marquera les régions dans lesquelles elles se trouvent comme visitées lors des voyages dans le monde."
}, },
"home": { "home": {
"desc_1": "Découvrez, planifiez et explorez en toute simplicité", "desc_1": "Découvrez, planifiez et explorez en toute simplicité",
@ -235,6 +250,16 @@
"settings_page": "Page Paramètres", "settings_page": "Page Paramètres",
"update": "Mise à jour", "update": "Mise à jour",
"update_error": "Erreur lors de la mise à jour des paramètres", "update_error": "Erreur lors de la mise à jour des paramètres",
"update_success": "Paramètres mis à jour avec succès !" "update_success": "Paramètres mis à jour avec succès !",
"change_password": "Changer le mot de passe",
"invalid_token": "Le jeton n'est pas valide ou a expiré",
"login_redir": "Vous serez alors redirigé vers la page de connexion.",
"missing_email": "Veuillez entrer une adresse e-mail",
"password_does_not_match": "Les mots de passe ne correspondent pas",
"password_is_required": "Le mot de passe est requis",
"possible_reset": "Si l'adresse e-mail que vous avez fournie est associée à un compte, vous recevrez un e-mail avec des instructions pour réinitialiser votre mot de passe !",
"reset_password": "Réinitialiser le mot de passe",
"submit": "Soumettre",
"token_required": "Le jeton et l'UID sont requis pour la réinitialisation du mot de passe."
} }
} }

View file

@ -149,7 +149,22 @@
"warning": "Avvertimento", "warning": "Avvertimento",
"wiki_desc": "Estrae un estratto dall'articolo di Wikipedia corrispondente al nome dell'avventura.", "wiki_desc": "Estrae un estratto dall'articolo di Wikipedia corrispondente al nome dell'avventura.",
"wiki_image_error": "Errore durante il recupero dell'immagine da Wikipedia", "wiki_image_error": "Errore durante il recupero dell'immagine da Wikipedia",
"wikipedia": "Wikipedia" "wikipedia": "Wikipedia",
"adventure_not_found": "Non ci sono avventure da visualizzare. \nAggiungine alcuni utilizzando il pulsante più in basso a destra o prova a cambiare i filtri!",
"all": "Tutto",
"error_updating_regions": "Errore durante l'aggiornamento delle regioni",
"mark_region_as_visited": "Contrassegnare la regione {regione}, {paese} come visitata?",
"mark_visited": "Marco ha visitato",
"my_adventures": "Le mie avventure",
"no_adventures_found": "Nessuna avventura trovata",
"no_collections_found": "Nessuna raccolta trovata a cui aggiungere questa avventura.",
"no_linkable_adventures": "Non è stata trovata alcuna avventura che possa essere collegata a questa raccolta.",
"not_visited": "Non visitato",
"regions_updated": "regioni aggiornate",
"update_visited_regions": "Aggiorna le regioni visitate",
"update_visited_regions_disclaimer": "L'operazione potrebbe richiedere del tempo a seconda del numero di avventure che hai visitato.",
"visited_region_check": "Controllo della regione visitata",
"visited_region_check_desc": "Selezionando questa opzione, il server controllerà tutte le avventure che hai visitato e contrassegnerà le regioni in cui si trovano come visitate nei viaggi per il mondo."
}, },
"home": { "home": {
"desc_1": "Scopri, pianifica ed esplora con facilità", "desc_1": "Scopri, pianifica ed esplora con facilità",
@ -235,6 +250,16 @@
"settings_page": "Pagina Impostazioni", "settings_page": "Pagina Impostazioni",
"update": "Aggiornamento", "update": "Aggiornamento",
"update_error": "Errore durante l'aggiornamento delle impostazioni", "update_error": "Errore durante l'aggiornamento delle impostazioni",
"update_success": "Impostazioni aggiornate con successo!" "update_success": "Impostazioni aggiornate con successo!",
"change_password": "Cambiare la password",
"invalid_token": "Il token non è valido o è scaduto",
"login_redir": "Verrai quindi reindirizzato alla pagina di accesso.",
"missing_email": "Inserisci un indirizzo email",
"password_does_not_match": "Le password non corrispondono",
"password_is_required": "È richiesta la password",
"possible_reset": "Se l'indirizzo email che hai fornito è associato a un account, riceverai un'email con le istruzioni per reimpostare la password!",
"reset_password": "Reimposta password",
"submit": "Invia",
"token_required": "Token e UID sono necessari per la reimpostazione della password."
} }
} }

View file

@ -149,7 +149,21 @@
"url": "URL", "url": "URL",
"warning": "Waarschuwing", "warning": "Waarschuwing",
"wiki_desc": "Haalt een fragment uit een Wikipedia-artikel dat overeenkomt met de naam van het avontuur.", "wiki_desc": "Haalt een fragment uit een Wikipedia-artikel dat overeenkomt met de naam van het avontuur.",
"wikipedia": "Wikipedia" "wikipedia": "Wikipedia",
"adventure_not_found": "Er zijn geen avonturen om weer te geven. \nVoeg er een paar toe via de plusknop rechtsonder of probeer de filters te wijzigen!",
"all": "Alle",
"error_updating_regions": "Fout bij updaten van regio's",
"mark_visited": "Mark bezocht",
"my_adventures": "Mijn avonturen",
"no_adventures_found": "Geen avonturen gevonden",
"no_collections_found": "Er zijn geen collecties gevonden waar dit avontuur aan kan worden toegevoegd.",
"no_linkable_adventures": "Er zijn geen avonturen gevonden die aan deze collectie kunnen worden gekoppeld.",
"not_visited": "Niet bezocht",
"regions_updated": "regio's bijgewerkt",
"update_visited_regions": "Update bezochte regio's",
"update_visited_regions_disclaimer": "Dit kan even duren, afhankelijk van het aantal avonturen dat je hebt bezocht.",
"visited_region_check": "Regiocheck bezocht",
"visited_region_check_desc": "Door dit te selecteren, controleert de server al uw bezochte avonturen en markeert de regio's waarin ze zich bevinden als bezocht in de wereldreizen."
}, },
"home": { "home": {
"desc_1": "Ontdek, plan en verken met gemak", "desc_1": "Ontdek, plan en verken met gemak",
@ -235,6 +249,16 @@
"settings_page": "Instellingenpagina", "settings_page": "Instellingenpagina",
"update": "Update", "update": "Update",
"update_error": "Fout bij updaten van instellingen", "update_error": "Fout bij updaten van instellingen",
"update_success": "Instellingen succesvol bijgewerkt!" "update_success": "Instellingen succesvol bijgewerkt!",
"change_password": "Wachtwoord wijzigen",
"invalid_token": "Token is ongeldig of verlopen",
"login_redir": "Vervolgens wordt u doorgestuurd naar de inlogpagina.",
"missing_email": "Voer een e-mailadres in",
"password_does_not_match": "Wachtwoorden komen niet overeen",
"password_is_required": "Wachtwoord is vereist",
"possible_reset": "Als het door u opgegeven e-mailadres aan een account is gekoppeld, ontvangt u een e-mail met instructies om uw wachtwoord opnieuw in te stellen!",
"reset_password": "Wachtwoord opnieuw instellen",
"submit": "Indienen",
"token_required": "Token en UID zijn vereist voor het opnieuw instellen van het wachtwoord."
} }
} }

View file

@ -148,7 +148,23 @@
"upload_images_here": "Ladda upp bilder här", "upload_images_here": "Ladda upp bilder här",
"url": "URL", "url": "URL",
"warning": "Varning", "warning": "Varning",
"wiki_desc": "Hämtar utdrag från Wikipedia-artikeln som matchar äventyrets namn." "wiki_desc": "Hämtar utdrag från Wikipedia-artikeln som matchar äventyrets namn.",
"adventure_not_found": "Det finns inga äventyr att visa upp. \nLägg till några med hjälp av plusknappen längst ner till höger eller prova att byta filter!",
"all": "Alla",
"error_updating_regions": "Fel vid uppdatering av regioner",
"mark_region_as_visited": "Markera region {region}, {country} som besökt?",
"mark_visited": "Mark besökte",
"my_adventures": "Mina äventyr",
"no_adventures_found": "Inga äventyr hittades",
"no_collections_found": "Inga samlingar hittades att lägga till detta äventyr till.",
"no_linkable_adventures": "Inga äventyr hittades som kan kopplas till denna samling.",
"not_visited": "Ej besökt",
"regions_updated": "regioner uppdaterade",
"update_visited_regions": "Uppdatera besökta regioner",
"update_visited_regions_disclaimer": "Detta kan ta ett tag beroende på antalet äventyr du har besökt.",
"visited_region_check": "Besökte Region Check",
"visited_region_check_desc": "Genom att välja detta kommer servern att kontrollera alla dina besökta äventyr och markera de regioner de befinner sig i som besökta i världsresor.",
"wikipedia": "Wikipedia"
}, },
"home": { "home": {
"desc_1": "Upptäck, planera och utforska med lätthet", "desc_1": "Upptäck, planera och utforska med lätthet",
@ -215,7 +231,9 @@
"registration_disabled": "Registreringen är för närvarande inaktiverad.", "registration_disabled": "Registreringen är för närvarande inaktiverad.",
"signup": "Registrera dig", "signup": "Registrera dig",
"username": "Användarnamn", "username": "Användarnamn",
"public_tooltip": "Med en offentlig profil kan användare dela samlingar med dig och se din profil på användarsidan." "public_tooltip": "Med en offentlig profil kan användare dela samlingar med dig och se din profil på användarsidan.",
"profile_picture": "Profilbild",
"public_profile": "Offentlig profil"
}, },
"users": { "users": {
"no_users_found": "Inga användare hittades med offentliga profiler." "no_users_found": "Inga användare hittades med offentliga profiler."
@ -232,6 +250,16 @@
"settings_page": "Inställningssida", "settings_page": "Inställningssida",
"update": "Uppdatera", "update": "Uppdatera",
"update_error": "Fel vid uppdatering av inställningar", "update_error": "Fel vid uppdatering av inställningar",
"update_success": "Inställningarna har uppdaterats!" "update_success": "Inställningarna har uppdaterats!",
"change_password": "Ändra lösenord",
"invalid_token": "Token är ogiltig eller har gått ut",
"login_redir": "Du kommer då att omdirigeras till inloggningssidan.",
"missing_email": "Vänligen ange en e-postadress",
"password_does_not_match": "Lösenord stämmer inte överens",
"password_is_required": "Lösenord krävs",
"possible_reset": "Om e-postadressen du angav är kopplad till ett konto kommer du att få ett e-postmeddelande med instruktioner för att återställa ditt lösenord!",
"reset_password": "Återställ lösenord",
"submit": "Överlämna",
"token_required": "Token och UID krävs för lösenordsåterställning."
} }
} }

View file

@ -149,7 +149,22 @@
"url": "网址", "url": "网址",
"warning": "警告", "warning": "警告",
"wiki_desc": "从维基百科文章中提取与冒险名称匹配的摘录。", "wiki_desc": "从维基百科文章中提取与冒险名称匹配的摘录。",
"wikipedia": "维基百科" "wikipedia": "维基百科",
"adventure_not_found": "没有任何冒险可以展示。\n使用右下角的加号按钮添加一些或尝试更改过滤器",
"all": "全部",
"error_updating_regions": "更新区域时出错",
"mark_region_as_visited": "将地区 {region}、{country} 标记为已访问?",
"mark_visited": "马克访问过",
"my_adventures": "我的冒险",
"no_adventures_found": "没有发现冒险",
"no_collections_found": "未找到可添加此冒险的集合。",
"no_linkable_adventures": "没有发现任何冒险可以链接到这个集合。",
"not_visited": "未访问过",
"regions_updated": "地区已更新",
"update_visited_regions": "更新访问过的地区",
"update_visited_regions_disclaimer": "这可能需要一段时间,具体取决于您访问过的冒险活动的数量。",
"visited_region_check": "访问地区检查",
"visited_region_check_desc": "通过选择此选项,服务器将检查您访问过的所有冒险活动,并将它们所在的区域标记为在世界旅行中访问过的区域。"
}, },
"home": { "home": {
"desc_1": "轻松发现、规划和探索", "desc_1": "轻松发现、规划和探索",
@ -235,6 +250,16 @@
"settings_page": "设置页面", "settings_page": "设置页面",
"update": "更新", "update": "更新",
"update_error": "更新设置时出错", "update_error": "更新设置时出错",
"update_success": "设置更新成功!" "update_success": "设置更新成功!",
"change_password": "更改密码",
"invalid_token": "令牌无效或已过期",
"login_redir": "然后您将被重定向到登录页面。",
"missing_email": "请输入电子邮件地址",
"password_does_not_match": "密码不匹配",
"password_is_required": "需要密码",
"possible_reset": "如果您提供的电子邮件地址与帐户关联,您将收到一封电子邮件,其中包含重置密码的说明!",
"reset_password": "重置密码",
"submit": "提交",
"token_required": "重置密码需要令牌和 UID。"
} }
} }

View file

@ -10,7 +10,7 @@ export const actions: Actions = {
const email = formData.get('email') as string | null | undefined; const email = formData.get('email') as string | null | undefined;
if (!email) { if (!email) {
return fail(400, { message: 'Email is required' }); return fail(400, { message: 'missing_email' });
} }
let res = await fetch(`${endpoint}/auth/password/reset/`, { let res = await fetch(`${endpoint}/auth/password/reset/`, {

View file

@ -1,29 +1,29 @@
<script lang="ts"> <script lang="ts">
import { enhance } from '$app/forms'; import { enhance } from '$app/forms';
import { page } from '$app/stores'; import { page } from '$app/stores';
import { t } from 'svelte-i18n';
</script> </script>
<h1 class="text-center font-extrabold text-4xl mb-6">Reset Password</h1> <h1 class="text-center font-extrabold text-4xl mb-6">{$t('settings.reset_password')}</h1>
<div class="flex justify-center"> <div class="flex justify-center">
<form method="post" action="?/forgotPassword" class="w-full max-w-xs" use:enhance> <form method="post" action="?/forgotPassword" class="w-full max-w-xs" use:enhance>
<label for="email">Email</label> <label for="email">{$t('auth.email')}</label>
<input <input
name="email" name="email"
type="email" type="email"
id="email" id="email"
class="block mb-2 input input-bordered w-full max-w-xs" class="block mb-2 input input-bordered w-full max-w-xs"
/><br /> /><br />
<button class="py-2 px-4 btn btn-primary mr-2">Reset Password</button> <button class="py-2 px-4 btn btn-primary mr-2">{$t('settings.reset_password')}</button>
{#if $page.form?.message} {#if $page.form?.message}
<div class="text-center text-error mt-4"> <div class="text-center text-error mt-4">
{$page.form?.message} {$t(`settings.${$page.form?.message}`)}
</div> </div>
{/if} {/if}
{#if $page.form?.success} {#if $page.form?.success}
<div class="text-center text-success mt-4"> <div class="text-center text-success mt-4">
If the email address you provided is associated with an account, you will receive an email {$t('settings.possible_reset')}
with instructions to reset your password!
</div> </div>
{/if} {/if}
</form> </form>

View file

@ -25,11 +25,11 @@ export const actions: Actions = {
const uid = formData.get('uid') as string; const uid = formData.get('uid') as string;
if (!new_password1 || !new_password2) { if (!new_password1 || !new_password2) {
return fail(400, { message: 'Password is required' }); return fail(400, { message: 'settings.password_is_required' });
} }
if (new_password1 !== new_password2) { if (new_password1 !== new_password2) {
return fail(400, { message: 'Passwords do not match' }); return fail(400, { message: 'settings.password_does_not_match' });
} }
if (!token || !uid) { if (!token || !uid) {
@ -48,9 +48,7 @@ export const actions: Actions = {
}) })
}); });
if (!response.ok) { if (!response.ok) {
let responseJson = await response.json(); return fail(response.status, { message: 'settings.invalid_token' });
const key = Object.keys(responseJson)[0];
return fail(response.status, { message: responseJson[key] });
} else { } else {
return redirect(302, '/login'); return redirect(302, '/login');
} }

View file

@ -3,14 +3,15 @@
import { goto } from '$app/navigation'; import { goto } from '$app/navigation';
import { page } from '$app/stores'; import { page } from '$app/stores';
import type { PageData } from './$types'; import type { PageData } from './$types';
import { t } from 'svelte-i18n';
export let data: PageData; export let data: PageData;
</script> </script>
<h1 class="text-center font-bold text-4xl mb-4">Change Password</h1> <h1 class="text-center font-bold text-4xl mb-4">{$t('settings.change_password')}</h1>
{#if data.props.token && data.props.uid} {#if data.props.token && data.props.uid}
<p class="text-center">You will then be redirected to the login page.</p> <p class="text-center">{$t('settings.login_redir')}</p>
<div <div
class="modal-action items-center" class="modal-action items-center"
style="display: flex; flex-direction: column; align-items: center; width: 100%;" style="display: flex; flex-direction: column; align-items: center; width: 100%;"
@ -25,7 +26,7 @@
class="input input-bordered w-full" class="input input-bordered w-full"
id="new_password1" id="new_password1"
name="new_password1" name="new_password1"
placeholder="New Password" placeholder={$t('settings.new_password')}
/> />
</div> </div>
<div class="mb-2 w-full"> <div class="mb-2 w-full">
@ -34,13 +35,13 @@
class="input input-bordered w-full" class="input input-bordered w-full"
id="new_password2" id="new_password2"
name="new_password2" name="new_password2"
placeholder="Confirm Password" placeholder={$t('settings.confirm_new_password')}
/> />
</div> </div>
<button type="submit" class="btn btn-primary w-full">Submit</button> <button type="submit" class="btn btn-primary w-full">{$t('settings.submit')}</button>
{#if $page.form?.message} {#if $page.form?.message}
<div class="text-center text-error mt-4"> <div class="text-center text-error mt-4">
{$page.form?.message} {$t($page.form?.message)}
</div> </div>
{/if} {/if}
</form> </form>
@ -48,10 +49,10 @@
{:else} {:else}
<div class="flex justify-center"> <div class="flex justify-center">
<div class="items-center justify-center"> <div class="items-center justify-center">
<p class="text-center">Token and UID are required for password reset.</p> <p class="text-center">{$t('settings.token_required')}</p>
<button class="btn btn-neutral" on:click={() => goto('/settings/forgot-password')}> <button class="btn btn-neutral" on:click={() => goto('/settings/forgot-password')}>
Reset Password {$t('settings.reset_password')}
</button> </button>
</div> </div>
</div> </div>