{
  "page_not_found": "Page not found",
  "go_back_home": "Go Back Home",
  "page_not_found_text": "The page you're looking for doesn't exist.",
  "add_user": "Add new user",
  "create_user": "Create User",
  "delete_user": "Are you sure you want to delete the user",
  "delete_account": "Delete Account",
  "confirm_delete_account": "Are you sure you want to delete your account? This action cannot be undone.",
  "delete_account_google_body": "To confirm, sign in with Google again.",
  "user_updated": "User updated successfully",
  "user_created": "User created successfully",
  "error_create": "Error creating user",
  "error_update": "Error updating user",
  "error_fetching_users": "Error fetching users",
  "error_fetching_logs": "Error fetching logs, try again",
  "error_fetching_user_data": "Error fetching user data",
  "logged_in": "You are logged in",
  "pass_dont_match": "Passwords do not match",
  "failed_to_login": "Failed to login",
  "google_login_failed": "Google login failed",
  "invalid_credentials": "Invalid credentials",
  "edit_user": "Edit User",
  "update_user": "Update User",
  "enter_email": "Enter your email",
  "enter_new_password": "Enter your new password",
  "choose_role": "Choose a role",
  "our_company": "About Flight Price Tracker",
  "our_company_text": "A simple, intelligent tool to track flight prices and get notified when fares drop.",
  "our_main_product_text": "Real-time flight price monitoring with instant notifications",
  "our_main_product": "Key Features",
  "find_us_social_media": "Find us on social media",
  "contact": "Contact",
  "view_orders": "View searches",
  "request_new_password": "Request a new password",
  "forgot_password": "I forgot my password",
  "back_to_top": "Back to top",
  "password": "Password",
  "personal_info": "Personal Info",
  "signup": "Sign Up",
  "or": "or",
  "select_language": "Select a Language",
  "email": "E-mail",
  "firstName": "Name",
  "lastName": "Last Name",
  "firstName_invalid": "First name must only contain letters (min 2) and spaces, no numbers or special characters",
  "lastName_invalid": "Last name must only contain letters (min 2) and spaces, no numbers or special characters",
  "email_invalid": "The email is not valid",
  "faq_heading": "Frequently Asked Questions",
  "dateFrom": "From Date",
  "timeFrom": "From Hour",
  "dateTo": "To Date",
  "timeTo": "To Hour",
  "logLevel": "Log Level",
  "loading": "Loading...",
  "session_expired_please_login_again": "Session expired, please log in again.",
  "error_rate_limit_exceeded": "Too many requests, please try again shortly.",
  "forbidden_action": "Action not allowed.",
  "password_modified_success": "Password updated successfully.",
  "password_reset_link_sent": "Password reset link sent to your email.",
  "generic_server_error": "Server error.",
  "generic_server_error_retry": "Server error, please try again later.",
  "unauthorized_action": "Unauthorized action.",
  "unauthorized_login_required": "Unauthorized: please log in to continue.",
  "user_deleted_success": "User deleted successfully.",
  "error_deleting": "Error while deleting.",
  "faq_label": "FAQ",
  "filter": "Filter",
  "go_to_signup": "Go to Sign Up",
  "home": "Home",
  "login": "Login",
  "logout": "Logout",
  "logs": "Logs",
  "logs_truncated": "Showing the {{count}} most recent logs: narrow the filters to see the others.",
  "unable_delete_logs": "Unable to delete logs.",
  "menu": "Menu",
  "ok": "OK",
  "password_reset": "Password reset",
  "processing": "Processing...",
  "status_label": "Status",
  "yes": "YES",
  "admin": "Admin",
  "confirm_delete_logs": "Do you want to delete logs?",
  "confirm_password": "Confirm password",
  "current_password": "Current password",
  "CURRENT_PASSWORD_INVALID": "Current password is not correct.",
  "USE_SELF_ENDPOINT": "For your own account, use your profile page: it will ask for your current password.",
  "CURRENT_PASSWORD_REQUIRED": "Enter your current password.",
  "delete_logs": "Delete logs",
  "delete_logs_placeholder": "How many days do you want to delete?",
  "delete_logs_prompt": "How many days of logs would you like to delete?",
  "close": "Close",
  "cancel": "Cancel",
  "confirm": "Confirm",
  "user": "User",
  "updated_succesfully": "updated successfully",
  "search_placeholder": "Search by name, surname, or email...",
  "change_password": "Change Password",
  "language": "Language",
  "role": "Role",
  "users_management": "Users Management",
  "admin_dashboard_menu": "Stats Dashboard",
  "admin_dashboard_title": "Admin Statistics Dashboard",
  "admin_dashboard_subtitle": "Current situation, activity in period, and service logs.",
  "admin_dashboard_last_update": "Last update",
  "admin_dashboard_refresh": "Refresh stats",
  "admin_dashboard_quick_filters": "Quick filters",
  "admin_dashboard_quick_today": "Today",
  "admin_dashboard_quick_last7": "Last 7 days",
  "admin_dashboard_quick_last30": "Last 30 days",
  "admin_dashboard_quick_this_month": "This month",
  "admin_dashboard_quick_last_month": "Last month",
  "admin_dashboard_period_hint": "Analysed period: {{from}} - {{to}} ({{days}} days)",
  "admin_dashboard_invalid_range": "Invalid date range: start date must be before or equal to end date.",
  "admin_dashboard_load_error": "Error loading admin dashboard data.",
  "admin_dashboard_loading": "Loading statistics...",
  "admin_dashboard_no_data": "No data available for the selected period.",
  "admin_dashboard_users_kpi": "Enabled users",
  "admin_dashboard_premium_kpi": "Premium users",
  "admin_dashboard_active_searches_kpi": "Active searches",
  "admin_dashboard_new_searches_kpi": "New searches in period",
  "admin_dashboard_logs_error_kpi": "Log errors",
  "admin_dashboard_avg_searches_kpi": "Avg. searches per user",
  "admin_dashboard_refresh_intensity_kpi": "Recorded prices",
  "admin_dashboard_price_events_kpi": "Price events",
  "admin_dashboard_expiring_kpi": "Expiring within 7 days",
  "admin_dashboard_advanced_alert_kpi": "Searches with advanced alerts",
  "admin_dashboard_of_total": "of total",
  "admin_dashboard_usage_section": "Feature usage",
  "admin_dashboard_usage_prime": "Searches with prime fares",
  "admin_dashboard_usage_connecting": "Searches with connecting flights",
  "admin_dashboard_usage_promocode": "Searches with promo code",
  "admin_dashboard_distribution_section": "Main distributions",
  "admin_dashboard_alert_modes": "Alert modes",
  "admin_dashboard_trip_types": "Trip types",
  "admin_dashboard_refresh_section": "Refresh behavior & expirations",
  "admin_dashboard_price_summary": "Current price summary",
  "admin_dashboard_avg_price": "Average price",
  "admin_dashboard_min_price": "Minimum price",
  "admin_dashboard_max_price": "Maximum price",
  "admin_dashboard_drop_avg": "Average drop",
  "admin_dashboard_rise_avg": "Average rise",
  "admin_dashboard_top_routes": "Top tracked routes",
  "admin_dashboard_route_col": "Route",
  "admin_dashboard_total_col": "Total",
  "admin_dashboard_active_col": "Active",
  "admin_dashboard_avg_price_col": "Avg. price €",
  "admin_dashboard_top_users": "Most active users",
  "admin_dashboard_user_col": "User",
  "admin_dashboard_email_col": "Email",
  "admin_dashboard_searches_col": "Searches",
  "admin_dashboard_active_searches_col": "Active",
  "admin_dashboard_top_airports": "Most used airports",
  "admin_dashboard_origins": "Origins",
  "admin_dashboard_destinations": "Destinations",
  "admin_dashboard_departure_months": "Departures by month (upcoming)",
  "admin_dashboard_month_col": "Month",
  "admin_dashboard_log_health": "Log health",
  "admin_dashboard_log_error_rate": "Share of error logs",
  "admin_dashboard_log_warning_rate": "Share of warning logs",
  "admin_dashboard_top_errors": "Recurring errors",
  "admin_dashboard_events": "events",
  "admin_dashboard_auth_providers": "Auth providers",
  "admin_dashboard_unknown": "Unknown",
  "admin_dashboard_languages": "User languages",
  "admin_dashboard_none": "No data",
  "admin_dashboard_snapshot_title": "Current situation",
  "admin_dashboard_snapshot_hint": "Totals at the last update, independent of the selected period.",
  "admin_dashboard_activity_title": "Activity in period",
  "admin_dashboard_activity_hint": "Data for the applied period, limited to the history still available.",
  "admin_dashboard_new_users_kpi": "New enabled users",
  "admin_dashboard_price_coverage_kpi": "Searches with a price",
  "admin_dashboard_price_coverage_hint": "{{percent}} of {{total}} retained searches",
  "admin_dashboard_period_pending": "Period changed: apply the dates to update the data.",
  "admin_dashboard_date_from": "From",
  "admin_dashboard_date_to": "To",
  "admin_dashboard_apply_period": "Apply period",
  "admin_dashboard_range_too_long": "Select a date range of no more than 365 days.",
  "admin_dashboard_log_error_share": "{{percent}} of log entries",
  "admin_dashboard_retention_hint": "Expired searches are deleted and price history is limited. Statistics describe the data still retained; logs may not cover the entire period.",
  "admin_dashboard_retention_title": "How to read these figures",
  "admin_dashboard_views_label": "Explore statistics",
  "admin_dashboard_view_operations": "Operations",
  "admin_dashboard_view_searches": "Searches",
  "admin_dashboard_view_users": "Users",
  "admin_dashboard_snapshot_note": "Current situation, independent of the selected period.",
  "admin_dashboard_selected_period_note": "Events recorded in the applied period.",
  "admin_dashboard_price_records_section": "Recorded prices",
  "admin_dashboard_price_records_hint": "The history contains the initial price and detected changes: it does not represent every check performed.",
  "admin_dashboard_price_records_total": "Records in period",
  "admin_dashboard_price_changes_section": "Changes in period",
  "admin_dashboard_price_drops": "Price drops",
  "admin_dashboard_price_rises": "Price rises",
  "admin_dashboard_expiry_section": "Search expirations",
  "admin_dashboard_expired_searches": "Expired searches",
  "admin_dashboard_search_usage_section": "Search usage",
  "admin_dashboard_avg_active_searches": "Average active searches per user",
  "admin_dashboard_logs_section": "Logs in period",
  "admin_dashboard_no_logs": "No logs recorded in the applied period.",
  "admin_dashboard_open_logs": "Open logs",
  "admin_dashboard_open_users": "Manage users",
  "AUTH_INVALID_CREDENTIALS": "Invalid credentials",
  "AUTH_INVALID_REFRESH_TOKEN": "Session expired, please log in again.",
  "AUTH_LOGIN_ERROR": "Failed to login",
  "AUTH_LOGOUT_ERROR": "Server error.",
  "AUTH_REFRESH_TOKEN_REQUIRED": "Session expired, please log in again.",
  "AUTH_VALIDATE_TOKEN_ERROR": "Session expired, please log in again.",
  "BAD_REQUEST": "An unexpected error occurred.",
  "FORBIDDEN": "Action not allowed.",
  "INTERNAL_SERVER_ERROR": "Server error.",
  "INVALID_TOKEN": "Session expired, please log in again.",
  "INVALID_USER_ID": "Invalid user ID.",
  "LOGS_DELETE_ERROR": "Unable to delete logs.",
  "LOGS_FETCH_ERROR": "Error fetching logs, try again",
  "MISSING_REQUIRED_FIELDS": "Please complete all required fields",
  "NO_TOKEN": "Session expired, please log in again.",
  "NOT_FOUND": "Resource not found.",
  "PASSWORD_INVALID": "Password must be at least 10 characters long, contain one uppercase letter, one number, and one special character (!@#$%^*()-_=+?/)",
  "PASSWORD_REQUIRED": "Password must be at least 10 characters long, contain one uppercase letter, one number, and one special character (!@#$%^*()-_=+?/)",
  "PASSWORD_RESET_ERROR": "Server error.",
  "PASSWORD_RESET_REQUEST_ERROR": "Server error, please try again later.",
  "PASSWORD_RESET_TOKEN_INVALID_OR_EXPIRED": "Password reset token is invalid or expired.",
  "PASSWORD_UPDATE_ERROR": "Error updating user",
  "RATE_LIMIT_EXCEEDED": "Too many requests, please try again shortly.",
  "ERR_NETWORK": "Network error. Check your connection and try again.",
  "ERR_BAD_RESPONSE": "Server error. Please try again in a few moments.",
  "ERR_BAD_REQUEST": "Invalid request. Please check your input and try again.",
  "ECONNABORTED": "Request timed out. Please check your connection and try again.",
  "ERR_CANCELED": "Request was canceled.",
  "TOKEN_EXPIRED": "Session expired, please log in again.",
  "UNAUTHORIZED": "Unauthorized action.",
  "USER_ALREADY_EXISTS": "User already exists.",
  "USER_CREATE_ERROR": "Unable to complete registration. If you already have an account, please sign in.",
  "USER_DELETE_ERROR": "Error deleting user.",
  "USER_FETCH_ERROR": "Error fetching user data",
  "USER_INACTIVE": "User is currently inactive.",
  "USER_NOT_FOUND": "User not found.",
  "USER_NOT_FOUND_REGISTER": "User not found, please register.",
  "user_not_found_register_hint": "User not found, please register using the button below.",
  "USER_UPDATE_ERROR": "Error updating user",
  "USERS_FETCH_ERROR": "Error fetching users",
  "VALIDATION_NAME_INVALID": "First and last name must contain only letters and spaces.",
  "all": "All",
  "log_level_info": "Info",
  "log_level_warning": "Warning",
  "log_level_error": "Error",
  "log_level_payment": "Payment",
  "log_level_server": "Server",
  "support_email_address": "info@degiorgio.dev",
  "social_facebook": "Facebook",
  "social_youtube": "YouTube",
  "footer_copyright": "© {{year}} Francesco De Giorgio. All rights reserved.",
  "home_heading": "Flight Price Tracker",
  "header_subtitle": "Independent monitoring · not affiliated",
  "id": "ID",
  "theme_light": "Light",
  "theme_dark": "Dark",
  "toggle_theme": "Toggle theme",
  "stop": "Stop",
  "live": "Live",
  "reset": "Reset",
  "pagination_navigation": "Page navigation",
  "pagination_first": "First",
  "pagination_last": "Last",
  "pagination_of": "of",
  "wip_working_title": "Sorry, we are doing some work.",
  "wip_thanks_message": "Thank you for being patient. We will be back shortly.",
  "logo_alt": "Logo",
  "wip_logo_alt": "Work in progress",
  "faq_image_alt": "Flight Price Tracker",
  "video_not_supported": "Your browser does not support the video tag.",
  "modal_user_signup": "User Signup Modal",
  "modal_user_form": "User Form Modal",
  "modal_reset_password": "Reset Password Modal",
  "modal_edit_search": "Edit Search Modal",
  "show_password": "Show password",
  "hide_password": "Hide password",
  "generic_error": "An unexpected error occurred.",
  "resource_not_found": "Resource not found.",
  "first_last_name_invalid": "First and last name must contain only letters and spaces.",
  "error_fetching_searches": "Error fetching searches, please try again.",
  "search_deleted_success": "Search deleted successfully.",
  "confirm_delete_search": "Do you want to delete the search {{origin}} → {{destination}}?",
  "no_searches_title": "No flight being watched",
  "no_searches_description": "Pick a flight: we check the price every few hours and let you know when it falls, rises or crosses your threshold.",
  "new_search": "New Flight Search",
  "perform_new_search": "Start new search",
  "save_search": "Save Search",
  "user_searches": "My Searches",
  "origin": "Origin",
  "destination": "Destination",
  "departure_date": "Departure Date",
  "return_date": "Return Date",
  "flight_date_range_label": "Departure & Return Dates",
  "trip_type": "Trip Type",
  "one-way": "One-way",
  "round-trip": "Round trip",
  "total": "Total",
  "last_checked": "Last Update",
  "active": "Active",
  "inactive": "Inactive",
  "delete": "Delete",
  "error_saving_search": "Error saving search.",
  "error_deleting_user": "Error deleting user.",
  "flight_dashboard_title": "Flight Search Dashboard",
  "flight_dashboard_description": "Configure your route and passengers, then fetch live Ryanair availability.",
  "flight_select_origin": "Select departure airport",
  "flight_select_destination": "Select destination airport",
  "flight_round_trip_checkbox": "Round trip",
  "flight_one_way_hint": "Uncheck to search one-way only.",
  "passengers": "Passengers",
  "flight_adults_label": "Adults",
  "flight_teens_label": "Teens",
  "flight_children_label": "Children 2-11",
  "flight_infants_label": "Infants 0-2",
  "flight_children_age_label": "Children ages",
  "flight_child_age_item": "Child {{index}} age",
  "flight_select_child_age": "Select age",
  "flight_search_button": "Search Flights",
  "flight_searching_button": "Searching...",
  "flight_error_origin_required": "Please select a departure airport.",
  "flight_error_destination_required": "Please select a destination airport.",
  "flight_error_same_airport": "Departure and destination cannot be the same.",
  "flight_error_departure_required": "Please select a departure date.",
  "flight_error_return_required": "Please select a return date.",
  "flight_error_return_before_departure": "Return date cannot be before departure date.",
  "flight_error_infants_exceed_adults": "Infants cannot exceed adults.",
  "flight_error_no_destinations": "No direct destinations found for this departure airport.",
  "flight_no_airport_found": "No airport found.",
  "flight_error_child_age_required": "Select age for child {{index}}.",
  "flight_error_child_age_invalid": "Child {{index}} age must be between 2 and 11.",
  "error_fetching_flight_availability": "Error fetching flight availability.",
  "flight_results_title": "Flight Results",
  "flight_results_empty_state": "No search result is available in this session. Start a new search from dashboard.",
  "flight_back_to_search": "Back to dashboard",
  "flight_query_summary": "Route",
  "flight_checked_at": "Checked at",
  "flight_cheapest_label": "Cheapest price",
  "flight_no_flights_for_date": "No flights available for this date.",
  "flight_price_unavailable": "Price unavailable",
  "flight_track_this_search": "Track This Search",
  "flight_saving_search": "Saving search...",
  "flight_search_saved_success": "Search saved and tracking enabled.",
  "flight_search_refreshed_success": "Search refreshed successfully.",
  "flight_search_tracking_paused": "Tracking paused for this search.",
  "flight_search_tracking_resumed": "Tracking resumed for this search.",
  "flight_refresh_search": "Refresh now",
  "book_on_ryanair": "Book on Ryanair",
  "flight_refresh_results": "Refresh results",
  "flight_edit_search": "Edit search",
  "refresh_rate_limit_info": "{{used}}/{{max}} refreshes used · retry in {{seconds}}s",
  "refresh_rate_limit_tooltip": "Limit reached: {{used}}/{{max}} refreshes per {{window}} min",
  "flight_pause_tracking": "Stop tracking",
  "flight_resume_tracking": "Resume tracking",
  "flight_track_selected_day": "Track Selected Date",
  "flight_track_option_day": "Track This Option",
  "flight_track_this_flight": "Track This Flight",
  "flight_select_this_flight": "Select This Flight",
  "flight_select_this_date": "Select This Date",
  "flight_main_option_badge": "Main",
  "flight_alt_option_badge": "Flex option",
  "flight_date_selected_badge": "Selected",
  "flight_date_selected_change": "Change selection",
  "flight_round_trip_summary_title": "Round-trip summary",
  "flight_date_not_selected": "Not yet selected",
  "flight_confirm_round_trip_tracking": "Track round trip",
  "flight_selected_departure_section": "Selected departure date (main)",
  "flight_selected_return_section": "Selected return date (main)",
  "flight_selected_flight_label": "Selected flight",
  "flight_selected_flight_missing": "Flight not found in current results",
  "flight_no_specific_flight_selected": "No specific flight (tracking the cheapest fare of the selected date)",
  "flight_other_options_section": "Other possible options (flex days)",
  "flight_selected_date_not_found": "The selected date is not available in current results. Choose one option below.",
  "flight_no_other_options": "No alternative flex-day options available.",
  "flight_price_history_title": "Price History",
  "flight_price_history_empty": "No price history yet.",
  "flight_price_source_create": "Created",
  "flight_price_source_manual": "Manual refresh",
  "flight_price_source_scheduled": "Scheduled refresh",
  "flight_search_create_error": "Unable to save tracked search.",
  "flight_search_refresh_error": "Unable to refresh search.",
  "flight_search_status_error": "Unable to update tracking status.",
  "SEARCH_NOT_FOUND": "Tracked search not found.",
  "FLIGHT_SEARCH_CREATE_ERROR": "Unable to create tracked search.",
  "FLIGHT_SEARCH_FETCH_ERROR": "Unable to fetch tracked searches.",
  "FLIGHT_SEARCH_REFRESH_ERROR": "Unable to refresh tracked search.",
  "FLIGHT_SEARCH_DELETE_ERROR": "Unable to delete tracked search.",
  "FLIGHT_SEARCH_STATUS_ERROR": "Unable to update tracked search status.",
  "ACTIVE_SEARCH_LIMIT_REACHED": "You can keep up to {{count}} active searches. Pause one to add or resume another.",
  "flight_alert_mode_label": "Monitor",
  "flight_alert_mode_all": "All",
  "flight_alert_mode_drop": "Drops",
  "flight_alert_mode_rise": "Rises",
  "FLIGHT_SEARCH_ALERT_MODE_ERROR": "Unable to update alert mode.",
  "flight_outbound_leg": "Outbound",
  "flight_return_leg": "Return",
  "save": "Save",
  "premium_page_menu_label": "Premium",
  "premium_page_title": "Upgrade to Premium",
  "premium_page_subtitle": "Get the most out of your flight tracking with Premium features.",
  "premium_page_feature": "Feature",
  "premium_page_feature_searches": "Max active searches",
  "premium_page_feature_duration": "Tracking duration (days)",
  "premium_page_feature_refresh": "Manual refreshes",
  "premium_page_refresh_free_value": "5 every 15 min",
  "premium_page_refresh_premium_value": "10 every 5 min",
  "premium_page_feature_advanced_alerts": "Advanced alert conditions",
  "premium_page_feature_notifications": "Email notifications",
  "premium_page_feature_push_notifications": "Push notifications",
  "premium_page_legend": "Durations in days.",
  "advanced_alert_title": "Alerts and thresholds",
  "advanced_alert_premium_only": "Upgrade to Premium to set advanced alert conditions.",
  "advanced_alert_target_price": "Target price",
  "advanced_alert_drop_percent": "Minimum drop",
  "advanced_alert_max_price": "Maximum acceptable price",
  "search_expires_today": "Expires today",
  "search_expires_in_days_one": "Expires in {{count}} day",
  "search_expires_in_days_other": "Expires in {{count}} days",
  "pwa": {
    "install": {
      "title": "Install the app",
      "description": "Install Flight Price Tracker on your device to open it faster and use it like a native app.",
      "close": "Close",
      "inProgress": "Opening prompt...",
      "cta": "Install now",
      "iosTitle": "Install on iPhone or iPad",
      "iosDescription": "It only takes two steps to use Flight Price Tracker like an app.",
      "iosStepsLabel": "Installation steps",
      "iosStepShare": "Tap Share in the Safari toolbar",
      "iosStepAdd": "Choose Add to Home Screen"
    },
    "push": {
      "title": "Turn on push notifications?",
      "description": "Get an instant alert when the price of a flight you track changes, even when the app is closed.",
      "enable": "Turn on notifications",
      "dismiss": "Not now",
      "inProgress": "Turning on…",
      "error": "Notifications could not be turned on. Check your browser permissions and try again.",
      "upsellTitle": "Instant alerts with Premium",
      "upsellDescription": "With Premium you get a push notification as soon as the price of a flight you track changes, on top of the email.",
      "upsellCta": "Discover Premium"
    }
  },
  "premium": {
    "badge": "Premium",
    "upgrade": "Upgrade to Premium",
    "upgradeDescription": "Get up to 20 tracked searches, 90-day tracking duration (vs 30 days free), and faster refresh rates.",
    "currentPlan": "Current Plan",
    "freePlan": "Free",
    "premiumPlan": "Premium",
    "searchLimit": "{{current}} / {{max}} active searches",
    "limitReached": "You've reached the maximum number of searches for your plan.",
    "upgradeNow": "Upgrade Now",
    "purchaseSuccess": "Welcome to Premium! Your account has been upgraded.",
    "alreadyPremium": "You already have a Premium account.",
    "grantedByAdmin": "Granted by administrator",
    "grantedByPurchase": "Purchased",
    "adminToggle": "Premium Status",
    "price": "€7.99 — one-time payment, lifetime access",
    "priceSubtitle": "One-time payment — no subscriptions, lifetime access",
    "goToDashboard": "Go to Dashboard",
    "purchaseCancelled": "Payment cancelled",
    "purchaseCancelledDescription": "Your payment was not completed. You have not been charged.",
    "tryAgain": "Try again",
    "checkoutError": "Unable to start payment. Please try again later."
  },
  "privacy_policy": "Privacy Policy",
  "cookie_policy": "Cookie Policy",
  "legal_section": "Legal",
  "price_status_drop": "Falling",
  "price_status_flat": "Stable",
  "price_status_rise": "Rising",
  "price_status_below_target": "Below threshold",
  "price_status_unavailable": "Flight unavailable",
  "price_status_checking": "Checking",
  "price_status_aria_drop": "Price down {{percent}} percent",
  "price_status_aria_flat": "Price stable",
  "price_status_aria_rise": "Price up {{percent}} percent",
  "price_status_aria_below_target": "Price below your threshold of {{target}}",
  "price_status_aria_unavailable": "Flight no longer available",
  "price_history_single_point": "Only one price change so far. The chart appears from the second one.",
  "price_history_broken": "Series interrupted: flight no longer on sale since {{date}}.",
  "price_stat_current": "Current price",
  "price_stat_change": "Change",
  "price_stat_min_max": "Min / max",
  "price_stat_threshold": "Threshold",
  "add_first_flight": "Track the first flight",
  "how_it_works": "How it works",
  "track_another_flight": "Track another flight",
  "threshold_short": "threshold {{value}}",
  "threshold_currency_label": "Threshold currency",
  "threshold_approx": "≈ {{value}} at the current rate",
  "last_update_short": "upd. {{time}}",
  "refresh_failed_title": "Check failed",
  "refresh_failed_body": "Ryanair did not respond. Retrying automatically in 15 minutes.",
  "push_title_below_target": "{{price}} · below your threshold",
  "push_title_drop": "{{price}} · falling",
  "push_title_rise": "{{price}} · rising",
  "push_body": "{{origin}} → {{destination}}, {{date}}. {{delta}} since the last check.",
  "button_loading": "Please wait",
  "active_searches_short": "active",
  "paused_badge": "Paused",
  "price_history_point_price": "Recorded price",
  "price_history_day_max": "Day high",
  "price_history_day_changes_one": "{{count}} change",
  "price_history_day_changes_other": "{{count}} changes",
  "price_history_day_min": "Day low",
  "price_history_checks_one": "History · {{count}} change",
  "price_history_checks_other": "History · {{count}} changes",
  "last_checks_title": "Price changes",
  "source_label": "Source",
  "fare_breakdown_title": "Fare breakdown",
  "tracked_flights_count": "{{count}} tracked flights",
  "go_back": "Back",
  "open_flight_detail": "Open the details for {{route}}",
  "new_tracking_title": "New tracking",
  "flight_date_strip_label": "Dates and prices",
  "flight_swap_airports": "Swap origin and destination",
  "track_short": "Track",
  "preferences": "Preferences",
  "theme_label": "Theme",
  "login_headline": "Know when to buy.",
  "login_subtitle": "We track the price of your Ryanair flights and tell you when it changes. An independent tool, not affiliated with the airline.",
  "no_account": "No account yet?",
  "footer_not_affiliated": "Independent service, not affiliated with or endorsed by Ryanair. Prices are collected automatically and may vary.",
  "terms_of_service": "Terms and Conditions",
  "terms_gate_title": "Updated Terms and Conditions",
  "policies_notice_text": "We have updated our Privacy Policy and Cookie Policy. You can read them here:",
  "policies_notice_dismiss": "Got it",
  "terms_gate_body": "We have updated the Terms and Conditions of the service. To keep creating searches and using paid features, you need to accept them.",
  "terms_gate_checkbox": "I have read and accept the",
  "terms_gate_confirm": "Accept and continue",
  "terms_gate_saving": "Saving…",
  "terms_gate_error": "We could not record your acceptance. Please try again.",
  "signup_terms_checkbox": "I have read and accept the <terms>Terms and Conditions</terms> and have read the <privacy>Privacy Policy</privacy>",
  "signup_terms_required": "You need to accept the Terms and Conditions to create an account.",
  "flight_selected_date_label": "Chosen date",
  "flight_nearby_dates": "Nearby dates",
  "flight_no_flights_this_date": "No flights on this date",
  "flight_no_flights_hint": "The nearby dates below have seats available.",
  "flight_cheapest_badge": "cheapest",
  "flight_from_price": "from {{price}}",
  "flight_monitor_this_flight": "Track this flight",
  "adults_count_one": "{{count}} adult",
  "adults_count_other": "{{count}} adults",
  "edit": "Edit",
  "alerts_when_label": "When to alert you",
  "thresholds_label": "Thresholds",
  "save_thresholds": "Save thresholds",
  "threshold_preview_none": "With this threshold we would not have alerted you in the last month.",
  "threshold_preview_one": "With this threshold we would have alerted you {{count}} time in the last month.",
  "threshold_preview_other": "With this threshold we would have alerted you {{count}} times in the last month.",
  "push_toggle_title": "Push notifications",
  "push_toggle_on": "On for this device",
  "push_toggle_off": "Off for this device",
  "push_locked_hint": "Available with Premium",
  "push_toggle_error": "That didn't work. Check your browser permissions and try again.",
  "push": {
    "unsupported": "Push notifications are not supported in this browser.",
    "denied": "Notifications blocked: turn them back on in your browser settings."
  },
  "last_check_line": "Last check: {{time}}",
  "last_check_unchanged": "price unchanged",
  "last_check_never": "no check yet",
  "expires_short_one": "{{count}} d",
  "expires_short_other": "{{count}} d",
  "expires_today_short": "today",
  "alerts_label": "Alerts",
  "alert_summary_all": "Every change",
  "alert_summary_drop": "Drops only",
  "alert_summary_rise": "Rises only",
  "chart_currency_label": "Chart currency",
  "flight_price_currency_label": "Currency",
  "chart_leg_label": "Leg",
  "round_trip_total_label": "Round trip total",
  "chart_range_7": "7d",
  "chart_range_30": "30d",
  "chart_range_all": "all",
  "about_app_label": "About Flight Price Tracker",
  "pushBanner": {
    "label": "New price alert",
    "open": "Open",
    "dismiss": "Dismiss"
  },
  "unsubscribe_title": "Unsubscribe from price alerts",
  "unsubscribe_body": "You will stop receiving emails when the price of a flight you're tracking changes. Your searches stay active.",
  "unsubscribe_confirm": "Unsubscribe me",
  "unsubscribe_done_title": "Done",
  "unsubscribe_done_body": "You will no longer receive emails about price drops and rises. You can turn them back on from your profile.",
  "unsubscribe_back_home": "Back to home",
  "google_link_title": "Link your account to Google",
  "google_link_body": "If you confirm, your account password will be removed and every open session will be signed out: from then on you will sign in with \"Sign in with Google\". If you want a password again, you can set one with \"I forgot my password\".",
  "google_link_confirm": "Confirm linking",
  "google_link_done_title": "Account linked to Google",
  "google_link_done_body": "Done. Now sign in with \"Sign in with Google\" from the sign-in page.",
  "google_link_error": "The link could not be completed.",
  "google_link_go_login": "Go to the sign-in page",
  "confirm_email_change_title": "Confirm the address change",
  "confirm_email_change_password_body": "To move your account to another address, enter your current password.",
  "confirm_email_change_google_body": "To move your account to another address, sign in with Google again.",
  "AUTH_GOOGLE_ONLY_ACCOUNT": "This account uses Google sign-in: use \"Sign in with Google\", or set a password with \"I forgot my password\".",
  "GOOGLE_LINK_VERIFICATION_SENT": "An account with this address already exists. We sent you an email: open the link to connect it to Google, then sign in again.",
  "GOOGLE_ACCOUNT_MISMATCH": "This account is linked to a different Google account.",
  "GOOGLE_ACCOUNT_ALREADY_LINKED": "This Google account is already linked to another account.",
  "GOOGLE_LINK_TOKEN_INVALID": "The link is invalid or has expired: sign in with Google again to receive a new one.",
  "GOOGLE_AUTH_CONFLICT": "Google sign-in failed: please try again.",
  "GOOGLE_REAUTH_REQUIRED": "To change your email address, sign in with Google again.",
  "GOOGLE_REAUTH_INVALID": "The Google sign-in does not match this account, or is too old: please try again.",
  "unsubscribe_error": "We couldn't complete the request.",
  "error_boundary_title": "Something went wrong",
  "error_boundary_body": "An unexpected error occurred. Reload the page to try again.",
  "error_boundary_reload": "Reload the page",
  "admin_push_modal_label": "Send push notification",
  "admin_push_modal_title": "Send push notification",
  "admin_push_title_placeholder": "e.g. Price drop detected",
  "admin_push_url_label": "URL on click",
  "admin_optional": "(optional)",
  "admin_push_title_label": "Title",
  "admin_push_message_label": "Message",
  "admin_push_message_placeholder": "e.g. The price of the Rome → London flight dropped to €49",
  "admin_push_sent": "Push sent to {{name}}.",
  "admin_push_send_error": "Could not send the push notification.",
  "admin_dashboard_provider_local": "Email and password",
  "admin_dashboard_total_short": "total"
}
