diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index d59204d9..5e597f90 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -1,1045 +1,1047 @@ { - "navbar": { - "adventures": "Adventures", - "collections": "Collections", - "worldtravel": "World Travel", - "map": "Map", - "users": "Users", - "search": "Search", - "profile": "Profile", - "greeting": "Hi", - "my_adventures": "My Adventures", - "my_tags": "My Tags", - "tag": "Tag", - "shared_with_me": "Shared With Me", - "settings": "Settings", - "logout": "Logout", - "about": "About AdventureLog", - "documentation": "Documentation", - "language_selection": "Language", - "support": "Support", - "calendar": "Calendar", - "theme_selection": "Theme Selection", - "admin_panel": "Admin Panel", - "themes": { - "light": "Light", - "dark": "Dark", - "night": "Night", - "forest": "Forest", - "aestheticLight": "Aesthetic Light", - "aestheticDark": "Aesthetic Dark", - "aqua": "Aqua", - "northernLights": "Northern Lights", - "dim": "Dim" - }, - "navigation": "Navigation" - }, - "about": { - "about": "About", - "license": "Licensed under the GPL-3.0 License.", - "source_code": "Source Code", - "message": "Made with ❤️ in the United States.", - "oss_attributions": "Open Source Attributions", - "nominatim_1": "Location Search and Geocoding is provided by", - "nominatim_2": "Their data is liscensed under the ODbL license.", - "other_attributions": "Additional attributions can be found in the README file.", - "generic_attributions": "Login to AdventureLog to view attributions for enabled integrations and services.", - "close": "Close", - "thank_you": "Thank you for using AdventureLog!", - "version": "Version", - "view_changelog": "View Changelog", - "developer": "Developer", - "attributions": "Attributions", - "license_info": "License", - "view_license": "View License", - "sponsor": "Sponsor" - }, - "home": { - "hero_1": "Discover the World's Most Thrilling Adventures", - "hero_2": "Discover and plan your next adventure with AdventureLog. Explore breathtaking destinations, create custom itineraries, and stay connected on the go.", - "go_to": "Go To AdventureLog", - "key_features": "Key Features", - "desc_1": "Discover, Plan, and Explore with Ease", - "desc_2": "AdventureLog is designed to simplify your journey, providing you with the tools and resources to plan, pack, and navigate your next unforgettable adventure.", - "feature_1": "Travel Log", - "feature_1_desc": "Keep track of your adventures with a personalized travel log and share your experiences with friends and family.", - "feature_2": "Trip Planning", - "feature_2_desc": "Easily create custom itineraries and get a day-by-day breakdown of your trip.", - "feature_3": "Travel Map", - "feature_3_desc": "View your travels throughout the world with an interactive map and explore new destinations.", - "start_your_journey": "Start Your Journey", - "of_world": "of the world", - "explore_world": "Explore World", - "latest_travel_experiences": "Your latest travel experiences" - }, - "adventures": { - "collection_remove_location_success": "Location removed from collection successfully!", - "collection_remove_location_error": "Error removing location from collection", - "collection_link_location_success": "Location linked to collection successfully!", - "invalid_date_range": "Invalid date range", - "timezone": "Timezone", - "no_visits": "No visits", - "departure_timezone": "Departure Timezone", - "arrival_timezone": "Arrival Timezone", - "departure_date": "Departure Date", - "arrival_date": "Arrival Date", - "no_image_found": "No image found", - "collection_link_location_error": "Error linking location to collection", - "location_delete_confirm": "Are you sure you want to delete this location? This action cannot be undone.", - "checklist_delete_confirm": "Are you sure you want to delete this checklist? This action cannot be undone.", - "note_delete_confirm": "Are you sure you want to delete this note? This action cannot be undone.", - "transportation_delete_confirm": "Are you sure you want to delete this transportation? This action cannot be undone.", - "lodging_delete_confirm": "Are you sure you want to delete this lodging location? This action cannot be undone.", - "delete_checklist": "Delete Checklist", - "delete_note": "Delete Note", - "delete_transportation": "Delete Transportation", - "delete_lodging": "Delete Lodging", - "open_details": "Open Details", - "edit_adventure": "Edit Adventure", - "edit_location": "Edit Location", - "remove_from_collection": "Remove from Collection", - "add_to_collection": "Add to Collection", - "delete": "Delete", - "location_not_found": "Location not found", - "location_not_found_desc": "The location you were looking for could not be found. Please try a different location or check back later.", - "homepage": "Homepage", - "collection": "Collection", - "longitude": "Longitude", - "latitude": "Latitude", - "visit": "Visit", - "timed": "Timed", - "check_in": "Check In", - "check_out": "Check Out", - "coordinates": "Coordinates", - "copy_coordinates": "Copy Coordinates", - "visits": "Visits", - "create_new": "Create New...", - "adventure": "Adventure", - "count_txt": "results matching your search", - "sort": "Sort", - "order_by": "Order By", - "order_direction": "Order Direction", - "ascending": "Ascending", - "descending": "Descending", - "updated": "Updated", - "name": "Name", - "date": "Date", - "activity_types": "Activity Types", - "tags": "Tags", - "add_a_tag": "Add a tag", - "date_constrain": "Constrain to collection dates", - "rating": "Rating", - "my_images": "My Images", - "no_images": "No Images", - "distance": "Distance", - "share_location": "Share this Location!", - "share_collection": "Share this Collection!", - "copy_link": "Copy Link", - "sun_times": "Sun Times", - "sunrise": "Sunrise", - "sunset": "Sunset", - "image": "Image", - "upload_image": "Upload Image", - "open_in_maps": "Open in Maps", - "url": "URL", - "fetch_image": "Fetch Image", - "wikipedia": "Wikipedia", - "add_notes": "Add notes", - "warning": "Warning", - "my_adventures": "My Adventures", - "no_linkable_adventures": "No adventures found that can be linked to this collection.", - "add": "Add", - "save_next": "Save & Next", - "end_date": "End Date", - "start_date": "Start Date", - "remove": "Remove", - "location": "Location", - "search_for_location": "Search for a location", - "clear_map": "Clear map", - "search_results": "Search Results", - "collection_no_start_end_date": "Adding a start and end date to the collection will unlock itinerary planning features in the collection page.", - "no_results": "No results found", - "wiki_location_desc": "Pulls excerpt from Wikipedia article matching the name of the location.", - "attachments": "Attachments", - "attachment": "Attachment", - "images": "Images", - "image_modal_navigate": "Use arrow keys or click to navigate", - "generate_desc": "Generate Description", - "public_location": "Public Location", - "location_information": "Location Information", - "link": "Link", - "links": "Links", - "description": "Description", - "sources": "Sources", - "collection_adventures": "Include Collection Adventures", - "collection_locations": "Include Collection Locations", - "filter": "Filter", - "category_filter": "Category Filter", - "category": "Category", - "clear": "Clear", - "my_collections": "My Collections", - "open_filters": "Open Filters", - "archived_collections": "Archived Collections", - "share": "Share", - "private": "Private", - "public": "Public", - "archived": "Archived", - "name_location": "name, location", - "loading_adventures": "Loading adventures...", - "all_adventures_already_linked": "All adventures are already linked to this collection.", - "edit_collection": "Edit Collection", - "unarchive": "Unarchive", - "archive": "Archive", - "no_collections_to_add_location": "No collections found to add this location to.", - "create_collection_first": "Create a collection first to organize your adventures and memories.", - "done": "Done", - "adventures_available": "Adventures Available", - "collections_linked": "Collections Linked", - "not_visited": "Not Visited", - "archived_collection_message": "Collection archived successfully!", - "unarchived_collection_message": "Collection unarchived successfully!", - "delete_collection_success": "Collection deleted successfully!", - "cancel": "Cancel", - "delete_collection_warning": "Are you sure you want to delete this collection? This action cannot be undone.", - "delete_collection": "Delete Collection", - "delete_location": "Delete Location", - "location_delete_success": "Location deleted successfully!", - "visited": "Visited", - "planned": "Planned", - "duration": "Duration", - "all": "All", - "image_removed_success": "Image removed successfully!", - "image_removed_error": "Error removing image", - "no_image_url": "No image found at that URL.", - "image_upload_success": "Image uploaded successfully!", - "image_upload_error": "Error uploading image", - "dates": "Dates", - "wiki_image_error": "Error fetching image from Wikipedia", - "start_before_end_error": "Start date must be before end date", - "actions": "Actions", - "see_adventures": "See Adventures", - "image_fetch_failed": "Failed to fetch image", - "no_location": "Please enter a location", - "no_description_found": "No description found", - "location_created": "Location created", - "location_create_error": "Failed to create location", - "lodging": "Lodging", - "create_location": "Create Location", - "location_updated": "Location updated", - "location_update_error": "Failed to update location", - "set_to_pin": "Set to Pin", - "category_fetch_error": "Error fetching categories", - "new_location": "New Location", - "basic_information": "Basic Information", - "no_locations_to_recommendations": "No locations found. Add at least one location to get recommendations.", - "display_name": "Display Name", - "adventure_not_found": "There are no adventures to display. Add some using the plus button at the bottom right or try changing filters!", - "collection_contents": "Collection Contents", - "no_adventures_found": "No adventures found", - "no_locations_found": "No locations found", - "no_adventures_message": "Start documenting your adventures and planning new ones. Every journey has a story worth telling.", - "mark_visited": "Mark Visited", - "error_updating_regions": "Error updating regions", - "regions_updated": "regions updated", - "cities_updated": "cities updated", - "visited_region_check": "Visited Region Check", - "visited_region_check_desc": "By selecting this, the server will check all of your visited adventures and mark the regions they are located in as visited in world travel.", - "update_visited_regions": "Update Visited Regions", - "update_visited_regions_disclaimer": "This may take a while depending on the number of adventures you have visited.", - "link_new": "Link New...", - "add_new": "Add New...", - "transportation": "Transportation", - "note": "Note", - "checklist": "Checklist", - "collection_archived": "This collection has been archived.", - "visit_link": "Visit Link", - "collection_completed": "You've completed this collection!", - "collection_stats": "Collection Stats", - "keep_exploring": "Keep Exploring!", - "linked_adventures": "Linked Adventures", - "notes": "Notes", - "checklists": "Checklists", - "transportations": "Transportations", - "adventure_calendar": "Adventure Calendar", - "visit_calendar": "Visit Calendar", - "day": "Day", - "itineary_by_date": "Itinerary by Date", - "nothing_planned": "Nothing planned for this day. Enjoy the journey!", - "copied_to_clipboard": "Copied to clipboard!", - "copy_failed": "Copy failed", - "show": "Show", - "hide": "Hide", - "clear_location": "Clear Location", - "starting_airport": "Starting Airport", - "view_profile": "View Profile", - "joined": "Joined", - "ending_airport": "Ending Airport", - "no_location_found": "No location found", - "from": "From", - "to": "To", - "will_be_marked_location": "will be marked as visited once the location is saved.", - "start": "Start", - "end": "End", - "emoji_picker": "Emoji Picker", - "download_calendar": "Download Calendar", - "all_day": "All Day", - "ordered_itinerary": "Ordered Itinerary", - "itinerary": "Itinerary", - "all_linked_items": "All Linked Items", - "date_itinerary": "Date Itinerary", - "no_ordered_items": "Add items with dates to the collection to see them here.", - "date_information": "Date Information", - "flight_information": "Flight Information", - "out_of_range": "Not in itinerary date range", - "preview": "Preview", - "finding_recommendations": "Discovering hidden gems for your next adventure", - "location_details": "Location Details", - "city": "City", - "region": "Region", - "md_instructions": "Write your markdown here...", - "days": "days", - "attachment_upload_success": "Attachment uploaded successfully!", - "attachment_upload_error": "Error uploading attachment", - "upload": "Upload", - "attachment_delete_success": "Attachment deleted successfully!", - "attachment_update_success": "Attachment updated successfully!", - "attachment_name": "Attachment Name", - "gpx_tip": "Upload GPX files to attachments to view them on the map!", - "attachment_update_error": "Error updating attachment", - "activities": {}, - "lodging_information": "Lodging Information", - "price": "Price", - "reservation_number": "Reservation Number", - "filters_and_sort": "Filters & Sort", - "filters_and_stats": "Filters & Stats", - "travel_progress": "Travel Progress", - "left_collection_message": "Successfully left collection", - "leave_collection": "Leave Collection", - "leave": "Leave", - "leave_collection_warning": "Are you sure you want to leave this collection? Any locations you added will be unlinked and remain in your account.", - "loading_collections": "Loading collections...", - "quick_start": "Quick Start", - "details": "Details", - "search_location": "Search for a location", - "search_placeholder": "Enter city, location, or landmark...", - "searching": "Searching", - "use_current_location": "Use Current Location", - "select_on_map": "Select on Map", - "click_map": "Click on the map to select a location", - "getting_location_details": "Getting location details", - "location_selected": "Location Selected", - "continue": "Continue", - "update_location_details": "Update location details", - "create_new_location": "Create new location", - "wikipedia_error": "Failed to generate description from Wikipedia", - "public_location_description": "Make this location visible to other users", - "location_map": "Location & Map", - "location_display_name": "Location Display Name", - "or": "OR", - "click_on_map": "Click on the map to select a location", - "back": "Back", - "processing": "Processing", - "no_file_selected": "No file selected", - "attachment_name_required": "Attachment name required", - "attachment_updated": "Attachment updated successfully", - "attachment_removed": "Attachment removed successfully", - "attachment_remove_error": "An error occured while removing the attachment", - "trail_link_required": "A trail link is required", - "trail_created_successfully": "Trail created successfully", - "trail_creation_failed": "Failed to create trail", - "trail_fetch_failed": "Failed to fetch Wanderer trails", - "trail_updated_successfully": "Trail updated successfully", - "trail_update_failed": "Failed to update trail", - "trail_removed_successfully": "Trail removed successfully", - "trail_removal_failed": "Failed to remove trail", - "image_management": "Image Management", - "upload_from_device": "Upload From Device", - "upload_from_url": "Upload From URL", - "no_images_uploaded_yet": "No images uploaded yet", - "upload_first_image": "Upload your first image using one of the options above", - "attachment_management": "Attachment Management", - "upload_attachment": "Upload Attachment", - "no_attachments_uploaded_yet": "No attachments uploaded yet", - "upload_first_attachment": "Upload your first attachment using the options above", - "trails_management": "Trails Management", - "trails_management_description": "Manage trails associated with this location. Trails can be linked to external services like AllTrails or link to Wanderer trails.", - "add_new_trail": "Add New Trail", - "create_trail": "Create Trail", - "add_wanderer_trail": "Add Wanderer Trail", - "select_wanderer_trail": "Select a trail from your Wanderer account", - "trails_found_for": "trails found for", - "no_trails_found_matching": "No trails found matching", - "no_trails_available": "No Trails Available", - "wanderer_integration_error": "Wanderer integration is not enabled or has expired.", - "no_external_link": "No external link available", - "no_trails_added": "No trails added yet", - "add_first_trail": "Add your first trail using the button above", - "search_trails_placeholder": "Search trails by name", - "trail_name": "Trail Name", - "external_link": "External Link", - "add_trail": "Add Trail", - "created": "Created", - "photos": "Photos", - "view_gpx": "View GPX", - "gain": "gain", - "likes": "Likes", - "view_trail": "View Trail", - "time": "Time", - "trail": "Trail", - "import_activity": "Import activity", - "activity_options": "Activity options", - "export_gpx": "Export GPX", - "export_original": "Export Original", - "view_on": "View on", - "moving_time": "Moving Time", - "avg_speed": "Average Speed", - "elevation": "Elevation", - "cadence": "Cadence", - "calories": "Calories", - "achievements": "Achievements", - "pace": "Pace", - "max_speed": "Max Speed", - "previous_image": "Previous image", - "next_image": "Next image", - "trails": "Trails", - "date_selection": "Date Selection", - "notes_placeholder": "Add notes about this visit", - "no_visits_description": "Create your first visit by selecting dates above", - "saved_activities": "Saved Activities", - "view_strava_activities": "View Strava activities", - "complete_strava_import": "Complete Strava Import", - "add_new_activity": "Add New Activity", - "strava_activity_ready": "Strava Activity Ready", - "gpx_file_downloaded": "GPX file downloaded. Please upload it below to complete the import.", - "gpx_file_required": "GPX File Required", - "upload_gpx_file": "Upload the GPX file that was just downloaded to complete the Strava import", - "activity_name": "Activity Name", - "activity_name_placeholder": "Morning Run", - "sport_type": "Sport Type", - "sport_type_placeholder": "Trail Running", - "elapsed_time": "Elapsed Time", - "elevation_gain": "Elevation Gain", - "elevation_loss": "Elevation Loss", - "elevation_high": "Elevation High", - "elevation_low": "Elevation Low", - "rest_time": "Rest Time", - "start_lat": "Start Latitude", - "start_lng": "Start Longitude", - "end_lat": "End Latitude", - "end_lng": "End Longitude", - "average_speed": "Average Speed", - "average_cadence": "Average Cadence", - "gpx_file": "GPX File", - "importing": "Importing", - "uploading": "Uploading", - "upload_activity": "Upload Activity", - "complete_import": "Complete Import", - "loading_activities": "Loading activities", - "no_strava_activities": "No Strava activities found during this visit", - "current_attachments": "Current Attachments", - "connect_to_wanderer": "Connect to Wanderer", - "activity_statistics": "Activity Statistics", - "activity_statistics_description": "Your fitness and activity achievements", - "activities_name": "Activities", - "total_recorded": "Total recorded", - "total_covered": "Total covered", - "active_duration": "Active duration", - "activity_name_required": "Activity name is required", - "confirm_delete_activity": "Are you sure you want to delete this activity?", - "update_visit": "Update Visit", - "add_visit": "Add Visit", - "add_activity": "Add Activity", - "edit_visit": "Edit Visit", - "remove_visit": "Remove Visit", - "download_gpx": "Download GPX", - "strava_activities_during_visit": "Strava Activities During Visit", - "total": "Total", - "rest": "Rest", - "high": "High", - "low": "Low", - "route_map": "Route Map", - "selected_images": "Selected Images", - "selected_attachments": "Selected Attachments", - "my_attachments": "My Attachments", - "linked_locations": "Linked Locations", - "lodging_save_error": "Error saving lodging", - "attachment_removed_success": "Attachment removed sucessfully", - "attachment_removed_error": "Error removing attachment", - "no_attachments": "No Attachments", - "no_attachments_desc": "Upload files to get started", - "attachments_upload_info": "Attachments will be uploaded after saving the", - "image_upload_info": "Images will be uploaded after saving the", - "no_images_desc": "Upload images to get started", - "activities_text": "activities", - "total_climbed": "Total climbed", - "distance_covered": "Distance covered", - "total_distance": "Total Distance", - "total_activities": "Total Activities", - "recorded_sessions": "Recorded sessions", - "activity_breakdown_by_category": "Activity Breakdown by Category", - "dates_not_saved": "Visit Not Added Yet", - "dates_not_saved_description": "Click add visit to save" - }, - "worldtravel": { - "country_list": "Country List", - "num_countries": "countries found", - "cities_in": "Cities in", - "all": "All", - "partially_visited": "Partially Visited", - "not_visited": "Not Visited", - "completely_visited": "Completely Visited", - "all_subregions": "All Subregions", - "clear_search": "Clear Search", - "no_countries_found": "No countries found", - "no_countries_found_desc": "Try adjusting your search terms or filters to find the countries you're looking for.", - "clear_filters": "Clear Filters", - "view_cities": "View Cities", - "no_cities_found": "No cities found", - "visit_to": "Visit to", - "region_failed_visited": "Failed to mark region as visited", - "failed_to_mark_visit": "Failed to mark visit to", - "visit_remove_failed": "Failed to remove visit", - "removed": "removed", - "failed_to_remove_visit": "Failed to remove visit to", - "marked_visited": "marked as visited", - "regions_in": "Regions in", - "cities": "cities", - "remaining": "Remaining", - "of": "of", - "countries": "countries", - "show_map": "Show Map", - "hide_map": "Hide Map", - "complete": "Complete", - "partial": "Partial", - "clear_all": "Clear All", - "no_country_data_available": "No country data available", - "no_country_data_available_desc": "Please check the documentation for updating region data.", - "total_countries": "Total Countries", - "available_to_explore": "Available to Explore", - "progress": "Progress", - "filter_by_region": "Filter by Region", - "all_regions": "All Regions", - "clear_all_filters": "Clear All Filters", - "total_items": "Total Items", - "filter_by": "Filter by", - "interactive_map": "Interactive Map", - "no_regions_found": "No regions found", - "progress_and_stats": "Progress & Stats", - "total_regions": "Total Regions", - "country_completed": "Country completed", - "show_map_labels": "Show Map Labels", - "hide_map_labels": "Hide Map Labels", - "total_cities": "Total Cities", - "region_completed": "Region completed", - "newest_first": "Newest First", - "oldest_first": "Oldest First", - "visited_first": "Visited First", - "unvisited_first": "Unvisited First", - "getting_location_details": "Getting location details", - "hide_globe_spin": "Hide Globe Spin", - "show_globe_spin": "Show Globe Spin", - "loading_globe_spin": "Loading Globe Spin", - "spinning_globe": "Spinning Globe", - "destination_revealed": "Destination Revealed!", - "your_random_adventure_awaits": "Your Random Adventure Awaits!", - "exploration_progress": "Exploration Progress", - "dive_deeper": "Dive Deeper", - "cities_available": "Cities Available", - "in": "in", - "explore_country": "Explore Country", - "spin_again": "Spin Again", - "globe_spin_error_desc": "Error fetching globe spin data", - "try_again": "Try Again", - "no_globe_spin_data": "No Globe Spin Data", - "show_less": "Show Less", - "show_more": "Show More", - "about_country": "About Country", - "about_region": "About Region" - }, - "auth": { - "username": "Username", - "password": "Password", - "forgot_password": "Forgot Password?", - "signup": "Signup", - "login_error": "Unable to login with the provided credentials.", - "login": "Login", - "email": "Email", - "first_name": "First Name", - "last_name": "Last Name", - "confirm_password": "Confirm Password", - "registration_disabled": "Registration is currently disabled.", - "profile_picture": "Profile Picture", - "public_profile": "Public Profile", - "public_tooltip": "With a public profile, users can share collections with you and view your profile on the users page.", - "new_password": "New Password (6+ characters)", - "or_3rd_party": "Or login with a third-party service", - "no_public_locations": "No public locations found", - "no_public_collections": "No public collections found", - "user_locations": "User Locations", - "user_collections": "User Collections", - "enter_username": "Enter your username", - "enter_password": "Enter your password", - "totp": "Two-Factor Code", - "logging_in": "Logging in" - }, - "users": { - "no_users_found": "No users found with public profiles." - }, - "settings": { - "update_error": "Error updating settings", - "update_success": "Settings updated successfully!", - "settings_page": "Settings Page", - "account_settings": "User Account Settings", - "update": "Update", - "no_verified_email_warning": "You must have a verified email address to enable two-factor authentication.", - "social_auth": "Social Authentication", - "social_auth_desc_1": "Manage social login options and password settings", - "password_auth": "Password Authentication", - "password_login_enabled": "Password login enabled", - "password_login_disabled": "Password login disabled", - "password_change": "Change Password", - "new_password": "New Password", - "confirm_new_password": "Confirm New Password", - "email_change": "Change Email", - "no_email_set": "No email set", - "email_management": "Email Management", - "email_management_desc": "Manage your email addresses and verification status", - "add_new_email": "Add New Email", - "add_new_email_address": "Add New Email Address", - "enter_new_email": "Enter new email address", - "new_email": "New Email", - "change_password": "Change Password", - "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!", - "about_this_background": "About this background", - "photo_by": "Photo by", - "join_discord": "Join the Discord", - "join_discord_desc": "to share your own photos. Post them in the #travel-share channel.", - "current_password": "Current Password", - "password_change_lopout_warning": "You will be logged out after changing your password.", - "generic_error": "An error occurred while processing your request.", - "email_removed": "Email removed successfully!", - "email_removed_error": "Error removing email", - "verify_email_success": "Email verification sent successfully!", - "verify_email_error": "Error verifying email. Try again in a few minutes.", - "email_added": "Email added successfully!", - "email_set_primary": "Email set as primary successfully!", - "email_set_primary_error": "Error setting email as primary", - "verified": "Verified", - "primary": "Primary", - "not_verified": "Not Verified", - "make_primary": "Make Primary", - "verify": "Verify", - "no_emai_set": "No email set", - "mfa_disabled": "Multi-factor authentication disabled successfully!", - "mfa_page_title": "Multi-Factor Authentication", - "mfa_desc": "Add an extra layer of security to your account", - "enable_mfa": "Enable MFA", - "disable_mfa": "Disable MFA", - "enabled": "Enabled", - "disabled": "Disabled", - "mfa_not_enabled": "MFA is not enabled", - "mfa_is_enabled": "MFA is enabled", - "mfa_enabled": "Multi-factor authentication enabled successfully!", - "copy": "Copy", - "recovery_codes": "Recovery Codes", - "recovery_codes_desc": "These are your recovery codes. Keep them safe. You will not be able to see them again.", - "reset_session_error": "Please logout and back in to refresh your session and try again.", - "authenticator_code": "Authenticator Code", - "email_verified": "Email verified successfully!", - "email_verified_success": "Your email has been verified. You can now log in.", - "email_verified_error": "Error verifying email", - "email_verified_erorr_desc": "Your email could not be verified. Please try again.", - "launch_administration_panel": "Launch Administration Panel", - "administration": "Administration", - "admin_panel_desc": "Access the full administration interface", - "region_updates": "Region Updates", - "debug_information": "Debug Information", - "staff_status": "Staff Status", - "staff_user": "Staff User", - "regular_user": "Regular User", - "app_version": "App Version", - "quick_actions": "Quick Actions", - "license": "License", - "all_rights_reserved": "All rights reserved.", - "region_updates_desc": "Update visited regions and cities", - "access_restricted": "Access Restricted", - "access_restricted_desc": "Administrative features are only available to staff members.", - "advanced_settings": "Advanced Settings", - "advanced_settings_desc": "Advanced configuration and development tools", - "social_auth_setup": "Social Authentication Setup", - "administration_desc": "Administrative tools and settings", - "social_auth_desc": "Enable or disable social and OIDC authentication providers for your account. These connections allow you to sign in with self hosted authentication identity providers like Authentik or 3rd party providers like GitHub.", - "social_auth_desc_2": "These settings are managed in the AdventureLog server and must be manually enabled by the administrator.", - "documentation_link": "Documentation Link", - "launch_account_connections": "Launch Account Connections", - "add_email": "Add Email", - "password_enabled": "Password authentication enabled", - "password_disabled": "Password authentication disabled", - "password_disable_warning": "Currently, password authentication is disabled. Login via a social or OIDC provider is required.", - "password_disabled_error": "Error disabling password authentication. Make sure a social or OIDC provider is linked to your account.", - "password_enabled_error": "Error enabling password authentication.", - "settings_menu": "Settings Menu", - "security": "Security", - "emails": "Emails", - "integrations": "Integrations", - "integrations_desc": "Connect external services to enhance your experience", - "admin": "Admin", - "advanced": "Advanced", - "profile_info": "Profile Information", - "profile_info_desc": "Update your personal details and profile picture", - "public_profile_desc": "Make your profile visible to other users", - "pass_change_desc": "Update your account password for better security", - "enter_first_name": "Enter your first name", - "enter_last_name": "Enter your last name", - "enter_username": "Enter your username", - "enter_current_password": "Enter current password", - "enter_new_password": "Enter new password", - "connected": "Connected", - "disconnected": "Disconnected", - "invalid_credentials": "Invalid credentials", - "backup_restore": "Backup & Restore", - "backup_restore_desc": "Save your data or restore it from a previous backup file.", - "whats_included": "What's included", - "mfa_required": "MFA Required", - "secure_your_account": "Secure your account", - "setup_required": "Setup Required", - "scan_qr_code": "Scan QR Code", - "scan_with_authenticator_app": "Scan with authenticator app", - "manual_entry": "Manual Entry", - "verify_setup": "Verify Setup", - "enter_6_digit_code": "Enter 6 digit code", - "enter_code_from_app": "Enter code from app", - "copy_all": "Copy all", - "important": "Important", - "error_occurred": "An error has occurred", - "mfa_already_enabled": "MFA already enabled", - "complete_setup_to_enable": "Complete setup to enable MFA", - "world_travel_visits": "World Travel Visits", - "media": "Media", - "integrations_settings": "Integrations Settings", - "backup_your_data": "Backup Your Data", - "backup_your_data_desc": "Download a complete backup of your account data including locations, \t\t\t\t\t\t\t\t\t\tcollections, media, and visits.", - "restore_data": "Restore Data", - "restore_data_desc": "Upload a backup file to restore your data.", - "data_override_warning": "Data Override Warning", - "data_override_warning_desc": "Restoring data will completely replace all existing data (that is included \t\t\t\t\t\t\t\t\t\t\t\tin the backup) in your account. This action cannot be undone.", - "select_backup_file": "Select backup file", - "data_override_acknowledge": "I acknowledge that this will override all my existing data", - "data_override_acknowledge_desc": "This action is irreversible and will replace all locations, collections, \t\t\t\t\t\t\t\t\t\t\t\t\t\tand visits in your account.", - "use_imperial": "Use Imperial Units", - "use_imperial_desc": "Use imperial units (feet, inches, pounds) instead of metric units", - "trails": "Trails", - "activities": "Activities" - }, - "collection": { - "collection_created": "Collection created successfully!", - "error_creating_collection": "Error creating collection", - "new_collection": "New Collection", - "create": "Create", - "collection_edit_success": "Collection edited successfully!", - "error_editing_collection": "Error editing collection", - "public_collection": "Public Collection", - "manage_collections": "Manage Collections", - "no_collections_yet": "No collections yet", - "no_shared_collections": "No shared collections.", - "shared_collections": "Shared Collections", - "no_archived_collections": "No archived collections.", - "create_first": "Create your first collection to organize your adventures and memories.", - "make_sure_public": "Make sure your profile is public so others can share with you.", - "archived_appear_here": "Archived collections will appear here.", - "linked": "Linked", - "available": "Available", - "try_different_search": "Try a different search or filter." - }, - "notes": { - "note_deleted": "Note deleted successfully!", - "note_delete_error": "Error deleting note", - "open": "Open", - "failed_to_save": "Failed to save note", - "note_editor": "Note Editor", - "note_viewer": "Note Viewer", - "editing_note": "Editing Note", - "content": "Content", - "save": "Save", - "note_public": "This note is public because it is in a public collection.", - "add_a_link": "Add a link", - "invalid_url": "Invalid URL", - "enter_note_title": "Enter note title", - "update_note_details": "Editing note", - "create_new_note": "Create new note", - "viewing_note": "Viewing note" - }, - "checklist": { - "checklist_deleted": "Checklist deleted successfully!", - "checklist_delete_error": "Error deleting checklist", - "checklist_editor": "Checklist Editor", - "new_checklist": "New Checklist", - "item": "Item", - "items": "Items", - "new_item": "New Item", - "checklist_public": "This checklist is public because it is in a public collection.", - "item_cannot_be_empty": "Item cannot be empty", - "item_already_exists": "Item already exists", - "editing_checklist": "Editing Checklist", - "checklist_viewer": "Checklist Viewer", - "update_checklist_details": "Editing checklist", - "viewing_checklist": "Viewing checklist", - "enter_checklist_title": "Enter checklist title", - "add_new_item": "Add New Item", - "current_items": "Current Items", - "completed": "Completed", - "no_items_yet": "No Items Yet", - "add_your_first_item": "Add your first item" - }, - "transportation": { - "transportation_deleted": "Transportation deleted successfully!", - "transportation_delete_error": "Error deleting transportation", - "type": "Type", - "new_transportation": "New Transportation", - "flight_number": "Flight Number", - "from_location": "From Location", - "to_location": "To Location", - "fetch_location_information": "Fetch Location Information", - "starting_airport_desc": "Enter starting airport code (e.g., JFK)", - "ending_airport_desc": "Enter ending airport code (e.g., LAX)", - "edit": "Edit", - "modes": { - "car": "Car", - "plane": "Plane", - "train": "Train", - "bus": "Bus", - "boat": "Boat", - "bike": "Bike", - "walking": "Walking", - "other": "Other" - }, - "edit_transportation": "Edit Transportation", - "update_transportation_details": "Update Transportation Details", - "create_new_transportation": "New Transportation", - "enter_transportation_name": "Enter transportation name", - "select_type": "Select Type", - "enter_link": "Enter link", - "enter_flight_number": "Enter flight number", - "enter_from_location": "Enter from location", - "enter_to_location": "Enter to location" - }, - "lodging": { - "new_lodging": "New Lodging", - "edit": "Edit", - "edit_lodging": "Edit Lodging", - "hotel": "Hotel", - "hostel": "Hostel", - "resort": "Resort", - "bnb": "Bed and Breakfast", - "campground": "Campground", - "cabin": "Cabin", - "apartment": "Apartment", - "house": "House", - "villa": "Villa", - "motel": "Motel", - "other": "Other", - "reservation_number": "Reservation Number", - "update_lodging_details": "Update Lodging Details", - "create_new_lodging": "New Lodging", - "enter_lodging_name": "Enter lodging name", - "enter_reservation_number": "Enter reservation number", - "enter_price": "Enter price" - }, - "search": { - "adventurelog_results": "AdventureLog Results", - "public_adventures": "Public Adventures", - "online_results": "Online Results", - "result": "Result", - "results": "Results", - "found": "found", - "try_searching_desc": "Try searching for adventures, collections, countries, regions, cities, or users.", - "countries": "Countries", - "cities": "Cities" - }, - "map": { - "view_details": "View Details", - "adventure_map": "Adventure Map", - "location_map": "Location Map", - "map_options": "Map Options", - "show_visited_regions": "Show Visited Regions", - "add_adventure_at_marker": "Add New Adventure at Marker", - "add_location_at_marker": "Add New Location at Marker", - "clear_marker": "Clear Marker", - "add_adventure": "Add New Adventure", - "add_location": "Add New Location", - "adventure_stats": "Adventure Stats", - "map_controls": "Map Controls", - "regions": "Regions", - "completion": "Completion", - "display_options": "Display Options", - "marker_placed_on_map": "Marker placed on map", - "place_marker_desc_location": "Click on the map to place a marker.", - "locations_shown": "locations shown", - "show_activities": "Show Activities", - "show_visited_cities": "Visited Cities" - }, - "share": { - "shared": "Shared", - "with": "with", - "unshared": "Unshared", - "share_desc": "Share this collection with other users.", - "shared_with": "Shared With", - "no_users_shared": "No users shared with", - "not_shared_with": "Not Shared With", - "no_shared_found": "No collections found that are shared with you.", - "set_public": "In order to allow users to share with you, you need your profile set to public.", - "go_to_settings": "Go to settings", - "revoke_invite": "Revoke Invite", - "send_invite": "Send Invite", - "available": "Available", - "pending": "Pending", - "available_users": "Available Users", - "revoke_failed": "Revoke Failed", - "invite_revoked": "Invite Revoked", - "unshare_failed": "Unshare Failed", - "invite_failed": "Invite Failed", - "invite_sent": "Invite Sent" - }, - "languages": {}, - "profile": { - "member_since": "Member since", - "user_stats": "User Stats", - "visited_countries": "Visited Countries", - "visited_regions": "Visited Regions", - "visited_cities": "Visited Cities", - "travel_statistics": "Travel Statistics", - "your_journey_at_a_glance": "Your adventure journey at a glance", - "planned_trips": "Planned trips", - "discovered": "discovered", - "explored": "explored", - "public_location_experiences": "Public location experiences", - "no_shared_adventures": "This user hasn't shared any public adventures yet.", - "no_shared_collections": "This user hasn't shared any public collections yet." - }, - "categories": { - "manage_categories": "Manage Categories", - "no_categories_found": "No categories found.", - "edit_category": "Edit Category", - "icon": "Icon", - "location_update_after_refresh": "The location cards will be updated once you refresh the page.", - "select_category": "Select Category", - "category_name": "Category Name", - "add_new_category": "Add New Category", - "name_required": "Category name is required" - }, - "dashboard": { - "welcome_back": "Welcome back", - "countries_visited": "Countries Visited", - "total_adventures": "Total Adventures", - "total_visited_regions": "Total Visited Regions", - "total_visited_cities": "Total Visited Cities", - "recent_adventures": "Recent Adventures", - "no_recent_adventures": "No recent adventures?", - "add_some": "Why not start planning your next adventure? You can add a new adventure by clicking the button below.", - "document_some_adventures": "Start documenting your travels and build your personal adventure map!", - "view_all": "View All", - "welcome_text_1": "You've been on", - "welcome_text_2": "adventures so far", - "welcome_text_3": "Keep exploring and documenting your travels!" - }, - "immich": { - "immich": "Immich", - "integration_fetch_error": "Error fetching data from the Immich integration", - "no_items_found": "No items found", - "load_more": "Load More", - "immich_error": "Error updating Immich integration", - "immich_disabled": "Immich integration disabled successfully!", - "disable": "Disable", - "server_url": "Immich Server URL", - "api_note": "Note: this must be the URL to the Immich API server so it likely ends with /api unless you have a custom config.", - "api_key": "Immich API Key", - "enable_integration": "Enable Integration", - "update_integration": "Update Integration", - "immich_integration_desc": "Connect your Immich photo management server", - "localhost_note": "Note: localhost will most likely not work unless you have setup docker networks accordingly. It is recommended to use the IP address of the server or the domain name.", - "api_key_placeholder": "Enter your Immich API key", - "need_help": "Need help setting this up? Check out the", - "copy_locally": "Copy Images Locally", - "copy_locally_desc": "Copy images to the server for offline access. Uses more disk space.", - "error_saving_image": "Error saving image", - "connection_error": "Error connecting to Immich server", - "integration_already_exists": "An Immich integration already exists. You can only have one integration at a time.", - "integration_not_found": "Immich integration not found. Please create a new integration.", - "validation_error": "An error occurred while validating the Immich integration. Please check your server URL and API key.", - "network_error": "Network error while connecting to the Immich server. Please check your connection and try again.", - "fetch_error": "Error fetching data from the Immich integration", - "error_no_object_id": "No object ID was provided", - "by_date": "By Date", - "by_album": "By Album", - "image_search_placeholder": "Search using Immich", - "select_date": "Select Date", - "select_album": "Select Album", - "loading_albums": "Loading Albums", - "loading": "Loading", - "no_images": "No Images Found", - "try_different_date": "Try a different date", - "select_album_first": "Select an Album First" - }, - "google_maps": { - "google_maps_integration_desc": "Connect your Google Maps account to get high-quality location search results and recommendations.", - "google_maps_integration_desc_no_staff": "This integration must first be enabled by the admin on this server." - }, - "recomendations": { - "recommendation": "Recommendation", - "recommendations": "Recommendations", - "location_recommendations": "Location Recommendations", - "food": "Food", - "tourism": "Tourism" - }, - "calendar": { - "today": "Today", - "month": "Month", - "week": "Week", - "day": "Day", - "events_scheduled": "events scheduled", - "total_events": "Total Events", - "calendar_overview": "Calendar Overview", - "filtered_results": "Filtered Results", - "all_day_event": "All Day Event" - }, - "locations": { - "location": "Location", - "locations": "Locations", - "my_locations": "My Locations" - }, - "settings_download_backup": "Download Backup", - "invites": { - "accepted": "Invite accepted", - "accept_failed": "Failed to accept invite", - "declined": "Invite declined", - "decline_failed": "Failed to decline invite", - "title": "Invites", - "pending_invites": "Pending Invites", - "no_invites": "No invites", - "decline": "Decline", - "accept": "Accept", - "invited_on": "Invited on", - "no_invites_desc": "Make sure your profile is public so users can invite you.", - "by": "by" - }, - "strava": { - "strava_integration_desc": "Connect to Strava to easily import your activties into locations and visits", - "not_configured": "Strava Not Configured", - "admin_setup_required": "The server administrator must enable it globally", - "ready_to_connect": "Ready to Connect", - "connect_account": "Connect Account", - "account_connected": "Account Connected", - "disconnect": "Disconnect", - "authorization_error": "Error redirecting to strava authorization URL", - "disconnected": "Successfully disconnected from Strava", - "disconnect_error": "Error disconnecting from Strava", - "gpx_required": "Please upload the GPX file to complete the Strava import", - "not_enabled": "Strava integration is not enabled on this instance." - }, - "wanderer": { - "wanderer_integration_desc": "Connect to Wanderer to easily import and view your trails in locations", - "connection_error": "Error connecting to Wanderer", - "connected": "Successfully connected to Wanderer" - } + "navbar": { + "adventures": "Adventures", + "collections": "Collections", + "worldtravel": "World Travel", + "map": "Map", + "users": "Users", + "search": "Search", + "profile": "Profile", + "greeting": "Hi", + "my_adventures": "My Adventures", + "my_tags": "My Tags", + "tag": "Tag", + "shared_with_me": "Shared With Me", + "settings": "Settings", + "logout": "Logout", + "about": "About AdventureLog", + "documentation": "Documentation", + "language_selection": "Language", + "support": "Support", + "calendar": "Calendar", + "theme_selection": "Theme Selection", + "admin_panel": "Admin Panel", + "themes": { + "light": "Light", + "dark": "Dark", + "night": "Night", + "forest": "Forest", + "aestheticLight": "Aesthetic Light", + "aestheticDark": "Aesthetic Dark", + "aqua": "Aqua", + "northernLights": "Northern Lights", + "dim": "Dim" + }, + "navigation": "Navigation" + }, + "about": { + "about": "About", + "license": "Licensed under the GPL-3.0 License.", + "source_code": "Source Code", + "message": "Made with ❤️ in the United States.", + "oss_attributions": "Open Source Attributions", + "nominatim_1": "Location Search and Geocoding is provided by", + "nominatim_2": "Their data is liscensed under the ODbL license.", + "other_attributions": "Additional attributions can be found in the README file.", + "generic_attributions": "Login to AdventureLog to view attributions for enabled integrations and services.", + "close": "Close", + "thank_you": "Thank you for using AdventureLog!", + "version": "Version", + "view_changelog": "View Changelog", + "developer": "Developer", + "attributions": "Attributions", + "license_info": "License", + "view_license": "View License", + "sponsor": "Sponsor" + }, + "home": { + "hero_1": "Discover the World's Most Thrilling Adventures", + "hero_2": "Discover and plan your next adventure with AdventureLog. Explore breathtaking destinations, create custom itineraries, and stay connected on the go.", + "go_to": "Go To AdventureLog", + "key_features": "Key Features", + "desc_1": "Discover, Plan, and Explore with Ease", + "desc_2": "AdventureLog is designed to simplify your journey, providing you with the tools and resources to plan, pack, and navigate your next unforgettable adventure.", + "feature_1": "Travel Log", + "feature_1_desc": "Keep track of your adventures with a personalized travel log and share your experiences with friends and family.", + "feature_2": "Trip Planning", + "feature_2_desc": "Easily create custom itineraries and get a day-by-day breakdown of your trip.", + "feature_3": "Travel Map", + "feature_3_desc": "View your travels throughout the world with an interactive map and explore new destinations.", + "start_your_journey": "Start Your Journey", + "of_world": "of the world", + "explore_world": "Explore World", + "latest_travel_experiences": "Your latest travel experiences" + }, + "adventures": { + "collection_remove_location_success": "Location removed from collection successfully!", + "collection_remove_location_error": "Error removing location from collection", + "collection_link_location_success": "Location linked to collection successfully!", + "invalid_date_range": "Invalid date range", + "timezone": "Timezone", + "no_visits": "No visits", + "departure_timezone": "Departure Timezone", + "arrival_timezone": "Arrival Timezone", + "departure_date": "Departure Date", + "arrival_date": "Arrival Date", + "no_image_found": "No image found", + "collection_link_location_error": "Error linking location to collection", + "location_delete_confirm": "Are you sure you want to delete this location? This action cannot be undone.", + "checklist_delete_confirm": "Are you sure you want to delete this checklist? This action cannot be undone.", + "note_delete_confirm": "Are you sure you want to delete this note? This action cannot be undone.", + "transportation_delete_confirm": "Are you sure you want to delete this transportation? This action cannot be undone.", + "lodging_delete_confirm": "Are you sure you want to delete this lodging location? This action cannot be undone.", + "delete_checklist": "Delete Checklist", + "delete_note": "Delete Note", + "delete_transportation": "Delete Transportation", + "delete_lodging": "Delete Lodging", + "open_details": "Open Details", + "edit_adventure": "Edit Adventure", + "edit_location": "Edit Location", + "remove_from_collection": "Remove from Collection", + "add_to_collection": "Add to Collection", + "delete": "Delete", + "location_not_found": "Location not found", + "location_not_found_desc": "The location you were looking for could not be found. Please try a different location or check back later.", + "homepage": "Homepage", + "collection": "Collection", + "longitude": "Longitude", + "latitude": "Latitude", + "visit": "Visit", + "timed": "Timed", + "check_in": "Check In", + "check_out": "Check Out", + "coordinates": "Coordinates", + "copy_coordinates": "Copy Coordinates", + "visits": "Visits", + "create_new": "Create New...", + "adventure": "Adventure", + "count_txt": "results matching your search", + "sort": "Sort", + "order_by": "Order By", + "order_direction": "Order Direction", + "ascending": "Ascending", + "descending": "Descending", + "updated": "Updated", + "name": "Name", + "date": "Date", + "activity_types": "Activity Types", + "tags": "Tags", + "add_a_tag": "Add a tag", + "date_constrain": "Constrain to collection dates", + "rating": "Rating", + "my_images": "My Images", + "no_images": "No Images", + "distance": "Distance", + "share_location": "Share this Location!", + "share_collection": "Share this Collection!", + "copy_link": "Copy Link", + "sun_times": "Sun Times", + "sunrise": "Sunrise", + "sunset": "Sunset", + "image": "Image", + "upload_image": "Upload Image", + "open_in_maps": "Open in Maps", + "url": "URL", + "fetch_image": "Fetch Image", + "wikipedia": "Wikipedia", + "add_notes": "Add notes", + "warning": "Warning", + "my_adventures": "My Adventures", + "no_linkable_adventures": "No adventures found that can be linked to this collection.", + "add": "Add", + "save_next": "Save & Next", + "end_date": "End Date", + "start_date": "Start Date", + "remove": "Remove", + "location": "Location", + "search_for_location": "Search for a location", + "clear_map": "Clear map", + "search_results": "Search Results", + "collection_no_start_end_date": "Adding a start and end date to the collection will unlock itinerary planning features in the collection page.", + "no_results": "No results found", + "wiki_location_desc": "Pulls excerpt from Wikipedia article matching the name of the location.", + "attachments": "Attachments", + "attachment": "Attachment", + "images": "Images", + "image_modal_navigate": "Use arrow keys or click to navigate", + "generate_desc": "Generate Description", + "public_location": "Public Location", + "location_information": "Location Information", + "link": "Link", + "links": "Links", + "description": "Description", + "sources": "Sources", + "collection_adventures": "Include Collection Adventures", + "collection_locations": "Include Collection Locations", + "filter": "Filter", + "category_filter": "Category Filter", + "category": "Category", + "clear": "Clear", + "my_collections": "My Collections", + "open_filters": "Open Filters", + "archived_collections": "Archived Collections", + "share": "Share", + "private": "Private", + "public": "Public", + "archived": "Archived", + "name_location": "name, location", + "loading_adventures": "Loading adventures...", + "all_adventures_already_linked": "All adventures are already linked to this collection.", + "edit_collection": "Edit Collection", + "unarchive": "Unarchive", + "archive": "Archive", + "no_collections_to_add_location": "No collections found to add this location to.", + "create_collection_first": "Create a collection first to organize your adventures and memories.", + "done": "Done", + "adventures_available": "Adventures Available", + "collections_linked": "Collections Linked", + "not_visited": "Not Visited", + "archived_collection_message": "Collection archived successfully!", + "unarchived_collection_message": "Collection unarchived successfully!", + "delete_collection_success": "Collection deleted successfully!", + "cancel": "Cancel", + "delete_collection_warning": "Are you sure you want to delete this collection? This action cannot be undone.", + "delete_collection": "Delete Collection", + "delete_location": "Delete Location", + "location_delete_success": "Location deleted successfully!", + "visited": "Visited", + "planned": "Planned", + "duration": "Duration", + "all": "All", + "image_removed_success": "Image removed successfully!", + "image_removed_error": "Error removing image", + "no_image_url": "No image found at that URL.", + "image_upload_success": "Image uploaded successfully!", + "image_upload_error": "Error uploading image", + "dates": "Dates", + "wiki_image_error": "Error fetching image from Wikipedia", + "start_before_end_error": "Start date must be before end date", + "actions": "Actions", + "see_adventures": "See Adventures", + "image_fetch_failed": "Failed to fetch image", + "no_location": "Please enter a location", + "no_description_found": "No description found", + "location_created": "Location created", + "location_create_error": "Failed to create location", + "lodging": "Lodging", + "create_location": "Create Location", + "location_updated": "Location updated", + "location_update_error": "Failed to update location", + "set_to_pin": "Set to Pin", + "category_fetch_error": "Error fetching categories", + "new_location": "New Location", + "basic_information": "Basic Information", + "no_locations_to_recommendations": "No locations found. Add at least one location to get recommendations.", + "display_name": "Display Name", + "adventure_not_found": "There are no adventures to display. Add some using the plus button at the bottom right or try changing filters!", + "collection_contents": "Collection Contents", + "no_adventures_found": "No adventures found", + "no_locations_found": "No locations found", + "no_adventures_message": "Start documenting your adventures and planning new ones. Every journey has a story worth telling.", + "mark_visited": "Mark Visited", + "error_updating_regions": "Error updating regions", + "regions_updated": "regions updated", + "cities_updated": "cities updated", + "visited_region_check": "Visited Region Check", + "visited_region_check_desc": "By selecting this, the server will check all of your visited adventures and mark the regions they are located in as visited in world travel.", + "update_visited_regions": "Update Visited Regions", + "update_visited_regions_disclaimer": "This may take a while depending on the number of adventures you have visited.", + "link_new": "Link New...", + "add_new": "Add New...", + "transportation": "Transportation", + "note": "Note", + "checklist": "Checklist", + "collection_archived": "This collection has been archived.", + "visit_link": "Visit Link", + "collection_completed": "You've completed this collection!", + "collection_stats": "Collection Stats", + "keep_exploring": "Keep Exploring!", + "linked_adventures": "Linked Adventures", + "notes": "Notes", + "checklists": "Checklists", + "transportations": "Transportations", + "adventure_calendar": "Adventure Calendar", + "visit_calendar": "Visit Calendar", + "day": "Day", + "itineary_by_date": "Itinerary by Date", + "nothing_planned": "Nothing planned for this day. Enjoy the journey!", + "copied_to_clipboard": "Copied to clipboard!", + "copy_failed": "Copy failed", + "show": "Show", + "hide": "Hide", + "clear_location": "Clear Location", + "starting_airport": "Starting Airport", + "view_profile": "View Profile", + "joined": "Joined", + "ending_airport": "Ending Airport", + "no_location_found": "No location found", + "from": "From", + "to": "To", + "will_be_marked_location": "will be marked as visited once the location is saved.", + "start": "Start", + "end": "End", + "emoji_picker": "Emoji Picker", + "download_calendar": "Download Calendar", + "all_day": "All Day", + "ordered_itinerary": "Ordered Itinerary", + "itinerary": "Itinerary", + "all_linked_items": "All Linked Items", + "date_itinerary": "Date Itinerary", + "no_ordered_items": "Add items with dates to the collection to see them here.", + "date_information": "Date Information", + "flight_information": "Flight Information", + "out_of_range": "Not in itinerary date range", + "preview": "Preview", + "finding_recommendations": "Discovering hidden gems for your next adventure", + "location_details": "Location Details", + "city": "City", + "region": "Region", + "md_instructions": "Write your markdown here...", + "days": "days", + "attachment_upload_success": "Attachment uploaded successfully!", + "attachment_upload_error": "Error uploading attachment", + "upload": "Upload", + "attachment_delete_success": "Attachment deleted successfully!", + "attachment_update_success": "Attachment updated successfully!", + "attachment_name": "Attachment Name", + "gpx_tip": "Upload GPX files to attachments to view them on the map!", + "attachment_update_error": "Error updating attachment", + "activities": {}, + "lodging_information": "Lodging Information", + "price": "Price", + "reservation_number": "Reservation Number", + "filters_and_sort": "Filters & Sort", + "filters_and_stats": "Filters & Stats", + "travel_progress": "Travel Progress", + "left_collection_message": "Successfully left collection", + "leave_collection": "Leave Collection", + "leave": "Leave", + "leave_collection_warning": "Are you sure you want to leave this collection? Any locations you added will be unlinked and remain in your account.", + "loading_collections": "Loading collections...", + "quick_start": "Quick Start", + "details": "Details", + "search_location": "Search for a location", + "search_placeholder": "Enter city, location, or landmark...", + "searching": "Searching", + "use_current_location": "Use Current Location", + "select_on_map": "Select on Map", + "click_map": "Click on the map to select a location", + "getting_location_details": "Getting location details", + "location_selected": "Location Selected", + "continue": "Continue", + "update_location_details": "Update location details", + "create_new_location": "Create new location", + "wikipedia_error": "Failed to generate description from Wikipedia", + "public_location_description": "Make this location visible to other users", + "location_map": "Location & Map", + "location_display_name": "Location Display Name", + "or": "OR", + "click_on_map": "Click on the map to select a location", + "back": "Back", + "processing": "Processing", + "no_file_selected": "No file selected", + "attachment_name_required": "Attachment name required", + "attachment_updated": "Attachment updated successfully", + "attachment_removed": "Attachment removed successfully", + "attachment_remove_error": "An error occured while removing the attachment", + "trail_link_required": "A trail link is required", + "trail_created_successfully": "Trail created successfully", + "trail_creation_failed": "Failed to create trail", + "trail_fetch_failed": "Failed to fetch Wanderer trails", + "trail_updated_successfully": "Trail updated successfully", + "trail_update_failed": "Failed to update trail", + "trail_removed_successfully": "Trail removed successfully", + "trail_removal_failed": "Failed to remove trail", + "image_management": "Image Management", + "upload_from_device": "Upload From Device", + "upload_from_url": "Upload From URL", + "no_images_uploaded_yet": "No images uploaded yet", + "upload_first_image": "Upload your first image using one of the options above", + "attachment_management": "Attachment Management", + "upload_attachment": "Upload Attachment", + "no_attachments_uploaded_yet": "No attachments uploaded yet", + "upload_first_attachment": "Upload your first attachment using the options above", + "trails_management": "Trails Management", + "trails_management_description": "Manage trails associated with this location. Trails can be linked to external services like AllTrails or link to Wanderer trails.", + "add_new_trail": "Add New Trail", + "create_trail": "Create Trail", + "add_wanderer_trail": "Add Wanderer Trail", + "select_wanderer_trail": "Select a trail from your Wanderer account", + "trails_found_for": "trails found for", + "no_trails_found_matching": "No trails found matching", + "no_trails_available": "No Trails Available", + "wanderer_integration_error": "Wanderer integration is not enabled or has expired.", + "no_external_link": "No external link available", + "no_trails_added": "No trails added yet", + "add_first_trail": "Add your first trail using the button above", + "search_trails_placeholder": "Search trails by name", + "trail_name": "Trail Name", + "external_link": "External Link", + "add_trail": "Add Trail", + "created": "Created", + "photos": "Photos", + "view_gpx": "View GPX", + "gain": "gain", + "likes": "Likes", + "view_trail": "View Trail", + "time": "Time", + "trail": "Trail", + "import_activity": "Import activity", + "activity_options": "Activity options", + "export_gpx": "Export GPX", + "export_original": "Export Original", + "view_on": "View on", + "moving_time": "Moving Time", + "avg_speed": "Average Speed", + "elevation": "Elevation", + "cadence": "Cadence", + "calories": "Calories", + "achievements": "Achievements", + "pace": "Pace", + "max_speed": "Max Speed", + "previous_image": "Previous image", + "next_image": "Next image", + "trails": "Trails", + "date_selection": "Date Selection", + "notes_placeholder": "Add notes about this visit", + "no_visits_description": "Create your first visit by selecting dates above", + "saved_activities": "Saved Activities", + "view_strava_activities": "View Strava activities", + "complete_strava_import": "Complete Strava Import", + "add_new_activity": "Add New Activity", + "strava_activity_ready": "Strava Activity Ready", + "gpx_file_downloaded": "GPX file downloaded. Please upload it below to complete the import.", + "gpx_file_required": "GPX File Required", + "upload_gpx_file": "Upload the GPX file that was just downloaded to complete the Strava import", + "activity_name": "Activity Name", + "activity_name_placeholder": "Morning Run", + "sport_type": "Sport Type", + "sport_type_placeholder": "Trail Running", + "elapsed_time": "Elapsed Time", + "elevation_gain": "Elevation Gain", + "elevation_loss": "Elevation Loss", + "elevation_high": "Elevation High", + "elevation_low": "Elevation Low", + "rest_time": "Rest Time", + "start_lat": "Start Latitude", + "start_lng": "Start Longitude", + "end_lat": "End Latitude", + "end_lng": "End Longitude", + "average_speed": "Average Speed", + "average_cadence": "Average Cadence", + "gpx_file": "GPX File", + "importing": "Importing", + "uploading": "Uploading", + "upload_activity": "Upload Activity", + "complete_import": "Complete Import", + "loading_activities": "Loading activities", + "no_strava_activities": "No Strava activities found during this visit", + "current_attachments": "Current Attachments", + "connect_to_wanderer": "Connect to Wanderer", + "activity_statistics": "Activity Statistics", + "activity_statistics_description": "Your fitness and activity achievements", + "activities_name": "Activities", + "total_recorded": "Total recorded", + "total_covered": "Total covered", + "active_duration": "Active duration", + "activity_name_required": "Activity name is required", + "confirm_delete_activity": "Are you sure you want to delete this activity?", + "update_visit": "Update Visit", + "add_visit": "Add Visit", + "add_activity": "Add Activity", + "edit_visit": "Edit Visit", + "remove_visit": "Remove Visit", + "download_gpx": "Download GPX", + "strava_activities_during_visit": "Strava Activities During Visit", + "total": "Total", + "rest": "Rest", + "high": "High", + "low": "Low", + "route_map": "Route Map", + "selected_images": "Selected Images", + "selected_attachments": "Selected Attachments", + "my_attachments": "My Attachments", + "linked_locations": "Linked Locations", + "lodging_save_error": "Error saving lodging", + "attachment_removed_success": "Attachment removed sucessfully", + "attachment_removed_error": "Error removing attachment", + "no_attachments": "No Attachments", + "no_attachments_desc": "Upload files to get started", + "attachments_upload_info": "Attachments will be uploaded after saving the", + "image_upload_info": "Images will be uploaded after saving the", + "no_images_desc": "Upload images to get started", + "activities_text": "activities", + "total_climbed": "Total climbed", + "distance_covered": "Distance covered", + "total_distance": "Total Distance", + "total_activities": "Total Activities", + "recorded_sessions": "Recorded sessions", + "activity_breakdown_by_category": "Activity Breakdown by Category", + "dates_not_saved": "Visit Not Added Yet", + "dates_not_saved_description": "Click add visit to save" + }, + "worldtravel": { + "country_list": "Country List", + "num_countries": "countries found", + "cities_in": "Cities in", + "all": "All", + "partially_visited": "Partially Visited", + "not_visited": "Not Visited", + "completely_visited": "Completely Visited", + "all_subregions": "All Subregions", + "clear_search": "Clear Search", + "no_countries_found": "No countries found", + "no_countries_found_desc": "Try adjusting your search terms or filters to find the countries you're looking for.", + "clear_filters": "Clear Filters", + "view_cities": "View Cities", + "no_cities_found": "No cities found", + "visit_to": "Visit to", + "region_failed_visited": "Failed to mark region as visited", + "failed_to_mark_visit": "Failed to mark visit to", + "visit_remove_failed": "Failed to remove visit", + "removed": "removed", + "failed_to_remove_visit": "Failed to remove visit to", + "marked_visited": "marked as visited", + "regions_in": "Regions in", + "cities": "cities", + "remaining": "Remaining", + "of": "of", + "countries": "countries", + "show_map": "Show Map", + "hide_map": "Hide Map", + "complete": "Complete", + "partial": "Partial", + "clear_all": "Clear All", + "no_country_data_available": "No country data available", + "no_country_data_available_desc": "Please check the documentation for updating region data.", + "total_countries": "Total Countries", + "available_to_explore": "Available to Explore", + "progress": "Progress", + "filter_by_region": "Filter by Region", + "all_regions": "All Regions", + "clear_all_filters": "Clear All Filters", + "total_items": "Total Items", + "filter_by": "Filter by", + "interactive_map": "Interactive Map", + "no_regions_found": "No regions found", + "progress_and_stats": "Progress & Stats", + "total_regions": "Total Regions", + "country_completed": "Country completed", + "show_map_labels": "Show Map Labels", + "hide_map_labels": "Hide Map Labels", + "total_cities": "Total Cities", + "region_completed": "Region completed", + "newest_first": "Newest First", + "oldest_first": "Oldest First", + "visited_first": "Visited First", + "unvisited_first": "Unvisited First", + "getting_location_details": "Getting location details", + "hide_globe_spin": "Hide Globe Spin", + "show_globe_spin": "Show Globe Spin", + "loading_globe_spin": "Loading Globe Spin", + "spinning_globe": "Spinning Globe", + "destination_revealed": "Destination Revealed!", + "your_random_adventure_awaits": "Your Random Adventure Awaits!", + "exploration_progress": "Exploration Progress", + "dive_deeper": "Dive Deeper", + "cities_available": "Cities Available", + "in": "in", + "explore_country": "Explore Country", + "spin_again": "Spin Again", + "globe_spin_error_desc": "Error fetching globe spin data", + "try_again": "Try Again", + "no_globe_spin_data": "No Globe Spin Data", + "show_less": "Show Less", + "show_more": "Show More", + "about_country": "About Country", + "about_region": "About Region" + }, + "auth": { + "username": "Username", + "user_email_verification_required": "Signup successful! Please verify your email before logging in.", + "password": "Password", + "forgot_password": "Forgot Password?", + "signup": "Signup", + "login_error": "Unable to login with the provided credentials.", + "login": "Login", + "email": "Email", + "first_name": "First Name", + "last_name": "Last Name", + "confirm_password": "Confirm Password", + "registration_disabled": "Registration is currently disabled.", + "profile_picture": "Profile Picture", + "public_profile": "Public Profile", + "public_tooltip": "With a public profile, users can share collections with you and view your profile on the users page.", + "new_password": "New Password (6+ characters)", + "or_3rd_party": "Or login with a third-party service", + "no_public_locations": "No public locations found", + "no_public_collections": "No public collections found", + "user_locations": "User Locations", + "user_collections": "User Collections", + "enter_username": "Enter your username", + "enter_password": "Enter your password", + "totp": "Two-Factor Code", + "logging_in": "Logging in" + }, + "users": { + "no_users_found": "No users found with public profiles." + }, + "settings": { + "update_error": "Error updating settings", + "update_success": "Settings updated successfully!", + "settings_page": "Settings Page", + "account_settings": "User Account Settings", + "update": "Update", + "no_verified_email_warning": "You must have a verified email address to enable two-factor authentication.", + "social_auth": "Social Authentication", + "social_auth_desc_1": "Manage social login options and password settings", + "password_auth": "Password Authentication", + "password_login_enabled": "Password login enabled", + "password_login_disabled": "Password login disabled", + "password_change": "Change Password", + "new_password": "New Password", + "confirm_new_password": "Confirm New Password", + "email_change": "Change Email", + "no_email_set": "No email set", + "email_management": "Email Management", + "email_management_desc": "Manage your email addresses and verification status", + "add_new_email": "Add New Email", + "add_new_email_address": "Add New Email Address", + "enter_new_email": "Enter new email address", + "new_email": "New Email", + "change_password": "Change Password", + "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!", + "about_this_background": "About this background", + "photo_by": "Photo by", + "join_discord": "Join the Discord", + "join_discord_desc": "to share your own photos. Post them in the #travel-share channel.", + "current_password": "Current Password", + "password_change_lopout_warning": "You will be logged out after changing your password.", + "generic_error": "An error occurred while processing your request.", + "email_removed": "Email removed successfully!", + "email_removed_error": "Error removing email", + "verify_email_success": "Email verification sent successfully!", + "verify_email_error": "Error verifying email. Try again in a few minutes.", + "email_added": "Email added successfully!", + "email_set_primary": "Email set as primary successfully!", + "email_set_primary_error": "Error setting email as primary", + "verified": "Verified", + "primary": "Primary", + "not_verified": "Not Verified", + "make_primary": "Make Primary", + "verify": "Verify", + "no_emai_set": "No email set", + "mfa_disabled": "Multi-factor authentication disabled successfully!", + "mfa_page_title": "Multi-Factor Authentication", + "mfa_desc": "Add an extra layer of security to your account", + "enable_mfa": "Enable MFA", + "disable_mfa": "Disable MFA", + "enabled": "Enabled", + "disabled": "Disabled", + "mfa_not_enabled": "MFA is not enabled", + "mfa_is_enabled": "MFA is enabled", + "mfa_enabled": "Multi-factor authentication enabled successfully!", + "copy": "Copy", + "recovery_codes": "Recovery Codes", + "recovery_codes_desc": "These are your recovery codes. Keep them safe. You will not be able to see them again.", + "reset_session_error": "Please logout and back in to refresh your session and try again.", + "authenticator_code": "Authenticator Code", + "email_verified": "Email verified successfully!", + "email_verified_success": "Your email has been verified. You can now log in.", + "email_verified_error": "Error verifying email", + "email_verified_erorr_desc": "Your email could not be verified. Please try again.", + "launch_administration_panel": "Launch Administration Panel", + "administration": "Administration", + "admin_panel_desc": "Access the full administration interface", + "region_updates": "Region Updates", + "debug_information": "Debug Information", + "staff_status": "Staff Status", + "staff_user": "Staff User", + "regular_user": "Regular User", + "app_version": "App Version", + "quick_actions": "Quick Actions", + "license": "License", + "all_rights_reserved": "All rights reserved.", + "region_updates_desc": "Update visited regions and cities", + "access_restricted": "Access Restricted", + "access_restricted_desc": "Administrative features are only available to staff members.", + "advanced_settings": "Advanced Settings", + "advanced_settings_desc": "Advanced configuration and development tools", + "social_auth_setup": "Social Authentication Setup", + "administration_desc": "Administrative tools and settings", + "social_auth_desc": "Enable or disable social and OIDC authentication providers for your account. These connections allow you to sign in with self hosted authentication identity providers like Authentik or 3rd party providers like GitHub.", + "social_auth_desc_2": "These settings are managed in the AdventureLog server and must be manually enabled by the administrator.", + "documentation_link": "Documentation Link", + "launch_account_connections": "Launch Account Connections", + "add_email": "Add Email", + "password_enabled": "Password authentication enabled", + "password_disabled": "Password authentication disabled", + "password_disable_warning": "Currently, password authentication is disabled. Login via a social or OIDC provider is required.", + "password_disabled_error": "Error disabling password authentication. Make sure a social or OIDC provider is linked to your account.", + "password_enabled_error": "Error enabling password authentication.", + "settings_menu": "Settings Menu", + "security": "Security", + "emails": "Emails", + "integrations": "Integrations", + "integrations_desc": "Connect external services to enhance your experience", + "admin": "Admin", + "advanced": "Advanced", + "profile_info": "Profile Information", + "profile_info_desc": "Update your personal details and profile picture", + "public_profile_desc": "Make your profile visible to other users", + "pass_change_desc": "Update your account password for better security", + "enter_first_name": "Enter your first name", + "enter_last_name": "Enter your last name", + "enter_username": "Enter your username", + "enter_current_password": "Enter current password", + "enter_new_password": "Enter new password", + "connected": "Connected", + "disconnected": "Disconnected", + "invalid_credentials": "Invalid credentials", + "backup_restore": "Backup & Restore", + "backup_restore_desc": "Save your data or restore it from a previous backup file.", + "whats_included": "What's included", + "mfa_required": "MFA Required", + "secure_your_account": "Secure your account", + "setup_required": "Setup Required", + "scan_qr_code": "Scan QR Code", + "scan_with_authenticator_app": "Scan with authenticator app", + "manual_entry": "Manual Entry", + "verify_setup": "Verify Setup", + "enter_6_digit_code": "Enter 6 digit code", + "enter_code_from_app": "Enter code from app", + "copy_all": "Copy all", + "important": "Important", + "error_occurred": "An error has occurred", + "mfa_already_enabled": "MFA already enabled", + "complete_setup_to_enable": "Complete setup to enable MFA", + "world_travel_visits": "World Travel Visits", + "media": "Media", + "integrations_settings": "Integrations Settings", + "password_does_not_match": "Password does not match", + "backup_your_data": "Backup Your Data", + "backup_your_data_desc": "Download a complete backup of your account data including locations, \t\t\t\t\t\t\t\t\t\tcollections, media, and visits.", + "restore_data": "Restore Data", + "restore_data_desc": "Upload a backup file to restore your data.", + "data_override_warning": "Data Override Warning", + "data_override_warning_desc": "Restoring data will completely replace all existing data (that is included \t\t\t\t\t\t\t\t\t\t\t\tin the backup) in your account. This action cannot be undone.", + "select_backup_file": "Select backup file", + "data_override_acknowledge": "I acknowledge that this will override all my existing data", + "data_override_acknowledge_desc": "This action is irreversible and will replace all locations, collections, \t\t\t\t\t\t\t\t\t\t\t\t\t\tand visits in your account.", + "use_imperial": "Use Imperial Units", + "use_imperial_desc": "Use imperial units (feet, inches, pounds) instead of metric units", + "trails": "Trails", + "activities": "Activities" + }, + "collection": { + "collection_created": "Collection created successfully!", + "error_creating_collection": "Error creating collection", + "new_collection": "New Collection", + "create": "Create", + "collection_edit_success": "Collection edited successfully!", + "error_editing_collection": "Error editing collection", + "public_collection": "Public Collection", + "manage_collections": "Manage Collections", + "no_collections_yet": "No collections yet", + "no_shared_collections": "No shared collections.", + "shared_collections": "Shared Collections", + "no_archived_collections": "No archived collections.", + "create_first": "Create your first collection to organize your adventures and memories.", + "make_sure_public": "Make sure your profile is public so others can share with you.", + "archived_appear_here": "Archived collections will appear here.", + "linked": "Linked", + "available": "Available", + "try_different_search": "Try a different search or filter." + }, + "notes": { + "note_deleted": "Note deleted successfully!", + "note_delete_error": "Error deleting note", + "open": "Open", + "failed_to_save": "Failed to save note", + "note_editor": "Note Editor", + "note_viewer": "Note Viewer", + "editing_note": "Editing Note", + "content": "Content", + "save": "Save", + "note_public": "This note is public because it is in a public collection.", + "add_a_link": "Add a link", + "invalid_url": "Invalid URL", + "enter_note_title": "Enter note title", + "update_note_details": "Editing note", + "create_new_note": "Create new note", + "viewing_note": "Viewing note" + }, + "checklist": { + "checklist_deleted": "Checklist deleted successfully!", + "checklist_delete_error": "Error deleting checklist", + "checklist_editor": "Checklist Editor", + "new_checklist": "New Checklist", + "item": "Item", + "items": "Items", + "new_item": "New Item", + "checklist_public": "This checklist is public because it is in a public collection.", + "item_cannot_be_empty": "Item cannot be empty", + "item_already_exists": "Item already exists", + "editing_checklist": "Editing Checklist", + "checklist_viewer": "Checklist Viewer", + "update_checklist_details": "Editing checklist", + "viewing_checklist": "Viewing checklist", + "enter_checklist_title": "Enter checklist title", + "add_new_item": "Add New Item", + "current_items": "Current Items", + "completed": "Completed", + "no_items_yet": "No Items Yet", + "add_your_first_item": "Add your first item" + }, + "transportation": { + "transportation_deleted": "Transportation deleted successfully!", + "transportation_delete_error": "Error deleting transportation", + "type": "Type", + "new_transportation": "New Transportation", + "flight_number": "Flight Number", + "from_location": "From Location", + "to_location": "To Location", + "fetch_location_information": "Fetch Location Information", + "starting_airport_desc": "Enter starting airport code (e.g., JFK)", + "ending_airport_desc": "Enter ending airport code (e.g., LAX)", + "edit": "Edit", + "modes": { + "car": "Car", + "plane": "Plane", + "train": "Train", + "bus": "Bus", + "boat": "Boat", + "bike": "Bike", + "walking": "Walking", + "other": "Other" + }, + "edit_transportation": "Edit Transportation", + "update_transportation_details": "Update Transportation Details", + "create_new_transportation": "New Transportation", + "enter_transportation_name": "Enter transportation name", + "select_type": "Select Type", + "enter_link": "Enter link", + "enter_flight_number": "Enter flight number", + "enter_from_location": "Enter from location", + "enter_to_location": "Enter to location" + }, + "lodging": { + "new_lodging": "New Lodging", + "edit": "Edit", + "edit_lodging": "Edit Lodging", + "hotel": "Hotel", + "hostel": "Hostel", + "resort": "Resort", + "bnb": "Bed and Breakfast", + "campground": "Campground", + "cabin": "Cabin", + "apartment": "Apartment", + "house": "House", + "villa": "Villa", + "motel": "Motel", + "other": "Other", + "reservation_number": "Reservation Number", + "update_lodging_details": "Update Lodging Details", + "create_new_lodging": "New Lodging", + "enter_lodging_name": "Enter lodging name", + "enter_reservation_number": "Enter reservation number", + "enter_price": "Enter price" + }, + "search": { + "adventurelog_results": "AdventureLog Results", + "public_adventures": "Public Adventures", + "online_results": "Online Results", + "result": "Result", + "results": "Results", + "found": "found", + "try_searching_desc": "Try searching for adventures, collections, countries, regions, cities, or users.", + "countries": "Countries", + "cities": "Cities" + }, + "map": { + "view_details": "View Details", + "adventure_map": "Adventure Map", + "location_map": "Location Map", + "map_options": "Map Options", + "show_visited_regions": "Show Visited Regions", + "add_adventure_at_marker": "Add New Adventure at Marker", + "add_location_at_marker": "Add New Location at Marker", + "clear_marker": "Clear Marker", + "add_adventure": "Add New Adventure", + "add_location": "Add New Location", + "adventure_stats": "Adventure Stats", + "map_controls": "Map Controls", + "regions": "Regions", + "completion": "Completion", + "display_options": "Display Options", + "marker_placed_on_map": "Marker placed on map", + "place_marker_desc_location": "Click on the map to place a marker.", + "locations_shown": "locations shown", + "show_activities": "Show Activities", + "show_visited_cities": "Visited Cities" + }, + "share": { + "shared": "Shared", + "with": "with", + "unshared": "Unshared", + "share_desc": "Share this collection with other users.", + "shared_with": "Shared With", + "no_users_shared": "No users shared with", + "not_shared_with": "Not Shared With", + "no_shared_found": "No collections found that are shared with you.", + "set_public": "In order to allow users to share with you, you need your profile set to public.", + "go_to_settings": "Go to settings", + "revoke_invite": "Revoke Invite", + "send_invite": "Send Invite", + "available": "Available", + "pending": "Pending", + "available_users": "Available Users", + "revoke_failed": "Revoke Failed", + "invite_revoked": "Invite Revoked", + "unshare_failed": "Unshare Failed", + "invite_failed": "Invite Failed", + "invite_sent": "Invite Sent" + }, + "languages": {}, + "profile": { + "member_since": "Member since", + "user_stats": "User Stats", + "visited_countries": "Visited Countries", + "visited_regions": "Visited Regions", + "visited_cities": "Visited Cities", + "travel_statistics": "Travel Statistics", + "your_journey_at_a_glance": "Your adventure journey at a glance", + "planned_trips": "Planned trips", + "discovered": "discovered", + "explored": "explored", + "public_location_experiences": "Public location experiences", + "no_shared_adventures": "This user hasn't shared any public adventures yet.", + "no_shared_collections": "This user hasn't shared any public collections yet." + }, + "categories": { + "manage_categories": "Manage Categories", + "no_categories_found": "No categories found.", + "edit_category": "Edit Category", + "icon": "Icon", + "location_update_after_refresh": "The location cards will be updated once you refresh the page.", + "select_category": "Select Category", + "category_name": "Category Name", + "add_new_category": "Add New Category", + "name_required": "Category name is required" + }, + "dashboard": { + "welcome_back": "Welcome back", + "countries_visited": "Countries Visited", + "total_adventures": "Total Adventures", + "total_visited_regions": "Total Visited Regions", + "total_visited_cities": "Total Visited Cities", + "recent_adventures": "Recent Adventures", + "no_recent_adventures": "No recent adventures?", + "add_some": "Why not start planning your next adventure? You can add a new adventure by clicking the button below.", + "document_some_adventures": "Start documenting your travels and build your personal adventure map!", + "view_all": "View All", + "welcome_text_1": "You've been on", + "welcome_text_2": "adventures so far", + "welcome_text_3": "Keep exploring and documenting your travels!" + }, + "immich": { + "immich": "Immich", + "integration_fetch_error": "Error fetching data from the Immich integration", + "no_items_found": "No items found", + "load_more": "Load More", + "immich_error": "Error updating Immich integration", + "immich_disabled": "Immich integration disabled successfully!", + "disable": "Disable", + "server_url": "Immich Server URL", + "api_note": "Note: this must be the URL to the Immich API server so it likely ends with /api unless you have a custom config.", + "api_key": "Immich API Key", + "enable_integration": "Enable Integration", + "update_integration": "Update Integration", + "immich_integration_desc": "Connect your Immich photo management server", + "localhost_note": "Note: localhost will most likely not work unless you have setup docker networks accordingly. It is recommended to use the IP address of the server or the domain name.", + "api_key_placeholder": "Enter your Immich API key", + "need_help": "Need help setting this up? Check out the", + "copy_locally": "Copy Images Locally", + "copy_locally_desc": "Copy images to the server for offline access. Uses more disk space.", + "error_saving_image": "Error saving image", + "connection_error": "Error connecting to Immich server", + "integration_already_exists": "An Immich integration already exists. You can only have one integration at a time.", + "integration_not_found": "Immich integration not found. Please create a new integration.", + "validation_error": "An error occurred while validating the Immich integration. Please check your server URL and API key.", + "network_error": "Network error while connecting to the Immich server. Please check your connection and try again.", + "fetch_error": "Error fetching data from the Immich integration", + "error_no_object_id": "No object ID was provided", + "by_date": "By Date", + "by_album": "By Album", + "image_search_placeholder": "Search using Immich", + "select_date": "Select Date", + "select_album": "Select Album", + "loading_albums": "Loading Albums", + "loading": "Loading", + "no_images": "No Images Found", + "try_different_date": "Try a different date", + "select_album_first": "Select an Album First" + }, + "google_maps": { + "google_maps_integration_desc": "Connect your Google Maps account to get high-quality location search results and recommendations.", + "google_maps_integration_desc_no_staff": "This integration must first be enabled by the admin on this server." + }, + "recomendations": { + "recommendation": "Recommendation", + "recommendations": "Recommendations", + "location_recommendations": "Location Recommendations", + "food": "Food", + "tourism": "Tourism" + }, + "calendar": { + "today": "Today", + "month": "Month", + "week": "Week", + "day": "Day", + "events_scheduled": "events scheduled", + "total_events": "Total Events", + "calendar_overview": "Calendar Overview", + "filtered_results": "Filtered Results", + "all_day_event": "All Day Event" + }, + "locations": { + "location": "Location", + "locations": "Locations", + "my_locations": "My Locations" + }, + "settings_download_backup": "Download Backup", + "invites": { + "accepted": "Invite accepted", + "accept_failed": "Failed to accept invite", + "declined": "Invite declined", + "decline_failed": "Failed to decline invite", + "title": "Invites", + "pending_invites": "Pending Invites", + "no_invites": "No invites", + "decline": "Decline", + "accept": "Accept", + "invited_on": "Invited on", + "no_invites_desc": "Make sure your profile is public so users can invite you.", + "by": "by" + }, + "strava": { + "strava_integration_desc": "Connect to Strava to easily import your activties into locations and visits", + "not_configured": "Strava Not Configured", + "admin_setup_required": "The server administrator must enable it globally", + "ready_to_connect": "Ready to Connect", + "connect_account": "Connect Account", + "account_connected": "Account Connected", + "disconnect": "Disconnect", + "authorization_error": "Error redirecting to strava authorization URL", + "disconnected": "Successfully disconnected from Strava", + "disconnect_error": "Error disconnecting from Strava", + "gpx_required": "Please upload the GPX file to complete the Strava import", + "not_enabled": "Strava integration is not enabled on this instance." + }, + "wanderer": { + "wanderer_integration_desc": "Connect to Wanderer to easily import and view your trails in locations", + "connection_error": "Error connecting to Wanderer", + "connected": "Successfully connected to Wanderer" + } } diff --git a/frontend/src/routes/signup/+page.server.ts b/frontend/src/routes/signup/+page.server.ts index 61f08525..178371b7 100644 --- a/frontend/src/routes/signup/+page.server.ts +++ b/frontend/src/routes/signup/+page.server.ts @@ -70,7 +70,13 @@ export const actions: Actions = { const loginResponse = await loginFetch.json(); if (!loginFetch.ok) { - return fail(loginFetch.status, { message: loginResponse.errors[0].code }); + // If backend returns 401, signup succeeded but email verification is required. + // Return an i18n key (not raw text) so the frontend can show the proper message. + if (loginFetch.status === 401) { + return { message: 'auth.user_email_verification_required' }; + } + + return fail(loginFetch.status, { message: loginResponse?.errors?.[0]?.code }); } else { const setCookieHeader = loginFetch.headers.get('Set-Cookie');