From 9957b27a77d4b5a836068596283a65e9558714a3 Mon Sep 17 00:00:00 2001 From: Deeman Date: Fri, 20 Feb 2026 23:21:59 +0100 Subject: [PATCH] refactor(i18n): extract translations to JSON locale files Move 941 UI strings per language from inline Python dicts to locales/en.json and locales/de.json. Rewrite i18n.py from 2062 lines to 140 lines (JSON loader + inline calc item names). - Create src/padelnomics/locales/en.json (941 keys) - Create src/padelnomics/locales/de.json (941 keys) - Add load-time key parity assertion (EN/DE must match) - Keep _CALC_ITEM_NAMES inline (36 keys, calc-only namespace) - Fix stale docstring referencing non-existent function - Add tests/test_i18n_parity.py: key parity, non-empty values, no untranslated copy-paste (with allowlist for proper nouns) All 1013 existing tests pass + 5 new parity tests. Co-Authored-By: Claude Opus 4.6 --- padelnomics/src/padelnomics/i18n.py | 1992 +------------------ padelnomics/src/padelnomics/locales/de.json | 943 +++++++++ padelnomics/src/padelnomics/locales/en.json | 943 +++++++++ padelnomics/tests/test_i18n_parity.py | 97 + 4 files changed, 2018 insertions(+), 1957 deletions(-) create mode 100644 padelnomics/src/padelnomics/locales/de.json create mode 100644 padelnomics/src/padelnomics/locales/en.json create mode 100644 padelnomics/tests/test_i18n_parity.py diff --git a/padelnomics/src/padelnomics/i18n.py b/padelnomics/src/padelnomics/i18n.py index 33010bb..59b2545 100644 --- a/padelnomics/src/padelnomics/i18n.py +++ b/padelnomics/src/padelnomics/i18n.py @@ -1,1960 +1,37 @@ """ -i18n support: supported languages and UI translation strings. +UI translation strings. -No external dependencies — flat dicts, grouped by page/section. +Usage: + from .i18n import get_translations, get_calc_item_names, SUPPORTED_LANGS -Functions: - get_translations(lang) -- UI strings for templates ({{ t.key }}) - get_planner_translations(lang) -- strings injected into planner.js via window.__PADELNOMICS_LOCALE__ - get_calc_item_names(lang) -- CAPEX/OPEX item names for calculator.py + t = get_translations("de") # → dict[str, str] + t["nav_planner"] # → "Finanzplaner" """ +import json +from pathlib import Path SUPPORTED_LANGS = {"en", "de"} - -# Blueprints that carry a / URL prefix (SEO-relevant, public-facing). -# Internal blueprints (auth, dashboard, admin, billing) are NOT in this set. LANG_BLUEPRINTS = {"public", "planner", "directory", "content", "leads", "suppliers"} +_LOCALES_DIR = Path(__file__).parent / "locales" + + +def _load_locale(filename: str) -> dict[str, str]: + path = _LOCALES_DIR / filename + assert path.is_file(), f"Missing locale file: {path}" + data = json.loads(path.read_text(encoding="utf-8")) + assert isinstance(data, dict), f"Locale file must be a flat JSON object: {path}" + return data + + _TRANSLATIONS: dict[str, dict[str, str]] = { - "en": { - # ── Navigation & footer (existing keys) ───────────────────────────── - "nav_planner": "Planner", - "nav_quotes": "Get Quotes", - "nav_directory": "Directory", - "nav_markets": "Markets", - "nav_suppliers": "For Suppliers", - "nav_help": "Help", - "nav_feedback": "Feedback", - "nav_send": "Send", - "nav_signin": "Sign In", - "nav_signout": "Sign Out", - "nav_dashboard": "Dashboard", - "nav_admin": "Admin", - "footer_tagline": "Plan, finance, and build your padel business.", - "footer_product": "Product", - "footer_legal": "Legal", - "footer_company": "Company", - "footer_rights": "All rights reserved.", - "link_terms": "Terms", - "link_privacy": "Privacy", - "link_imprint": "Imprint", - "lang_switch_label": "DE", - # ── Base / shared ──────────────────────────────────────────────────── - "base_manage_cookies": "Manage Cookies", - "base_about": "About", - "base_feedback_placeholder": "Ideas to improve this page...", - "base_feedback_contact_placeholder": "Your email (optional)", - # ── Cookie banner ──────────────────────────────────────────────────── - "cookie_title": "Cookie Preferences", - "cookie_message": "We use cookies to keep you signed in and improve the site.", - "cookie_policy": "Cookie policy", - "cookie_essential_label": "Essential", - "cookie_essential_desc": "Session management. Always required.", - "cookie_essential_always": "ON", - "cookie_functional_label": "Functional", - "cookie_functional_desc": "A/B testing to improve the experience.", - "cookie_save": "Save choices", - "cookie_manage": "Manage", - "cookie_accept_all": "Accept all", - "cookie_close": "Close", - # ── Auth templates ─────────────────────────────────────────────────── - "auth_login_title": "Sign In", - "auth_login_sub": "Enter your email to receive a sign-in link.", - "auth_login_email_label": "Email", - "auth_login_btn": "Send Sign-In Link", - "auth_login_no_account": "Don't have an account?", - "auth_login_signup_link": "Sign up", - "auth_signup_title": "Create Free Account", - "auth_signup_sub": "Save your padel business plan, get supplier quotes, and find financing.", - "auth_signup_hint": "No credit card required. Full access to all features.", - "auth_signup_btn": "Create Free Account", - "auth_signup_have_account": "Already have an account?", - "auth_signup_signin_link": "Sign in", - "auth_magic_title": "Check Your Email", - "auth_magic_sent_to": "We've sent a sign-in link to:", - "auth_magic_instructions": "Click the link in the email to sign in. The link expires in {minutes} minutes.", - "auth_magic_no_email": "Didn't receive the email?", - "auth_magic_check_spam": "Check your spam folder", - "auth_magic_correct_email": "Make sure the email address is correct", - "auth_magic_wait": "Wait a minute and try again", - "auth_magic_resend_btn": "Resend Link", - "auth_waitlist_title": "Be First to Launch Your Padel Business", - "auth_waitlist_sub": "We're preparing to launch the ultimate planning platform for padel entrepreneurs. Join the waitlist for early access, exclusive bonuses, and priority support.", - "auth_waitlist_hint": "You'll be among the first to get access when we launch.", - "auth_waitlist_btn": "Join Waitlist", - "auth_waitlist_confirmed_title": "You're on the Waitlist!", - "auth_waitlist_confirmed_sent_to": "We've sent a confirmation to:", - "auth_waitlist_confirmed_sub": "You'll be among the first to know when we launch. We'll send you early access, exclusive launch bonuses, and priority onboarding.", - "auth_waitlist_confirmed_next": "What happens next?", - "auth_waitlist_confirmed_step1": "You'll receive a confirmation email shortly", - "auth_waitlist_confirmed_step2": "We'll notify you as soon as we launch", - "auth_waitlist_confirmed_step3": "You'll get exclusive early access before the public launch", - "auth_waitlist_confirmed_back": "Back to Home", - "auth_flash_invalid_email": "Please enter a valid email address.", - "auth_flash_disposable_email": "Please use a permanent email address.", - "auth_flash_login_sent": "Check your email for the sign-in link!", - "auth_flash_account_exists": "Account already exists. Please sign in.", - "auth_flash_signup_sent": "Check your email to complete signup!", - "auth_flash_invalid_token": "Invalid or expired link.", - "auth_flash_invalid_token_detail": "Invalid or expired link. Please request a new one.", - "auth_flash_signed_in": "Successfully signed in!", - "auth_flash_signed_out": "You have been signed out.", - "auth_flash_resend_sent": "If that email is registered, we've sent a new link.", - # ── Flash messages (public-facing blueprints only) ─────────────────── - "flash_feedback_success": "Thank you for your feedback!", - "flash_feedback_empty": "Please enter a message.", - "flash_feedback_rate_limit": "Too many submissions. Try again later.", - "flash_suppliers_success": "Thanks! We'll connect you with verified court suppliers.", - "flash_financing_success": "Thanks! We'll connect you with financing partners.", - "flash_verify_invalid": "Invalid verification link.", - "flash_verify_expired": "This link has expired or already been used. Please submit a new quote request.", - "flash_verify_invalid_lead": "This quote has already been verified or does not exist.", - # ── Landing page ───────────────────────────────────────────────────── - "landing_hero_badge": "Padel court financial planner", - "landing_hero_h1_1": "Plan Your Padel", - "landing_hero_h1_2": "Business in Minutes,", - "landing_hero_h1_3": "Not Months", - "landing_hero_btn_primary": "Plan Your Padel Business \u2192", - "landing_hero_btn_secondary": "Browse Suppliers", - "landing_hero_bullet_1": "No signup required", - "landing_hero_bullet_2": "60+ variables", - "landing_hero_bullet_3": "Unlimited scenarios", - "landing_roi_title": "Quick ROI Estimate", - "landing_roi_subtitle": "Drag the sliders to see your projection", - "landing_roi_courts": "Courts", - "landing_roi_rate": "Avg. Hourly Rate", - "landing_roi_util": "Target Utilization", - "landing_roi_investment": "Investment", - "landing_roi_monthly_cf": "Monthly Cash Flow", - "landing_roi_payback": "Payback Period", - "landing_roi_annual_roi": "Annual ROI", - "landing_roi_note": "Assumes indoor rent model, \u20ac8/m\u00b2 rent, staff costs, 5% interest, 10-yr loan. Payback and ROI based on total investment.", - "landing_roi_cta": "Plan Your Padel Business \u2192", - "landing_journey_title": "Your Journey", - "landing_journey_01": "Explore", - "landing_journey_01_badge": "Soon", - "landing_journey_02": "Plan", - "landing_journey_03": "Finance", - "landing_journey_03_badge": "Soon", - "landing_journey_04": "Build", - "landing_journey_05": "Grow", - "landing_journey_05_badge": "Soon", - "landing_features_title": "Built for Serious Padel Entrepreneurs", - "landing_feature_1_h3": "60+ Variables", - "landing_feature_2_h3": "6 Analysis Tabs", - "landing_feature_3_h3": "Indoor & Outdoor", - "landing_feature_4_h3": "Sensitivity Analysis", - "landing_feature_5_h3": "Professional Metrics", - "landing_feature_6_h3": "Save & Compare", - "landing_supplier_title": "Find the Right Suppliers for Your Project", - "landing_supplier_step_1_title": "Plan Your Venue", - "landing_supplier_step_2_title": "Get Quotes", - "landing_supplier_step_3_title": "Compare & Build", - "landing_supplier_browse_btn": "Browse Supplier Directory", - "landing_faq_title": "Frequently Asked Questions", - "landing_faq_q1": "What does the planner calculate?", - "landing_faq_q2": "Do I need to sign up?", - "landing_faq_q3": "How does supplier matching work?", - "landing_faq_q4": "Is the supplier directory free?", - "landing_faq_q5": "How accurate are the financial projections?", - "landing_seo_title": "Padel Court Investment Planning", - "landing_final_cta_h2": "Start Planning Today", - "landing_final_cta_btn": "Plan Your Padel Business \u2192", - # ── Features page ──────────────────────────────────────────────────── - "features_h1": "Everything You Need to Plan Your Padel Business", - "features_subtitle": "Professional-grade financial modeling, completely free.", - "features_card_1_h2": "60+ Variables", - "features_card_2_h2": "6 Analysis Tabs", - "features_card_3_h2": "Indoor & Outdoor", - "features_card_4_h2": "Sensitivity Analysis", - "features_card_5_h2": "Professional Metrics", - "features_card_6_h2": "Save & Compare", - "features_capex_h2": "Detailed CAPEX Breakdown", - "features_opex_h2": "Operating Model", - "features_cf_h2": "Cash Flow & Financing", - "features_returns_h2": "Returns & Exit", - "features_cta_open": "Open Planner", - "features_cta_signup": "Create Free Account", - # ── About page ─────────────────────────────────────────────────────── - "about_why_h3": "Why free?", - "about_next_h3": "What\u2019s next", - "about_cta_open": "Open Planner", - "about_cta_signup": "Create Free Account", - # ── Suppliers marketing page (public blueprint) ────────────────────── - "suppliers_hero_cta": "See Plans & Pricing", - "suppliers_stat_plans_label": "Business plans created", - "suppliers_stat_avg_value": "Avg. project value", - "suppliers_stat_leads_label": "Leads this month", - "suppliers_problem_h2": "The Problem With Finding Padel Clients Today", - "suppliers_problem_sub": "Most channels waste your time and budget before you talk to a single serious buyer.", - "suppliers_problem_1_h3": "Trade Shows", - "suppliers_problem_2_h3": "Google Ads", - "suppliers_problem_3_h3": "Cold Outreach", - "suppliers_transition": "What if every lead came with a complete project brief and a financial model?", - "suppliers_how_h2": "How It Works", - "suppliers_how_sub": "Three steps to qualified leads.", - "suppliers_step_1_h3": "Claim Your Listing", - "suppliers_step_2_h3": "Browse Pre-Qualified Leads", - "suppliers_step_3_h3": "Win Projects Faster", - "suppliers_credits_h2": "How Credits Work", - "suppliers_credit_hot": "Hot Lead", - "suppliers_credit_warm": "Warm Lead", - "suppliers_credit_cool": "Cool Lead", - "suppliers_leads_h2": "Recent Verified Leads", - "suppliers_leads_unlock": "Unlock full contact details and project specs with credits.", - "suppliers_leads_cta": "Get started \u2192", - "suppliers_leads_facility": "Facility", - "suppliers_leads_country": "Country", - "suppliers_leads_budget": "Budget", - "suppliers_leads_timeline": "Timeline", - "suppliers_leads_contact": "Contact", - "suppliers_why_h2": "Why Padelnomics Leads Are Different", - "suppliers_why_sub": "Every lead has already built a financial model for their project.", - "suppliers_why_1_h3": "Pre-Qualified", - "suppliers_why_2_h3": "Full Project Brief", - "suppliers_why_3_h3": "No Cold Outreach", - "suppliers_pricing_h2": "Plans & Pricing", - "suppliers_pricing_sub": "Choose the plan that fits your growth goals.", - "suppliers_billing_monthly": "Monthly", - "suppliers_billing_yearly": "Yearly", - "suppliers_save_badge": "Save up to 26%", - "suppliers_basic_name": "Basic", - "suppliers_growth_name": "Growth", - "suppliers_growth_popular": "Most Popular", - "suppliers_pro_name": "Pro", - "suppliers_plan_per_mo": "/mo", - "suppliers_plan_get_listed": "Get Listed", - "suppliers_plan_get_started": "Get Started", - "suppliers_boosts_h2": "Boost Add-Ons", - "suppliers_boosts_sub": "Available with any paid plan. Manage from your dashboard.", - "suppliers_comparison_h2": "How We Compare", - "suppliers_faq_h2": "Supplier FAQ", - "suppliers_final_cta_h2": "Your Next Client Is Already Building a Business Plan", - "suppliers_final_cta_desc": "They\u2019ve modeled the ROI. They know their budget. They\u2019re looking for a supplier like you.", - "suppliers_final_cta_btn": "See Plans & Pricing", - # ── Planner landing section (planner.html pricing cards) ───────────── - "planner_page_h2": "100% Free. No Catch.", - "planner_card_1_h3": "Financial Planner", - "planner_card_1_price": "Free", - "planner_card_1_price_sub": "\u2014 forever", - "planner_card_1_open": "Open Planner", - "planner_card_1_signup": "Create Free Account", - "planner_card_2_h3": "Need Help Building?", - "planner_card_2_desc": "We connect you with verified partners", - "planner_card_2_quotes_btn": "Get Supplier Quotes", - "planner_card_2_signup_btn": "Sign Up to Get Started", - "planner_quote_cta_label": "Next Step", - "planner_quote_cta_title": "Get quotes from verified court suppliers", - "planner_quote_cta_desc": "Share your project specs and we\u2019ll connect you with matched suppliers.", - "planner_quote_cta_check_1": "Matched suppliers", - "planner_quote_cta_check_2": "Direct contact, no middleman", - "planner_quote_cta_check_3": "No commitment", - "planner_quote_cta_check_4": "Your data stays private", - "planner_quote_cta_btn": "Get Supplier Quotes \u2192", - "planner_quote_cta_hint": "Takes ~2 minutes", - "planner_export_btn": "Export Business Plan (PDF) \u2192", - "planner_export_hint": "\u20ac99 one-time \u00b7 Bank-ready", - "planner_signup_bar_msg": "Create an account to save scenarios and compare plans.", - "planner_signup_bar_btn": "Sign Up Free", - # ── Export templates ───────────────────────────────────────────────── - "export_title": "Export Business Plan (PDF)", - "export_subtitle": "Bank-ready financial projections from your planner scenario.", - "export_scenario_label": "Scenario", - "export_language_label": "Language", - "export_scenario_default": "Select a scenario...", - "export_btn": "Purchase & Generate PDF \u2014 \u20ac99", - "export_your_exports": "Your Exports", - "export_download": "Download PDF", - "export_generating": "Generating...", - "export_failed": "Failed", - "export_back": "\u2190 Back to Planner", - "export_success_title": "Payment Received", - "export_success_subtitle": "Your business plan PDF is being generated. This usually takes less than a minute.", - "export_success_status": "Your PDF is being generated. Refresh this page in a moment, or check your email \u2014 we\u2019ll send you a download link when it\u2019s ready.", - "export_success_refresh": "Refresh Status", - "export_success_all": "View All Exports", - "export_success_planner": "Back to Planner", - "export_gen_title": "Generating Your Business Plan", - "export_gen_subtitle": "This usually takes less than a minute. This page will auto-refresh.", - "export_gen_refresh": "Refresh Now", - "export_gen_all": "View All Exports", - "export_waitlist_title": "Business Plan PDF Export Coming Soon", - "export_waitlist_btn": "Back to Planner", - # ── Scenario list partial ──────────────────────────────────────────── - "scenario_drawer_title": "My Scenarios", - "scenario_badge_default": "default", - "scenario_btn_load": "Load", - "scenario_btn_delete": "Del", - "scenario_empty": "No saved scenarios yet. Use the Save button to store your current plan.", - "scenario_updated": "Updated", - "scenario_created": "Created", - # ── Directory ──────────────────────────────────────────────────────── - "dir_heading": "Padel Court Supplier Directory", - "dir_subheading": "Browse {n}+ suppliers across {c} countries. Find manufacturers, builders, and specialists for your project.", - "dir_stat_suppliers": "suppliers", - "dir_stat_countries": "countries", - "dir_stat_categories": "categories", - "dir_search_placeholder": "Search suppliers, countries, products...", - "dir_filter_all_countries": "All Countries", - "dir_filter_all_categories": "All Categories", - "dir_search_btn": "Search", - "dir_filter_clear": "Clear all", - "dir_cta_heading": "Are you a padel court supplier?", - "dir_cta_subheading": "Get listed and connect with entrepreneurs planning padel projects.", - "dir_cta_btn": "Get Listed", - "dir_card_verified": "Verified", - "dir_card_featured": "Featured", - "dir_card_growth": "Growth", - "dir_card_unverified": "Unverified", - "dir_card_quote_btn": "Request Quote \u2192", - "dir_card_view_btn": "View Listing \u2192", - "dir_card_claim_btn": "Is this yours? \u2192", - "dir_empty_heading": "No suppliers found", - "dir_empty_sub": "Try adjusting your search or filters.", - "dir_empty_clear": "Clear all filters", - # ── Directory category labels ──────────────────────────────────────── - "dir_cat_manufacturer": "Manufacturer", - "dir_cat_turnkey": "Turnkey Provider", - "dir_cat_consultant": "Consultant", - "dir_cat_hall_builder": "Hall Builder", - "dir_cat_turf": "Turf / Surfaces", - "dir_cat_lighting": "Lighting", - "dir_cat_software": "Software", - "dir_cat_industry_body": "Industry Body", - "dir_cat_franchise": "Franchise / Operator", - # ── Directory region labels ────────────────────────────────────────── - "dir_region_europe": "Europe", - "dir_region_north_america": "North America", - "dir_region_latin_america": "Latin America", - "dir_region_middle_east": "Middle East", - "dir_region_asia_pacific": "Asia Pacific", - "dir_region_africa": "Africa", - # ── Directory country labels ───────────────────────────────────────── - "dir_country_DE": "Germany", - "dir_country_ES": "Spain", - "dir_country_IT": "Italy", - "dir_country_FR": "France", - "dir_country_PT": "Portugal", - "dir_country_GB": "United Kingdom", - "dir_country_NL": "Netherlands", - "dir_country_BE": "Belgium", - "dir_country_SE": "Sweden", - "dir_country_DK": "Denmark", - "dir_country_FI": "Finland", - "dir_country_NO": "Norway", - "dir_country_AT": "Austria", - "dir_country_SI": "Slovenia", - "dir_country_IS": "Iceland", - "dir_country_CH": "Switzerland", - "dir_country_EE": "Estonia", - "dir_country_US": "United States", - "dir_country_CA": "Canada", - "dir_country_MX": "Mexico", - "dir_country_BR": "Brazil", - "dir_country_AR": "Argentina", - "dir_country_AE": "UAE", - "dir_country_SA": "Saudi Arabia", - "dir_country_TR": "Turkey", - "dir_country_CN": "China", - "dir_country_IN": "India", - "dir_country_SG": "Singapore", - "dir_country_ID": "Indonesia", - "dir_country_TH": "Thailand", - "dir_country_AU": "Australia", - "dir_country_ZA": "South Africa", - "dir_country_EG": "Egypt", - # ── Supplier detail ────────────────────────────────────────────────── - "sp_back": "Back to Directory", - "sp_verified": "Verified \u2713", - "sp_request_quote": "Request Quote \u2192", - "sp_visit_website": "Visit Website", - "sp_about": "About", - "sp_services": "Services Offered", - "sp_service_area": "Service Area", - "sp_enquiry_heading": "Send an Enquiry", - "sp_enquiry_name": "Your Name", - "sp_enquiry_email": "Email", - "sp_enquiry_message": "Message", - "sp_enquiry_submit": "Send Enquiry", - "sp_contact": "Contact", - "sp_years": "Years Active", - "sp_projects": "Projects", - "sp_trust": "Verified listing \u2014 identity and ownership confirmed", - "sp_cta_basic_h3": "Looking for direct quote matching?", - "sp_cta_claim_h3": "Is this your company?", - "sp_cta_claim_btn": "Claim This Listing \u2192", - "sp_locked_hint": "Listing not yet verified", - "sp_locked_popover_title": "Direct quotes unavailable", - "sp_locked_popover_link": "Use Quote Wizard \u2192", - "sp_locked_popover_dismiss": "Dismiss", - # ── Enquiry result partial ─────────────────────────────────────────── - "enquiry_success_title": "Enquiry sent!", - "enquiry_error_title": "Please fix the following:", - # ── Quote wizard (leads) ───────────────────────────────────────────── - "q_btn_next": "Next \u2192", - "q_btn_back": "\u2190 Back", - "q_btn_submit": "Submit & Get Quotes \u2192", - "q1_heading": "Your Project", - "q1_subheading": "What type of padel facility are you planning?", - "q1_prefill_sub": "Pre-filled from your planner \u2014 adjust as needed.", - "q1_edit_in_planner": "Edit in Planner", - "q6_required_hint": "Please select a financing status.", - "q6_decision_required_hint": "Please select your decision process.", - "q8_required_hint": "Please select at least one service.", - "q1_facility_label": "Facility Type", - "q1_facility_indoor": "Indoor", - "q1_facility_outdoor": "Outdoor", - "q1_facility_both": "Indoor + Outdoor", - "q1_court_count": "Number of Courts", - "q1_glass_label": "Glass Type", - "q1_glass_standard": "Standard Glass", - "q1_glass_panoramic": "Panoramic Glass", - "q1_glass_no_pref": "No Preference", - "q1_lighting_label": "Lighting", - "q1_lighting_led_std": "LED Standard", - "q1_lighting_led_comp": "LED Competition", - "q1_lighting_natural": "Natural Light", - "q1_lighting_not_sure": "Not Sure", - "q2_heading": "Location", - "q2_subheading": "Where are you planning to build?", - "q2_city_label": "City / Region", - "q2_city_placeholder": "e.g. Munich, Bavaria", - "q2_country_label": "Country", - "q2_country_default": "Select country...", - "q3_heading": "Build Context", - "q3_subheading": "What best describes your project?", - "q3_context_label": "Build Context", - "q3_context_new": "New Standalone Venue", - "q3_context_adding": "Adding to Existing Club", - "q3_context_converting": "Converting a Building", - "q3_context_venue_search": "Need Help Finding a Venue", - "q4_heading": "Project Phase", - "q4_subheading": "Where are you in the process?", - "q4_phase_label": "Project Phase", - "q4_phase_searching": "Still searching for a location", - "q4_phase_found": "Location identified", - "q4_phase_converting": "Converting existing facility", - "q4_phase_lease_signed": "Lease / purchase signed", - "q4_phase_permit_not_filed": "Permit not yet filed", - "q4_phase_permit_pending": "Permit in progress", - "q4_phase_permit_granted": "Permit approved", - "q5_heading": "Timeline", - "q5_subheading": "When do you want to get started?", - "q5_timeline_label": "Timeline", - "q5_timeline_asap": "ASAP", - "q5_timeline_3_6": "3\u20136 Months", - "q5_timeline_6_12": "6\u201312 Months", - "q5_timeline_12_plus": "12+ Months", - "q5_budget_label": "Budget Estimate (\u20ac)", - "q6_heading": "Financing", - "q6_subheading": "How are you funding the project?", - "q6_status_label": "Financing Status", - "q6_status_self": "Self-Funded", - "q6_status_loan": "Loan Approved", - "q6_status_seeking": "Seeking Financing", - "q6_status_not_started": "Not Started", - "q6_help_checkbox": "I\u2019d like help finding financing options", - "q6_decision_label": "Decision Process", - "q6_decision_solo": "Solo Decision", - "q6_decision_partners": "With Partners", - "q6_decision_committee": "Committee / Board", - "q7_heading": "About You", - "q7_subheading": "This helps us match you with the right suppliers.", - "q7_role_label": "You are\u2026", - "q7_role_entrepreneur": "Entrepreneur / Investor", - "q7_role_tennis": "Tennis / Sports Club", - "q7_role_municipality": "Municipality / Public Body", - "q7_role_developer": "Real Estate Developer", - "q7_role_operator": "Existing Padel Operator", - "q7_role_architect": "Architect / Engineer", - "q7_contact_label": "Have you contacted suppliers before?", - "q7_contact_first": "First time", - "q7_contact_researching": "Researching options", - "q7_contact_received": "Already received quotes", - "q8_heading": "Services Needed", - "q8_subheading": "Select all that apply. This helps suppliers prepare relevant proposals.", - "q8_services_label": "Services", - "q8_services_note": "(select all that apply)", - "q8_court_supply": "Court Supply", - "q8_installation": "Installation", - "q8_construction": "Hall Construction", - "q8_design": "Facility Design", - "q8_lighting": "Lighting", - "q8_flooring": "Flooring", - "q8_turnkey": "Full Turnkey", - "q8_additional_label": "Anything else?", - "q8_additional_placeholder": "Any specific requirements, questions, or context\u2026", - "q9_heading": "Contact Details", - "q9_subheading": "How should matched suppliers reach you?", - "q9_privacy_msg": "Your contact details are shared only with pre-vetted suppliers that match your project specs.", - "q9_name_label": "Full Name", - "q9_email_label": "Email", - "q9_phone_label": "Phone", - "q9_company_label": "Company", - "q9_company_note": "(optional)", - "q9_consent_text": "I agree that my project details and contact information may be shared with verified padel court suppliers matched to my project.", - "q9_consent_privacy": "Privacy Policy", - "q9_consent_terms": "Terms", - "q9_no_obligation": "No obligation.", - "qs_title": "You\u2019re matched!", - "qs_next_h2": "What happens next", - "qs_step_1": "Suppliers review your project brief and prepare proposals", - "qs_step_1_time": "Now", - "qs_step_2": "Matched suppliers contact you with tailored quotes", - "qs_step_2_time": "1\u20132 days", - "qs_step_3": "Compare proposals and ask follow-up questions", - "qs_step_3_time": "1\u20132 weeks", - "qs_step_4": "Choose the supplier that fits your project best", - "qs_step_4_time": "At your pace", - "qs_signup_h3": "Create an account", - "qs_signup_text": "Save scenarios, track your project, and get notified when suppliers respond.", - "qs_signup_btn": "Create Account", - "qs_back_planner": "Back to Planner", - "qv_heading": "Check your email", - "qv_link_expiry": "The link expires in 60 minutes.", - "qv_spam": "Check your spam folder", - "qv_wait": "Wait a minute \u2014 delivery can take a moment", - "qv_wrong_email": "Wrong email?", - "qv_wrong_email_link": "Submit a new request", - # ── Suppliers signup flow ──────────────────────────────────────────── - "sup_signup_step1": "Choose Your Plan", - "sup_signup_step2": "Boost Add-Ons", - "sup_signup_step3": "Credit Packs", - "sup_signup_step4": "Account Details", - "sup_success_h2": "You\u2019re All Set!", - "sup_success_text": "Your supplier account is being activated. You\u2019ll start receiving qualified leads matching your services.", - "sup_success_next_h3": "What happens next:", - "sup_success_btn": "Go to Lead Feed", - # ── Suppliers waitlist ─────────────────────────────────────────────── - "sup_waitlist_h1": "Join the Supplier Platform Waitlist", - "sup_waitlist_email_label": "Email", - "sup_waitlist_submit": "Join Waitlist", - "sup_waitlist_signin_text": "Already have an account?", - "sup_waitlist_signin_link": "Sign in", - # ── Content / Markets ──────────────────────────────────────────────── - "mkt_heading": "Padel Markets", - "mkt_subheading": "Cost analysis and financial projections for padel centers worldwide.", - "mkt_search_placeholder": "Search markets\u2026", - "mkt_all_countries": "All Countries", - "mkt_all_regions": "All Regions", - "mkt_no_results": "No markets found. Try adjusting your filters.", - "waitlist_markets_title": "Markets Intelligence — Coming Soon", - "waitlist_markets_sub": "Deep-dive market reports for padel investors: construction costs, revenue benchmarks, occupancy data, and ROI analysis by city and region.", - "waitlist_markets_feature1": "Real cost data from operating venues across 30+ countries", - "waitlist_markets_feature2": "Revenue benchmarks and utilization rates by market maturity", - "waitlist_markets_feature3": "Investment return profiles and comparable transactions", - "waitlist_markets_email_label": "Your email", - "waitlist_markets_btn": "Get early access", - "waitlist_markets_hint": "Be the first to know when markets data launches.", - "waitlist_markets_confirmed_title": "You're on the list", - "waitlist_markets_confirmed_body": "We'll notify you as soon as markets intelligence is available.", - "waitlist_markets_have_account": "Already have an account?", - "waitlist_markets_signin_link": "Sign in", - # ── Article detail ─────────────────────────────────────────────────── - "art_run_numbers_h2": "Run Your Own Numbers", - "art_run_numbers_text": "Use our free financial planner to model a padel center with your own assumptions.", - "art_open_planner_btn": "Open the Planner", - # ── Planner UI strings ─────────────────────────────────────────────── - "tab_assumptions": "Assumptions", - "tab_capex": "Investment", - "tab_operating": "Operating Model", - "tab_cashflow": "Cash Flow", - "tab_returns": "Returns & Exit", - "tab_metrics": "Key Metrics", - "wiz_venue": "Venue", - "wiz_pricing": "Pricing", - "wiz_costs": "Costs", - "wiz_finance": "Finance", - "toggle_indoor": "Indoor", - "toggle_outdoor": "Outdoor", - "toggle_rent": "Rent / Lease", - "toggle_buy": "Buy / Build", - "pill_country": "Country", - "pill_glass_type": "Glass Type", - "pill_lighting_type": "Lighting Type", - "pill_glass_standard": "Standard Glass", - "pill_glass_panoramic": "Panoramic Glass", - "pill_light_led_standard": "LED Standard", - "pill_light_led_competition": "LED Competition", - "pill_light_natural": "Natural Light", - "country_de": "Germany", - "country_es": "Spain", - "country_it": "Italy", - "country_fr": "France", - "country_nl": "Netherlands", - "country_se": "Sweden", - "country_uk": "UK", - "country_us": "USA", - "sl_dbl_courts": "Double Courts (20\u00d710m)", - "sl_sgl_courts": "Single Courts (20\u00d76m)", - "sl_sqm_dbl_hall": "Hall m\u00b2 per Double Court", - "sl_sqm_sgl_hall": "Hall m\u00b2 per Single Court", - "sl_sqm_dbl_outdoor": "Land m\u00b2 per Double Court", - "sl_sqm_sgl_outdoor": "Land m\u00b2 per Single Court", - "sl_rate_peak": "Peak Hour Rate (\u20ac)", - "sl_rate_offpeak": "Off-Peak Hour Rate (\u20ac)", - "sl_rate_single": "Single Court Rate (\u20ac)", - "sl_peak_pct": "Peak Hours Share", - "sl_booking_fee": "Platform Fee", - "sl_util_target": "Target Utilization", - "sl_hours_per_day": "Operating Hours / Day", - "sl_days_indoor": "Indoor Days / Month", - "sl_days_outdoor": "Outdoor Days / Month", - "sl_ancillary_header": "Ancillary Revenue (per court/month):", - "sl_membership_rev": "Membership Revenue / Court", - "sl_fb_rev": "F&B Revenue / Court", - "sl_coaching_rev": "Coaching & Events / Court", - "sl_retail_rev": "Retail / Court", - "sl_court_cost_dbl": "Court Cost \u2014 Double", - "sl_court_cost_sgl": "Court Cost \u2014 Single", - "sl_hall_cost_sqm": "Hall Construction (\u20ac/m\u00b2)", - "sl_foundation_sqm": "Foundation (\u20ac/m\u00b2)", - "sl_land_price_sqm": "Land Price (\u20ac/m\u00b2)", - "sl_hvac": "HVAC System", - "sl_electrical": "Electrical + Lighting", - "sl_sanitary": "Sanitary / Changing", - "sl_fire": "Fire Protection", - "sl_planning": "Planning + Permits", - "sl_floor_prep": "Floor Preparation", - "sl_hvac_upgrade": "HVAC Upgrade", - "sl_lighting_upgrade": "Lighting Upgrade", - "sl_fitout": "Fit-Out & Reception", - "sl_outdoor_foundation": "Concrete (\u20ac/m\u00b2)", - "sl_outdoor_site_work": "Site Work", - "sl_outdoor_lighting": "Lighting per Court", - "sl_outdoor_fencing": "Fencing", - "sl_permits": "Permits & Compliance", - "sl_working_capital": "Working Capital", - "sl_contingency": "Contingency", - "sl_budget_target": "Your Budget Target", - "sl_rent_sqm": "Rent (\u20ac/m\u00b2/month)", - "sl_outdoor_rent": "Monthly Land Rent", - "sl_property_tax": "Property Tax / month", - "sl_insurance": "Insurance (\u20ac/mo)", - "sl_electricity": "Electricity (\u20ac/mo)", - "sl_heating": "Heating (\u20ac/mo)", - "sl_water": "Water (\u20ac/mo)", - "sl_maintenance": "Maintenance (\u20ac/mo)", - "sl_cleaning": "Cleaning (\u20ac/mo)", - "sl_marketing": "Marketing / Misc (\u20ac/mo)", - "sl_staff": "Staff (\u20ac/mo)", - "sl_loan_pct": "Loan-to-Cost (LTC)", - "sl_interest_rate": "Interest Rate", - "sl_loan_term": "Loan Term", - "sl_construction_months": "Construction Period", - "sl_hold_years": "Holding Period", - "sl_exit_multiple": "Exit EBITDA Multiple", - "sl_annual_rev_growth": "Annual Revenue Growth", - # ── Tooltip tip texts ──────────────────────────────────────────────── - "wiz_summary_label": "Live Summary", - "tip_permits_compliance": "Building permits, noise studies, change-of-use, fire safety, and regulatory compliance. Adjusts automatically when you pick a country \u2014 feel free to override.", - "tip_dbl_courts": "Standard padel court for 4 players. Most common format with highest recreational demand.", - "tip_sgl_courts": "Narrow court for 2 players. Popular for coaching, training, and competitive play.", - "tip_sqm_dbl_hall": "Total hall space needed per double court. Includes court (200\u202fm\u00b2), safety zones, circulation, and minimum clearances. Standard: 300\u2013350\u202fm\u00b2.", - "tip_sqm_sgl_hall": "Total hall space needed per single court. Includes court (120\u202fm\u00b2), safety zones, and access. Standard: 200\u2013250\u202fm\u00b2.", - "tip_sqm_dbl_outdoor": "Outdoor land area per double court. Includes court area, drainage slopes, access paths, and buffer zones. Standard: 280\u2013320\u202fm\u00b2.", - "tip_sqm_sgl_outdoor": "Outdoor land area per single court. Includes court, surrounding space, and access paths. Standard: 180\u2013220\u202fm\u00b2.", - "tip_rate_peak": "Price per court per hour during peak times (evenings 17:00\u201322:00 and weekends). Highest demand period.", - "tip_rate_offpeak": "Price per court per hour during off-peak (weekday mornings/afternoons). Typically 30\u201340\u00a0% lower than peak.", - "tip_rate_single": "Hourly rate for single-width courts. Usually lower than doubles since fewer players share the cost.", - "tip_peak_pct": "Percentage of total booked hours at peak rate. Higher means more revenue but harder to fill off-peak slots.", - "tip_booking_fee": "Commission taken by booking platforms like Playtomic or Matchi. Typically 5\u201315\u00a0% of court revenue.", - "tip_util_target": "Percentage of available court-hours that are actually booked. 35\u201345\u00a0% is realistic for new venues, 50\u00a0%+ is strong.", - "tip_hours_per_day": "Total operating hours per day. Typical padel venues run 7:00\u201323:00 (16\u202fh). Some extend to 6:00\u201324:00.", - "tip_days_indoor": "Average operating days per month for indoor venue. ~29 accounts for holidays and maintenance closures.", - "tip_days_outdoor": "Average playable days per month outdoors. Reduced by rain, extreme heat, or cold weather.", - "tip_membership_rev": "Monthly membership/subscription income per court. From loyalty programs, monthly plans, or club memberships.", - "tip_fb_rev": "Food & Beverage revenue per court per month. Income from bar, caf\u00e9, restaurant, or vending machines at the venue.", - "tip_coaching_rev": "Revenue from coaching sessions, clinics, tournaments, and events allocated per court per month.", - "tip_retail_rev": "Revenue from pro shop sales: grip tape, overgrips, accessories, and branded merchandise per court per month.", - "tip_glass_type": "Standard glass: \u20ac25\u201330K per court. Panoramic glass: \u20ac30\u201345K. Panoramic offers full visibility and premium feel.", - "tip_court_cost_dbl": "Base price of one double padel court. The glass type multiplier is applied automatically.", - "tip_court_cost_sgl": "Base price of one single padel court. Generally 60\u201370\u00a0% of a double court cost.", - "tip_hall_cost_sqm": "Construction cost per m\u00b2 for a new hall (Warmhalle). Includes structure, insulation, and cladding. Requires 10\u201312\u202fm clear height.", - "tip_foundation_sqm": "Foundation cost per m\u00b2. Depends on soil conditions, load-bearing requirements, and local ground water levels.", - "tip_land_price_sqm": "Land purchase price per m\u00b2. Rural: \u20ac20\u201360. Suburban: \u20ac60\u2013150. Urban: \u20ac150\u2013300+. Varies hugely by location.", - "tip_hvac": "Heating, ventilation, and air conditioning. Essential for indoor comfort and humidity control. Cost scales with hall volume.", - "tip_electrical": "Complete electrical installation: court lighting (LED, 500+ lux), power distribution, panels, and outlets.", - "tip_sanitary": "Changing rooms, showers, toilets, and plumbing. Includes fixtures, tiling, waterproofing, and ventilation.", - "tip_fire_protection": "Fire detection, sprinkler suppression, emergency exits, and smoke ventilation. Often the biggest surprise cost for large halls.", - "tip_planning": "Architectural planning, structural engineering, building permits, zoning applications, and regulatory compliance costs.", - "tip_floor_prep": "Floor leveling, sealing, and preparation for court installation in an existing rented building.", - "tip_hvac_upgrade": "Upgrading existing HVAC in a rented building to handle sports venue airflow and humidity requirements.", - "tip_lighting_upgrade": "Upgrading existing lighting to meet padel requirements: minimum 500 lux, no glare, even distribution across courts.", - "tip_fitout": "Interior fit-out for reception, lounge, viewing areas, and common spaces when renting an existing building.", - "tip_outdoor_foundation": "Concrete pad per m\u00b2 for outdoor courts. Needs proper drainage, level surface, and frost-resistant construction.", - "tip_outdoor_site_work": "Grading, drainage installation, utilities connection, and site preparation for outdoor courts.", - "tip_outdoor_lighting": "Floodlight installation per court. LED recommended for energy efficiency. Must meet competition standards if applicable.", - "tip_outdoor_fencing": "Perimeter fencing around outdoor court area. Includes wind screens, security gates, and ball containment nets.", - "tip_working_capital": "Cash reserve for operating losses during ramp-up phase and seasonal dips. Critical buffer \u2014 underfunding is a common startup failure.", - "tip_contingency": "Percentage buffer on total CAPEX for unexpected costs. 10\u201315\u00a0% is standard for construction, 15\u201320\u00a0% for complex projects.", - "tip_budget_target": "Set your total budget to see how your planned CAPEX compares. Leave at 0 to hide the budget indicator.", - "tip_rent_sqm": "Monthly rent per square meter for indoor hall space. Varies by location, building quality, and lease terms.", - "tip_outdoor_rent": "Monthly land rent for outdoor court area. Much cheaper than indoor space but weather-dependent.", - "tip_property_tax": "Monthly property tax when owning the building/land. Grundsteuer in Germany, varies by municipality and property value.", - "tip_insurance": "Monthly insurance premium covering liability, property damage, business interruption, and equipment.", - "tip_electricity": "Monthly electricity cost. Major driver for indoor venues due to court lighting, HVAC, and equipment.", - "tip_heating": "Monthly heating cost for indoor venue. Significant in northern European climates during winter months.", - "tip_water": "Monthly water cost for showers, toilets, cleaning, and potentially outdoor court irrigation.", - "tip_maintenance": "Monthly court and facility maintenance: glass cleaning, surface repair, net replacement, and equipment upkeep.", - "tip_cleaning": "Monthly professional cleaning of courts, changing rooms, common areas, and reception.", - "tip_marketing": "Monthly spend on marketing, booking platform subscriptions, website, social media, and customer acquisition.", - "tip_staff": "Monthly staff costs including wages, social contributions, and benefits. Many venues run lean using automated booking and access systems.", - "tip_loan_pct": "Percentage of total CAPEX financed by debt. Banks typically offer 70\u201385\u00a0%. Higher with personal guarantees or subsidies.", - "tip_interest_rate": "Annual interest rate on the loan. Depends on creditworthiness, collateral, market conditions, and bank relationship.", - "tip_loan_term": "Loan repayment period in years. Longer terms mean lower monthly payments but more total interest paid.", - "tip_construction_months": "Months of construction/setup before opening. Costs accrue (loan interest, rent) but no revenue is generated.", - "tip_hold_years": "Investment holding period before exit/sale. Typical for PE/investors: 5\u20137 years. Owner-operators may hold indefinitely.", - "tip_exit_multiple": "EBITDA multiple used to value the business at exit. Reflects market demand, brand strength, and growth potential. Small business: 4\u20136\u00d7, strong brand: 6\u20138\u00d7.", - "tip_annual_rev_growth": "Expected annual revenue growth rate after the initial 12-month ramp-up period. Driven by price increases and utilization gains.", - "tip_result_irr": "Internal Rate of Return over your hold period — the annualised discount rate that makes NPV of all cash flows zero. Target: 20%+. N/A if cash flows never turn positive.", - "tip_result_moic": "Multiple on Invested Capital: total money returned ÷ total invested. Includes operating cash flows plus exit proceeds. 2.0x means doubling your money.", - "tip_result_break_even": "Minimum utilisation needed for revenues to cover all costs including debt service. Below 35% means a comfortable safety margin.", - "tip_result_coc": "Cash-on-Cash: Year 3 net cash flow ÷ equity invested. Measures annual yield on your equity in a stabilised operating year.", - "tip_result_revpah": "Revenue per Available Hour — net revenue ÷ all available court-hours. Key industry KPI; higher values indicate better pricing or fill rate.", - "tip_result_payback": "Month when cumulative cash flows (after initial investment) turn positive. Earlier payback = less capital at risk.", - "tip_result_ebitda_mo": "EBITDA: Earnings Before Interest, Tax, Depreciation & Amortisation. Operating cash surplus before financing costs.", - "tip_result_dscr": "Debt Service Coverage Ratio: EBITDA ÷ annual debt payments (principal + interest). Banks typically require at least 1.2x to approve a loan.", - "tip_result_debt_yield": "Stabilised EBITDA ÷ loan amount. Lenders use this to check the asset can service its debt independently of market valuations. 10%+ is healthy.", - "tip_result_yield_on_cost": "Stabilised EBITDA ÷ total CAPEX. Unlevered return on investment — useful for comparing against other asset classes or development projects.", - "btn_save": "Save", - "btn_my_scenarios": "My Scenarios", - "btn_reset": "Reset to Defaults", - "btn_reset_confirm": "Sure? Reset", - "btn_back": "\u2190 Back", - "btn_next": "Next \u2192", - "btn_show_results": "Show Results \u2192", - "prompt_scenario_name": "Scenario name:", - "prompt_scenario_default": "My Padel Plan", - "toast_saved": "Scenario saved!", - "label_indoor": "Indoor", - "label_outdoor": "Outdoor", - "label_build_buy": "Build/Buy", - "label_rent": "Rent", - "label_courts": "courts", - "label_indoor_hall": "Indoor hall", - "label_outdoor_land": "Outdoor land", - "label_playing_surface": "Playing surface", - "wiz_capex": "CAPEX", - "wiz_monthly_cf": "Monthly CF", - "wiz_irr": "IRR", - "wiz_mo": "/mo", - "card_total_courts": "Total Courts", - "card_floor_area": "Floor Area", - "card_court_area": "Court Area", - "card_total_capex": "Total CAPEX", - "card_per_court": "Per Court", - "card_per_sqm": "Per m\u00b2", - "budget_over": "BUDGET OVER", - "budget_under": "BUDGET UNDER", - "table_total_capex": "TOTAL CAPEX", - "th_item": "Item", - "th_amount": "Amount", - "card_net_rev_mo": "Net Revenue/mo", - "card_ebitda_mo": "EBITDA/mo", - "card_annual_rev": "Annual Revenue", - "card_rev_pah": "RevPAH", - "sub_stabilized": "Stabilized", - "sub_year3": "Year 3", - "stream_court_rental": "Court Rental (net of fees)", - "stream_equipment": "Equipment Rental (rackets/balls)", - "stream_memberships": "Memberships", - "stream_fb": "F&B", - "stream_coaching": "Coaching & Events", - "stream_retail": "Retail", - "table_total_net_rev": "Total Net Revenue", - "table_total_opex": "Total Monthly OpEx", - "th_stream": "Stream", - "th_monthly": "Monthly", - "th_share": "Share", - "chart_revenue": "Revenue", - "chart_opex_debt": "OpEx+Debt", - "chart_court_rev": "Court Rev", - "chart_fees": "Fees", - "chart_ancillary": "Ancillary", - "chart_opex": "OpEx", - "chart_debt": "Debt", - "card_y1_ncf": "Year 1 Net CF", - "card_y3_ncf": "Year 3 Net CF", - "card_payback": "Payback", - "card_initial_inv": "Initial Investment", - "payback_not_reached": "Not reached", - "th_year": "Year", - "th_revenue": "Revenue", - "th_ebitda": "EBITDA", - "th_debt_service": "Debt Service", - "th_net_cf": "Net CF", - "th_dscr": "DSCR", - "th_util": "Util.", - "card_irr": "IRR", - "card_moic": "MOIC", - "card_break_even": "Break-Even Util.", - "card_cash_on_cash": "Cash-on-Cash", - "wf_stab_ebitda": "Stabilized EBITDA (Y3)", - "wf_exit_multiple": "\u00d7 Exit Multiple", - "wf_enterprise_value": "= Enterprise Value", - "wf_remaining_loan": "\u2013 Remaining Loan", - "wf_net_exit": "= Net Exit Proceeds", - "wf_cum_cf": "+ Cumulative Cash Flow", - "wf_total_returns": "= Total Returns", - "wf_investment": "\u00f7 Investment", - "wf_moic": "= MOIC", - "th_utilization": "Utilization", - "th_monthly_rev": "Monthly Rev", - "th_monthly_ncf": "Monthly NCF", - "th_annual_ncf": "Annual NCF", - "th_price_change": "Price Change", - "th_avg_rate": "Avg Rate", - "metrics_return": "Return Metrics", - "metrics_revenue": "Revenue Efficiency", - "metrics_cost": "Cost & Margin", - "metrics_debt": "Debt & Coverage", - "metrics_invest": "Investment Efficiency", - "metrics_ops": "Operational", - "month_jan": "Jan", - "month_feb": "Feb", - "month_mar": "Mar", - "month_apr": "Apr", - "month_may": "May", - "month_jun": "Jun", - "month_jul": "Jul", - "month_aug": "Aug", - "month_sep": "Sep", - "month_oct": "Oct", - "month_nov": "Nov", - "month_dec": "Dec", - # ── Suppliers page ─────────────────────────────────────────────────── - "sup_meta_title": "For Suppliers - Reach Padel Entrepreneurs", - "sup_meta_desc": "Get listed on Padelnomics. Reach entrepreneurs who've already built a financial model for their padel project. Basic, Growth and Pro plans from \u20ac39/mo.", - "sup_hero_h1a": "Stop Chasing Cold Leads.", - "sup_hero_h1b": "Meet Buyers Who Already Have a Business Plan.", - "sup_hero_sub": "Every lead on Padelnomics has modeled their CAPEX, projected revenue, and calculated ROI \u2014 before they contact you. No tire-kickers. No \u201cjust browsing.\u201d", - "sup_hero_cta": "See Plans & Pricing", - "sup_hero_trust_pre": "Trusted by suppliers in", - "sup_hero_trust_post": "countries", - "sup_stat_plans": "Business plans created", - "sup_stat_avg": "Avg. project value", - "sup_stat_suppliers_pre": "Suppliers in", - "sup_stat_suppliers_post": "countries", - "sup_stat_leads": "Leads this month", - "sup_prob_h2": "The Problem With Finding Padel Clients Today", - "sup_prob_sub": "Most channels waste your time and budget before you talk to a single serious buyer.", - "sup_prob_tradeshow_h3": "Trade Shows", - "sup_prob_tradeshow_p": "Per event. You meet hundreds of people. Maybe 3 are serious about building a padel facility.", - "sup_prob_ads_h3": "Google Ads", - "sup_prob_ads_p": "Per click. Most visitors are researching padel, not ready to spend \u20ac300K+ on a construction project.", - "sup_prob_cold_h3": "Cold Outreach", - "sup_prob_cold_p": "Response rate. Hours of emails and calls to reach entrepreneurs who aren\u2019t ready to buy yet.", - "sup_prob_transition": "What if every lead came with a complete project brief and a financial model?", - "sup_how_h2": "How It Works", - "sup_how_sub": "Three steps to qualified leads.", - "sup_how_step1_h3": "Claim Your Listing", - "sup_how_step1_p": "Your company is already in our directory. Pick a plan to upgrade your listing and unlock access to the lead feed.", - "sup_how_step2_h3": "Browse Pre-Qualified Leads", - "sup_how_step2_p": "Every lead includes project specs, budget, timeline, and a financial model they built themselves. Spend credits only on leads that match your services.", - "sup_how_step3_h3": "Win Projects Faster", - "sup_how_step3_p": "Contact the entrepreneur directly. You already know their budget, timeline, and financing status \u2014 no discovery call needed.", - "sup_credits_h3": "How Credits Work", - "sup_credits_sub": "Each lead costs credits based on how ready-to-buy they are. Growth plans include 30 credits/mo, Pro includes 100.", - "sup_credits_hot": "Hot Lead", - "sup_credits_hot_label": "credits \u00b7 financing secured, ready now", - "sup_credits_warm": "Warm Lead", - "sup_credits_warm_label": "credits \u00b7 active planning, 3\u20136 months", - "sup_credits_cool": "Cool Lead", - "sup_credits_cool_label": "credits \u00b7 early research, 6\u201312 months", - "sup_leads_heading": "Recent Verified Leads", - "sup_lead_facility": "Facility", - "sup_lead_country": "Country", - "sup_lead_budget": "Budget", - "sup_lead_timeline": "Timeline", - "sup_lead_contact": "Contact", - "sup_leads_unlock_pre": "Unlock full contact details and project specs with credits.", - "sup_leads_unlock_cta": "Get started \u2192", - "sup_leads_example": "These are example leads. Real leads appear as entrepreneurs submit quote requests.", - "sup_why_h2": "Why Padelnomics Leads Are Different", - "sup_why_sub": "Every lead has already built a financial model for their project.", - "sup_why_card1_h3": "Pre-Qualified", - "sup_why_card1_p": "Leads come through our financial planner. They\u2019ve modeled CAPEX, revenue, and ROI before contacting you.", - "sup_why_card2_h3": "Full Project Brief", - "sup_why_card2_p": "You get venue type, court count, glass/lighting specs, budget, timeline, financing status, and contact details.", - "sup_why_card3_h3": "No Cold Outreach", - "sup_why_card3_p": "Entrepreneurs come to us. You only hear from people actively planning to build padel facilities.", - "sup_pricing_h2": "Plans & Pricing", - "sup_pricing_sub": "Choose the plan that fits your growth goals.", - "sup_billing_monthly": "Monthly", - "sup_billing_yearly": "Yearly", - "sup_billing_save": "Save up to 26%", - "sup_basic_name": "Basic", - "sup_basic_dir": "Directory listing", - "sup_basic_f1": "Verified \u2713 badge", - "sup_basic_f2": "Company logo", - "sup_basic_f3": "Full description & tagline", - "sup_basic_f4": "Website & contact details", - "sup_basic_f5": "Services offered checklist", - "sup_basic_f6": "Enquiry form on listing page", - "sup_basic_cta": "Get Listed", - "sup_growth_name": "Growth", - "sup_growth_popular": "Most Popular", - "sup_growth_credits": "30 credits/mo included", - "sup_growth_f1": "Everything in Basic", - "sup_growth_f2": "Access to lead feed", - "sup_growth_f3": "\u201cGrowth\u201d badge on listing", - "sup_growth_f4": "Priority over free listings", - "sup_growth_f5": "30 lead credits per month", - "sup_growth_f6": "Buy additional credit packs", - "sup_growth_cta": "Get Started", - "sup_pro_name": "Pro", - "sup_pro_credits": "100 credits/mo included", - "sup_pro_f1": "Everything in Growth", - "sup_pro_f2": "Cover photo on listing", - "sup_pro_f3": "Full stats (projects, years, area)", - "sup_pro_f4": "Featured card border & glow", - "sup_pro_f5": "Priority placement in directory", - "sup_pro_f6": "100 lead credits per month", - "sup_pro_cta": "Get Started", - "sup_yearly_note_basic": "\u20ac349 billed yearly", - "sup_yearly_note_growth": "\u20ac1,799 billed yearly", - "sup_yearly_note_pro": "\u20ac4,499 billed yearly", - "sup_boosts_h3": "Boost Add-Ons", - "sup_boosts_sub": "Available with any paid plan. Manage from your dashboard.", - "sup_boost_logo": "Logo", - "sup_boost_highlight": "Highlight", - "sup_boost_verified": "Verified Badge", - "sup_boost_sticky": "Sticky Top", - "sup_boost_color": "Custom Card Color", - "sup_cmp_h2": "How We Compare", - "sup_cmp_sub": "Your prospects are already weighing these alternatives. Here\u2019s the honest comparison.", - "sup_cmp_th_us": "Padelnomics Growth", - "sup_cmp_th_tradeshow": "Trade Show Booth", - "sup_cmp_th_ads": "Google Ads", - "sup_cmp_th_cold": "Cold Directory", - "sup_cmp_row1": "Annual cost", - "sup_cmp_row2": "Lead quality", - "sup_cmp_row3": "Leads included", - "sup_cmp_row4": "Project details", - "sup_cmp_row5": "Time to first lead", - "sup_cmp_row6": "Matches your services", - "sup_cmp_q1": "Pre-qualified with business plan", - "sup_cmp_q2": "Mixed, mostly browsing", - "sup_cmp_q3": "Cold, searching", - "sup_cmp_q4": "None (listing only)", - "sup_cmp_c1": "30 credits/mo", - "sup_cmp_c2": "Pay per click", - "sup_cmp_d1": "Full specs + financial model", - "sup_cmp_d2": "Business cards only", - "sup_cmp_d3": "None", - "sup_cmp_t1": "Same day", - "sup_cmp_t2": "Months away", - "sup_cmp_t3": "Days", - "sup_cmp_t4": "Never", - "sup_cmp_m1": "Filtered by category", - "sup_cmp_footnote": "*Google Ads estimate based on \u20ac20\u201380 CPC for padel construction keywords at 5\u201310 clicks/day.", - "sup_proof_h2": "Trusted by Padel Industry Leaders", - "sup_proof_stat1": "business plans created", - "sup_proof_stat2": "suppliers", - "sup_proof_stat3": "countries", - "sup_proof_q1": "Padelnomics sends us leads that are already serious about building. The project briefs are more detailed than what we get from trade shows.", - "sup_proof_cite1": "\u2014 European padel court manufacturer", - "sup_proof_q2": "Finally a platform that understands the padel construction market. We know the budget, the timeline, and the venue type before we even make first contact.", - "sup_proof_cite2": "\u2014 Padel court installation company, Scandinavia", - "sup_faq_h2": "Supplier FAQ", - "sup_faq_q1": "How do I claim my listing?", - "sup_faq_a1_pre": "Find your company in our", - "sup_faq_a1_post": "and click \u201cIs this your company?\u201d We\u2019ll verify your identity and give you access to choose a plan and upgrade your profile.", - "sup_faq_dir_link": "directory", - "sup_faq_q2": "How much does it cost?", - "sup_faq_a2": "We offer three plans: Basic (\u20ac39/mo) for a verified directory listing with enquiry form; Growth (\u20ac199/mo, 30 credits) with full lead access and priority placement; and Pro (\u20ac499/mo, 100 credits) for maximum visibility and lead volume. Yearly billing saves up to 26% \u2014 Basic at \u20ac349/yr, Growth at \u20ac1,799/yr, Pro at \u20ac4,499/yr. Optional boost add-ons are available on top.", - "sup_faq_q3": "What makes Padelnomics leads different from other platforms?", - "sup_faq_a3": "Every lead on Padelnomics has used our financial planning tool to model their project \u2014 CAPEX, revenue projections, ROI, and debt service coverage \u2014 before reaching out. This means they\u2019re serious, they have a realistic budget, and they\u2019re ready to talk to suppliers. You\u2019re not getting cold enquiries; you\u2019re getting pre-qualified project briefs.", - "sup_faq_q4": "How does pricing compare to alternatives?", - "sup_faq_a4": "A trade show booth costs \u20ac10,000+ per event and delivers mostly browsing contacts. Google Ads for padel construction keywords run \u20ac20\u201380 per click \u2014 that\u2019s \u20ac5,000+/yr before you talk to a single prospect. A typical cold directory listing charges ~\u20ac600/yr with no leads at all. Padelnomics Growth at \u20ac1,799/yr includes 30 lead credits per month with full project briefs.", - "sup_faq_q5": "How do credits work?", - "sup_faq_a5": "Credits are how you unlock lead contact details. Each plan includes monthly credits (Growth: 30, Pro: 100). Hot leads cost 35 credits, warm leads 20, and cool leads 8. You can buy additional credit packs anytime from your dashboard. Unused credits roll over month to month.", - "sup_faq_q6": "What information do leads include?", - "sup_faq_a6": "Every lead includes: facility type (indoor/outdoor), court count, glass and lighting preferences, country and city, budget estimate, project phase, timeline, financing status, stakeholder type, services needed, and full contact details.", - "sup_faq_q7": "How are leads matched to suppliers?", - "sup_faq_a7": "We match based on location, services offered, and project requirements. All verified leads appear in your lead feed, with leads in your service area highlighted. You choose which leads to unlock.", - "sup_faq_q8": "Which countries do you cover?", - "sup_faq_a8_pre": "Padelnomics has suppliers listed across", - "sup_faq_a8_post": "countries. Our strongest coverage is in Europe (Germany, Spain, Sweden, UK, Netherlands, Italy) but we\u2019re growing globally as padel expands.", - "sup_faq_q9": "Can I cancel anytime?", - "sup_faq_a9": "Yes. You can cancel your subscription at any time from your dashboard. Your listing stays active until the end of the current billing period. Unused credits are forfeited upon cancellation.", - "sup_faq_q10": "My company isn\u2019t listed. How do I get added?", - "sup_faq_a10_pre": "Email us at", - "sup_faq_a10_post": "with your company details and we\u2019ll add you to the directory within 48 hours.", - "sup_cta_h2": "Your Next Client Is Already Building a Business Plan", - "sup_cta_p": "They\u2019ve modeled the ROI. They know their budget. They\u2019re looking for a supplier like you.", - }, - "de": { - # ── Navigation & footer ────────────────────────────────────────────── - "nav_planner": "Finanzplaner", - "nav_quotes": "Angebot erhalten", - "nav_directory": "Anbieterverzeichnis", - "nav_markets": "M\u00e4rkte", - "nav_suppliers": "F\u00fcr Anbieter", - "nav_help": "Hilfe", - "nav_feedback": "Feedback", - "nav_send": "Senden", - "nav_signin": "Anmelden", - "nav_signout": "Abmelden", - "nav_dashboard": "Dashboard", - "nav_admin": "Admin", - "footer_tagline": "Plane, finanziere und baue dein Padel-Business.", - "footer_product": "Produkt", - "footer_legal": "Rechtliches", - "footer_company": "Unternehmen", - "footer_rights": "Alle Rechte vorbehalten.", - "link_terms": "AGB", - "link_privacy": "Datenschutz", - "link_imprint": "Impressum", - "lang_switch_label": "EN", - # ── Base / shared ──────────────────────────────────────────────────── - "base_manage_cookies": "Cookie-Einstellungen", - "base_about": "\u00dcber uns", - "base_feedback_placeholder": "Ideen zur Verbesserung dieser Seite\u2026", - "base_feedback_contact_placeholder": "Deine E-Mail (optional)", - # ── Cookie banner ──────────────────────────────────────────────────── - "cookie_title": "Cookie-Einstellungen", - "cookie_message": "Wir verwenden Cookies, damit du angemeldet bleibst und die Website verbessert werden kann.", - "cookie_policy": "Cookie-Richtlinie", - "cookie_essential_label": "Notwendig", - "cookie_essential_desc": "Sitzungsverwaltung. Immer erforderlich.", - "cookie_essential_always": "AN", - "cookie_functional_label": "Funktional", - "cookie_functional_desc": "A/B-Tests zur Verbesserung der Nutzererfahrung.", - "cookie_save": "Auswahl speichern", - "cookie_manage": "Verwalten", - "cookie_accept_all": "Alle akzeptieren", - "cookie_close": "Schlie\u00dfen", - # ── Auth templates ─────────────────────────────────────────────────── - "auth_login_title": "Anmelden", - "auth_login_sub": "Gib deine E-Mail-Adresse ein, um einen Anmeldelink zu erhalten.", - "auth_login_email_label": "E-Mail", - "auth_login_btn": "Anmeldelink senden", - "auth_login_no_account": "Noch kein Konto?", - "auth_login_signup_link": "Registrieren", - "auth_signup_title": "Kostenloses Konto erstellen", - "auth_signup_sub": "Speichere deinen Padel-Businessplan, hole Anbieterangebote ein und finde Finanzierung.", - "auth_signup_hint": "Keine Kreditkarte erforderlich. Voller Zugang zu allen Funktionen.", - "auth_signup_btn": "Kostenloses Konto erstellen", - "auth_signup_have_account": "Bereits ein Konto?", - "auth_signup_signin_link": "Anmelden", - "auth_magic_title": "E-Mail pr\u00fcfen", - "auth_magic_sent_to": "Wir haben dir einen Anmeldelink geschickt an:", - "auth_magic_instructions": "Klick auf den Link in der E-Mail, um dich anzumelden. Der Link l\u00e4uft in {minutes} Minuten ab.", - "auth_magic_no_email": "Keine E-Mail erhalten?", - "auth_magic_check_spam": "Schau in deinen Spam-Ordner", - "auth_magic_correct_email": "Stelle sicher, dass die E-Mail-Adresse korrekt ist", - "auth_magic_wait": "Warte eine Minute und versuche es erneut", - "auth_magic_resend_btn": "Link erneut senden", - "auth_waitlist_title": "Sei Erster beim Start deines Padel-Business", - "auth_waitlist_sub": "Wir bereiten die ultimative Planungsplattform f\u00fcr Padel-Unternehmer vor. Trag dich in die Warteliste ein f\u00fcr Fr\u00fchzugang, exklusive Boni und priorisierten Support.", - "auth_waitlist_hint": "Du geh\u00f6rst zu den Ersten, die Zugang erhalten, wenn wir launchen.", - "auth_waitlist_btn": "In Warteliste eintragen", - "auth_waitlist_confirmed_title": "Du stehst auf der Warteliste!", - "auth_waitlist_confirmed_sent_to": "Wir haben dir eine Best\u00e4tigung geschickt an:", - "auth_waitlist_confirmed_sub": "Du geh\u00f6rst zu den Ersten, die es wissen, wenn wir launchen. Wir schicken dir Fr\u00fchzugang, exklusive Launch-Boni und prioriertes Onboarding.", - "auth_waitlist_confirmed_next": "Was passiert als N\u00e4chstes?", - "auth_waitlist_confirmed_step1": "Du erh\u00e4ltst in K\u00fcrze eine Best\u00e4tigungs-E-Mail", - "auth_waitlist_confirmed_step2": "Wir benachrichtigen dich, sobald wir launchen", - "auth_waitlist_confirmed_step3": "Du erh\u00e4ltst exklusiven Fr\u00fchzugang vor dem \u00f6ffentlichen Launch", - "auth_waitlist_confirmed_back": "Zur\u00fcck zur Startseite", - "auth_flash_invalid_email": "Bitte gib eine g\u00fcltige E-Mail-Adresse ein.", - "auth_flash_disposable_email": "Bitte verwende eine dauerhafte E-Mail-Adresse.", - "auth_flash_login_sent": "Schau in deine E-Mails f\u00fcr den Anmeldelink!", - "auth_flash_account_exists": "Konto existiert bereits. Bitte melde dich an.", - "auth_flash_signup_sent": "Schau in deine E-Mails, um die Registrierung abzuschlie\u00dfen!", - "auth_flash_invalid_token": "Ung\u00fcltiger oder abgelaufener Link.", - "auth_flash_invalid_token_detail": "Ung\u00fcltiger oder abgelaufener Link. Bitte fordere einen neuen an.", - "auth_flash_signed_in": "Erfolgreich angemeldet!", - "auth_flash_signed_out": "Du wurdest abgemeldet.", - "auth_flash_resend_sent": "Wenn diese E-Mail-Adresse registriert ist, haben wir einen neuen Link gesendet.", - # ── Flash messages ─────────────────────────────────────────────────── - "flash_feedback_success": "Vielen Dank f\u00fcr dein Feedback!", - "flash_feedback_empty": "Bitte gib eine Nachricht ein.", - "flash_feedback_rate_limit": "Zu viele Anfragen. Bitte versuch es sp\u00e4ter erneut.", - "flash_suppliers_success": "Danke! Wir verbinden dich mit verifizierten Hoflieferanten.", - "flash_financing_success": "Danke! Wir verbinden dich mit Finanzierungspartnern.", - "flash_verify_invalid": "Ung\u00fcltiger Verifizierungslink.", - "flash_verify_expired": "Dieser Link ist abgelaufen oder wurde bereits verwendet. Bitte stelle eine neue Anfrage.", - "flash_verify_invalid_lead": "Dieses Angebot wurde bereits verifiziert oder existiert nicht.", - # ── Landing page ───────────────────────────────────────────────────── - "landing_hero_badge": "Padel-Kostenrechner & Finanzplaner", - "landing_hero_h1_1": "Plan Dein Padel-", - "landing_hero_h1_2": "Business in Minuten,", - "landing_hero_h1_3": "nicht Monaten", - "landing_hero_btn_primary": "Jetzt planen \u2192", - "landing_hero_btn_secondary": "Anbieter durchsuchen", - "landing_hero_bullet_1": "Keine Registrierung erforderlich", - "landing_hero_bullet_2": "60+ Variablen", - "landing_hero_bullet_3": "Unbegrenzte Szenarien", - "landing_roi_title": "Schnelle Renditesch\u00e4tzung", - "landing_roi_subtitle": "Schieberegler bewegen und Projektion sehen", - "landing_roi_courts": "Pl\u00e4tze", - "landing_roi_rate": "Durchschn. Stundensatz", - "landing_roi_util": "Ziel-Auslastung", - "landing_roi_investment": "Investition", - "landing_roi_monthly_cf": "Monatlicher Cashflow", - "landing_roi_payback": "Amortisationszeit", - "landing_roi_annual_roi": "J\u00e4hrlicher ROI", - "landing_roi_note": "Annahmen: Innenhalle Mietmodell, 8\u00a0\u20ac/m\u00b2 Miete, Personalkosten, 5\u00a0% Zinsen, 10-j\u00e4hriges Darlehen. Amortisation und ROI basieren auf der Gesamtinvestition.", - "landing_roi_cta": "Jetzt planen \u2192", - "landing_journey_title": "Deine Reise", - "landing_journey_01": "Analysieren", - "landing_journey_01_badge": "Demnächst", - "landing_journey_02": "Planen", - "landing_journey_03": "Finanzieren", - "landing_journey_03_badge": "Demnächst", - "landing_journey_04": "Bauen", - "landing_journey_05": "Wachsen", - "landing_journey_05_badge": "Demnächst", - "landing_features_title": "F\u00fcr ernsthafte Padel-Unternehmer entwickelt", - "landing_feature_1_h3": "60+ Variablen", - "landing_feature_2_h3": "6 Analyse-Tabs", - "landing_feature_3_h3": "Indoor & Outdoor", - "landing_feature_4_h3": "Sensitivit\u00e4tsanalyse", - "landing_feature_5_h3": "Professionelle Kennzahlen", - "landing_feature_6_h3": "Speichern & Vergleichen", - "landing_supplier_title": "Die richtigen Anbieter f\u00fcr Dein Projekt finden", - "landing_supplier_step_1_title": "Padel-Platz planen", - "landing_supplier_step_2_title": "Angebote einholen", - "landing_supplier_step_3_title": "Vergleichen & Bauen", - "landing_supplier_browse_btn": "Anbieterverzeichnis durchsuchen", - "landing_faq_title": "H\u00e4ufig gestellte Fragen", - "landing_faq_q1": "Was berechnet der Planer?", - "landing_faq_q2": "Muss ich mich registrieren?", - "landing_faq_q3": "Wie funktioniert die Anbieter-Vermittlung?", - "landing_faq_q4": "Ist das Anbieterverzeichnis kostenlos?", - "landing_faq_q5": "Wie genau sind die Finanzprojektionen?", - "landing_seo_title": "Padel-Platz-Investitionsplanung", - "landing_final_cta_h2": "Jetzt mit der Planung beginnen", - "landing_final_cta_btn": "Jetzt planen \u2192", - # ── Features page ──────────────────────────────────────────────────── - "features_h1": "Alles, was du f\u00fcr dein Padel-Business brauchst", - "features_subtitle": "Professionelles Finanzmodell \u2014 vollst\u00e4ndig kostenlos.", - "features_card_1_h2": "60+ Variablen", - "features_card_2_h2": "6 Analyse-Tabs", - "features_card_3_h2": "Indoor & Outdoor", - "features_card_4_h2": "Sensitivit\u00e4tsanalyse", - "features_card_5_h2": "Professionelle Kennzahlen", - "features_card_6_h2": "Speichern & Vergleichen", - "features_capex_h2": "Detaillierte CAPEX-Aufschl\u00fcsselung", - "features_opex_h2": "Betriebsmodell", - "features_cf_h2": "Cashflow & Finanzierung", - "features_returns_h2": "Renditen & Exit", - "features_cta_open": "Planer \u00f6ffnen", - "features_cta_signup": "Kostenloses Konto erstellen", - # ── About page ─────────────────────────────────────────────────────── - "about_why_h3": "Warum kostenlos?", - "about_next_h3": "Was kommt als n\u00e4chstes", - "about_cta_open": "Planer \u00f6ffnen", - "about_cta_signup": "Kostenloses Konto erstellen", - # ── Suppliers marketing page ───────────────────────────────────────── - "suppliers_hero_cta": "Pl\u00e4ne & Preise ansehen", - "suppliers_stat_plans_label": "Erstellte Gesch\u00e4ftspl\u00e4ne", - "suppliers_stat_avg_value": "Durchschn. Projektwert", - "suppliers_stat_leads_label": "Leads diesen Monat", - "suppliers_problem_h2": "Das Problem bei der Kundengewinnung heute", - "suppliers_problem_sub": "Die meisten Kan\u00e4le verschwenden Zeit und Budget, bevor du mit einem echten K\u00e4ufer sprichst.", - "suppliers_problem_1_h3": "Messen", - "suppliers_problem_2_h3": "Google Ads", - "suppliers_problem_3_h3": "Kaltakquise", - "suppliers_transition": "Was w\u00e4re, wenn jeder Lead mit einem vollst\u00e4ndigen Projektbrief und einem Finanzmodell k\u00e4me?", - "suppliers_how_h2": "So funktioniert es", - "suppliers_how_sub": "Drei Schritte zu qualifizierten Leads.", - "suppliers_step_1_h3": "Eintrag beanspruchen", - "suppliers_step_2_h3": "Vorqualifizierte Leads durchsuchen", - "suppliers_step_3_h3": "Projekte schneller gewinnen", - "suppliers_credits_h2": "So funktionieren Credits", - "suppliers_credit_hot": "Hei\u00dfer Lead", - "suppliers_credit_warm": "Warmer Lead", - "suppliers_credit_cool": "K\u00fchler Lead", - "suppliers_leads_h2": "Aktuelle verifizierte Leads", - "suppliers_leads_unlock": "Vollst\u00e4ndige Kontaktdaten und Projektspezifikationen mit Credits freischalten.", - "suppliers_leads_cta": "Jetzt starten \u2192", - "suppliers_leads_facility": "Anlage", - "suppliers_leads_country": "Land", - "suppliers_leads_budget": "Budget", - "suppliers_leads_timeline": "Zeitplan", - "suppliers_leads_contact": "Kontakt", - "suppliers_why_h2": "Warum Padelnomics-Leads anders sind", - "suppliers_why_sub": "Jeder Lead hat bereits ein Finanzmodell f\u00fcr sein Projekt erstellt.", - "suppliers_why_1_h3": "Vorqualifiziert", - "suppliers_why_2_h3": "Vollst\u00e4ndiger Projektbrief", - "suppliers_why_3_h3": "Keine Kaltakquise", - "suppliers_pricing_h2": "Pl\u00e4ne & Preise", - "suppliers_pricing_sub": "W\u00e4hle den Plan, der zu Deinen Wachstumszielen passt.", - "suppliers_billing_monthly": "Monatlich", - "suppliers_billing_yearly": "J\u00e4hrlich", - "suppliers_save_badge": "Bis zu 26\u00a0% sparen", - "suppliers_basic_name": "Basic", - "suppliers_growth_name": "Growth", - "suppliers_growth_popular": "Am beliebtesten", - "suppliers_pro_name": "Pro", - "suppliers_plan_per_mo": "/Monat", - "suppliers_plan_get_listed": "Eintrag erstellen", - "suppliers_plan_get_started": "Jetzt starten", - "suppliers_boosts_h2": "Boost-Add-ons", - "suppliers_boosts_sub": "Mit jedem bezahlten Plan verf\u00fcgbar. Verwalte sie \u00fcber Dein Dashboard.", - "suppliers_comparison_h2": "Der direkte Vergleich", - "suppliers_faq_h2": "FAQ f\u00fcr Anbieter", - "suppliers_final_cta_h2": "Dein n\u00e4chster Kunde erstellt gerade einen Gesch\u00e4ftsplan", - "suppliers_final_cta_desc": "Er hat die Rentabilit\u00e4t berechnet. Er kennt sein Budget. Er sucht einen Anbieter wie dich.", - "suppliers_final_cta_btn": "Pl\u00e4ne & Preise ansehen", - # ── Planner landing section ────────────────────────────────────────── - "planner_page_h2": "100\u00a0% kostenlos. Kein Haken.", - "planner_card_1_h3": "Finanzplaner", - "planner_card_1_price": "Kostenlos", - "planner_card_1_price_sub": "\u2014 f\u00fcr immer", - "planner_card_1_open": "Planer \u00f6ffnen", - "planner_card_1_signup": "Kostenloses Konto erstellen", - "planner_card_2_h3": "Brauchst Du Hilfe beim Bauen?", - "planner_card_2_desc": "Wir verbinden dich mit verifizierten Partnern", - "planner_card_2_quotes_btn": "Anbieter-Angebote einholen", - "planner_card_2_signup_btn": "Registrieren und loslegen", - "planner_quote_cta_label": "N\u00e4chster Schritt", - "planner_quote_cta_title": "Angebote von verifizierten Anbietern einholen", - "planner_quote_cta_desc": "Teile Deine Projektspezifikationen und wir verbinden dich mit passenden Anbietern.", - "planner_quote_cta_check_1": "Passende Anbieter", - "planner_quote_cta_check_2": "Direktkontakt, kein Vermittler", - "planner_quote_cta_check_3": "Keine Verpflichtung", - "planner_quote_cta_check_4": "Deine Daten bleiben privat", - "planner_quote_cta_btn": "Anbieter-Angebote einholen \u2192", - "planner_quote_cta_hint": "Dauert ca. 2 Minuten", - "planner_export_btn": "Gesch\u00e4ftsplan exportieren (PDF) \u2192", - "planner_export_hint": "99\u00a0\u20ac einmalig \u00b7 Bankfertig", - "planner_signup_bar_msg": "Erstelle ein Konto, um Szenarien zu speichern und Pl\u00e4ne zu vergleichen.", - "planner_signup_bar_btn": "Kostenlos registrieren", - # ── Export templates ───────────────────────────────────────────────── - "export_title": "Gesch\u00e4ftsplan exportieren (PDF)", - "export_subtitle": "Bankfertige Finanzprojektionen aus Deinem Planer-Szenario.", - "export_scenario_label": "Szenario", - "export_language_label": "Sprache", - "export_scenario_default": "Szenario ausw\u00e4hlen\u2026", - "export_btn": "Kaufen & PDF generieren \u2014 99\u00a0\u20ac", - "export_your_exports": "Deine Exporte", - "export_download": "PDF herunterladen", - "export_generating": "Wird generiert\u2026", - "export_failed": "Fehlgeschlagen", - "export_back": "\u2190 Zur\u00fcck zum Planer", - "export_success_title": "Zahlung eingegangen", - "export_success_subtitle": "Dein Gesch\u00e4ftsplan-PDF wird generiert. Dies dauert \u00fcblicherweise weniger als eine Minute.", - "export_success_status": "Dein PDF wird erstellt. Aktualisiere diese Seite gleich, oder \u00fcberpr\u00fcfe Deine E-Mail \u2014 wir senden Dir einen Download-Link, wenn es fertig ist.", - "export_success_refresh": "Status aktualisieren", - "export_success_all": "Alle Exporte anzeigen", - "export_success_planner": "Zur\u00fcck zum Planer", - "export_gen_title": "Gesch\u00e4ftsplan wird generiert", - "export_gen_subtitle": "Dies dauert \u00fcblicherweise weniger als eine Minute. Diese Seite wird automatisch aktualisiert.", - "export_gen_refresh": "Jetzt aktualisieren", - "export_gen_all": "Alle Exporte anzeigen", - "export_waitlist_title": "Gesch\u00e4ftsplan-PDF-Export demnächst verf\u00fcgbar", - "export_waitlist_btn": "Zur\u00fcck zum Planer", - # ── Scenario list ──────────────────────────────────────────────────── - "scenario_drawer_title": "Meine Szenarien", - "scenario_badge_default": "Standard", - "scenario_btn_load": "Laden", - "scenario_btn_delete": "L\u00f6schen", - "scenario_empty": "Noch keine gespeicherten Szenarien. Speichere den aktuellen Plan mit der Schaltfl\u00e4che \u201eSpeichern\u201c.", - "scenario_updated": "Aktualisiert", - "scenario_created": "Erstellt", - # ── Directory ──────────────────────────────────────────────────────── - "dir_heading": "Padelplatz-Hersteller, Platzbauer & Anbieter", - "dir_subheading": "\u00dcber {n} Anbieter aus {c} L\u00e4ndern. Hersteller, Platzbauer und schl\u00fcsselfertige L\u00f6sungen f\u00fcr Deinen Padelplatz.", - "dir_stat_suppliers": "Anbieter", - "dir_stat_countries": "L\u00e4nder", - "dir_stat_categories": "Kategorien", - "dir_search_placeholder": "Anbieter, L\u00e4nder, Produkte suchen\u2026", - "dir_filter_all_countries": "Alle L\u00e4nder", - "dir_filter_all_categories": "Alle Kategorien", - "dir_search_btn": "Suchen", - "dir_filter_clear": "Alle l\u00f6schen", - "dir_cta_heading": "Bist Du ein Padelplatz-Anbieter?", - "dir_cta_subheading": "Eintrag erstellen und Kontakt zu planenden Unternehmern aufnehmen.", - "dir_cta_btn": "Eintrag erstellen", - "dir_card_verified": "Verifiziert", - "dir_card_featured": "Featured", - "dir_card_growth": "Growth", - "dir_card_unverified": "Nicht verifiziert", - "dir_card_quote_btn": "Angebot anfragen \u2192", - "dir_card_view_btn": "Eintrag ansehen \u2192", - "dir_card_claim_btn": "Geh\u00f6rt Dir das? \u2192", - "dir_empty_heading": "Keine Anbieter gefunden", - "dir_empty_sub": "Passe Deine Suche oder Filter an.", - "dir_empty_clear": "Alle Filter zur\u00fccksetzen", - # ── Directory category labels ──────────────────────────────────────── - "dir_cat_manufacturer": "Hersteller", - "dir_cat_turnkey": "Generalunternehmer", - "dir_cat_consultant": "Berater", - "dir_cat_hall_builder": "Hallenbauer", - "dir_cat_turf": "Belag / Oberfl\u00e4chen", - "dir_cat_lighting": "Beleuchtung", - "dir_cat_software": "Software", - "dir_cat_industry_body": "Branchenverband", - "dir_cat_franchise": "Franchise / Betreiber", - # ── Directory region labels ────────────────────────────────────────── - "dir_region_europe": "Europa", - "dir_region_north_america": "Nordamerika", - "dir_region_latin_america": "Lateinamerika", - "dir_region_middle_east": "Naher Osten", - "dir_region_asia_pacific": "Asien-Pazifik", - "dir_region_africa": "Afrika", - # ── Directory country labels ───────────────────────────────────────── - "dir_country_DE": "Deutschland", - "dir_country_ES": "Spanien", - "dir_country_IT": "Italien", - "dir_country_FR": "Frankreich", - "dir_country_PT": "Portugal", - "dir_country_GB": "Vereinigtes K\u00f6nigreich", - "dir_country_NL": "Niederlande", - "dir_country_BE": "Belgien", - "dir_country_SE": "Schweden", - "dir_country_DK": "D\u00e4nemark", - "dir_country_FI": "Finnland", - "dir_country_NO": "Norwegen", - "dir_country_AT": "\u00d6sterreich", - "dir_country_SI": "Slowenien", - "dir_country_IS": "Island", - "dir_country_CH": "Schweiz", - "dir_country_EE": "Estland", - "dir_country_US": "Vereinigte Staaten", - "dir_country_CA": "Kanada", - "dir_country_MX": "Mexiko", - "dir_country_BR": "Brasilien", - "dir_country_AR": "Argentinien", - "dir_country_AE": "VAE", - "dir_country_SA": "Saudi-Arabien", - "dir_country_TR": "T\u00fcrkei", - "dir_country_CN": "China", - "dir_country_IN": "Indien", - "dir_country_SG": "Singapur", - "dir_country_ID": "Indonesien", - "dir_country_TH": "Thailand", - "dir_country_AU": "Australien", - "dir_country_ZA": "S\u00fcdafrika", - "dir_country_EG": "\u00c4gypten", - # ── Supplier detail ────────────────────────────────────────────────── - "sp_back": "Zur\u00fcck zum Verzeichnis", - "sp_verified": "Verifiziert \u2713", - "sp_request_quote": "Angebot anfragen \u2192", - "sp_visit_website": "Website besuchen", - "sp_about": "\u00dcber uns", - "sp_services": "Angebotene Leistungen", - "sp_service_area": "Servicegebiet", - "sp_enquiry_heading": "Anfrage senden", - "sp_enquiry_name": "Dein Name", - "sp_enquiry_email": "E-Mail", - "sp_enquiry_message": "Nachricht", - "sp_enquiry_submit": "Anfrage senden", - "sp_contact": "Kontakt", - "sp_years": "Jahre aktiv", - "sp_projects": "Projekte", - "sp_trust": "Verifizierter Eintrag \u2014 Identit\u00e4t und Inhaberschaft best\u00e4tigt", - "sp_cta_basic_h3": "Auf der Suche nach direkter Angebotsabstimmung?", - "sp_cta_claim_h3": "Ist das Dein Unternehmen?", - "sp_cta_claim_btn": "Eintrag beanspruchen \u2192", - "sp_locked_hint": "Eintrag noch nicht verifiziert", - "sp_locked_popover_title": "Direkte Anfragen nicht verf\u00fcgbar", - "sp_locked_popover_link": "Angebotsassistent nutzen \u2192", - "sp_locked_popover_dismiss": "Schlie\u00dfen", - # ── Enquiry result ─────────────────────────────────────────────────── - "enquiry_success_title": "Anfrage gesendet!", - "enquiry_error_title": "Bitte korrigiere Folgendes:", - # ── Quote wizard ───────────────────────────────────────────────────── - "q_btn_next": "Weiter \u2192", - "q_btn_back": "\u2190 Zur\u00fcck", - "q_btn_submit": "Absenden & Angebote erhalten \u2192", - "q1_heading": "Dein Projekt", - "q1_subheading": "Welche Art von Padel-Anlage planst Du?", - "q1_prefill_sub": "Aus dem Planer vorausgef\u00fcllt \u2014 passe die Angaben nach Bedarf an.", - "q1_edit_in_planner": "Im Planer bearbeiten", - "q6_required_hint": "Bitte w\u00e4hle einen Finanzierungsstatus.", - "q6_decision_required_hint": "Bitte w\u00e4hle deinen Entscheidungsprozess.", - "q8_required_hint": "Bitte w\u00e4hle mindestens eine Leistung.", - "q1_facility_label": "Anlagentyp", - "q1_facility_indoor": "Indoor", - "q1_facility_outdoor": "Outdoor", - "q1_facility_both": "Indoor + Outdoor", - "q1_court_count": "Anzahl der Pl\u00e4tze", - "q1_glass_label": "Glastyp", - "q1_glass_standard": "Standardglas", - "q1_glass_panoramic": "Panoramaglas", - "q1_glass_no_pref": "Keine Pr\u00e4ferenz", - "q1_lighting_label": "Beleuchtung", - "q1_lighting_led_std": "LED Standard", - "q1_lighting_led_comp": "LED Wettkampf", - "q1_lighting_natural": "Tageslicht", - "q1_lighting_not_sure": "Noch unklar", - "q2_heading": "Standort", - "q2_subheading": "Wo planst Du zu bauen?", - "q2_city_label": "Stadt / Region", - "q2_city_placeholder": "z.\u202fB. M\u00fcnchen, Bayern", - "q2_country_label": "Land", - "q2_country_default": "Land ausw\u00e4hlen\u2026", - "q3_heading": "Projektsituation", - "q3_subheading": "Was beschreibt Dein Projekt am besten?", - "q3_context_label": "Projektsituation", - "q3_context_new": "Neues eigenst\u00e4ndiges Geb\u00e4ude", - "q3_context_adding": "Erweiterung einer bestehenden Halle / eines Tennisclubs", - "q3_context_converting": "Umbau eines Geb\u00e4udes", - "q3_context_venue_search": "Hilfe bei der Standortsuche", - "q4_heading": "Projektphase", - "q4_subheading": "Wo stehst Du im Prozess?", - "q4_phase_label": "Projektphase", - "q4_phase_searching": "Noch auf der Suche nach einem Standort", - "q4_phase_found": "Standort identifiziert", - "q4_phase_converting": "Umbau bestehender Anlage", - "q4_phase_lease_signed": "Miet- / Kaufvertrag unterzeichnet", - "q4_phase_permit_not_filed": "Baugenehmigung noch nicht beantragt", - "q4_phase_permit_pending": "Baugenehmigung in Bearbeitung", - "q4_phase_permit_granted": "Baugenehmigung erteilt", - "q5_heading": "Zeitplan", - "q5_subheading": "Wann m\u00f6chtest Du beginnen?", - "q5_timeline_label": "Zeitplan", - "q5_timeline_asap": "So schnell wie m\u00f6glich", - "q5_timeline_3_6": "3\u20136 Monate", - "q5_timeline_6_12": "6\u201312 Monate", - "q5_timeline_12_plus": "12+ Monate", - "q5_budget_label": "Budget (\u20ac)", - "q6_heading": "Finanzierung", - "q6_subheading": "Wie finanzierst Du das Projekt?", - "q6_status_label": "Finanzierungsstatus", - "q6_status_self": "Eigenfinanzierung", - "q6_status_loan": "Kredit zugesagt", - "q6_status_seeking": "Auf der Suche nach Finanzierung", - "q6_status_not_started": "Noch nicht begonnen", - "q6_help_checkbox": "Ich m\u00f6chte Hilfe bei der Suche nach Finanzierungsoptionen", - "q6_decision_label": "Entscheidungsprozess", - "q6_decision_solo": "Alleinentscheidung", - "q6_decision_partners": "Mit Partnern", - "q6_decision_committee": "Ausschuss / Vorstand", - "q7_heading": "\u00dcber Dich", - "q7_subheading": "Das hilft uns, dich mit den richtigen Anbietern zusammenzubringen.", - "q7_role_label": "Du bist\u2026", - "q7_role_entrepreneur": "Unternehmer / Investor", - "q7_role_tennis": "Tennis- / Sportclub", - "q7_role_municipality": "Gemeinde / \u00f6ffentliche Einrichtung", - "q7_role_developer": "Immobilienentwickler", - "q7_role_operator": "Bestehender Padel-Betreiber", - "q7_role_architect": "Architekt / Ingenieur", - "q7_contact_label": "Hast Du bereits Anbieter kontaktiert?", - "q7_contact_first": "Zum ersten Mal", - "q7_contact_researching": "Optionen erkunden", - "q7_contact_received": "Bereits Angebote erhalten", - "q8_heading": "Gew\u00fcnschte Leistungen", - "q8_subheading": "W\u00e4hle alles Zutreffende aus. Das hilft Anbietern, relevante Angebote vorzubereiten.", - "q8_services_label": "Leistungen", - "q8_services_note": "(alles Zutreffende ausw\u00e4hlen)", - "q8_court_supply": "Platzlieferung", - "q8_installation": "Montage", - "q8_construction": "Hallenbau", - "q8_design": "Padelplatz-Planung", - "q8_lighting": "Beleuchtung", - "q8_flooring": "Bodenbelag", - "q8_turnkey": "Schl\u00fcsselfertig", - "q8_additional_label": "Noch etwas?", - "q8_additional_placeholder": "Besondere Anforderungen, Fragen oder Hintergrundinformationen\u2026", - "q9_heading": "Kontaktdaten", - "q9_subheading": "Wie sollen passende Anbieter dich erreichen?", - "q9_privacy_msg": "Deine Kontaktdaten werden nur mit gepr\u00fcften Anbietern geteilt, die zu Deinen Projektspezifikationen passen.", - "q9_name_label": "Vollst\u00e4ndiger Name", - "q9_email_label": "E-Mail", - "q9_phone_label": "Telefon", - "q9_company_label": "Unternehmen", - "q9_company_note": "(optional)", - "q9_consent_text": "Ich stimme zu, dass meine Projektdaten und Kontaktinformationen mit verifizierten Padelplatz-Anbietern geteilt werden d\u00fcrfen, die zu meinem Projekt passen.", - "q9_consent_privacy": "Datenschutzerkl\u00e4rung", - "q9_consent_terms": "AGB", - "q9_no_obligation": "Keine Verpflichtung.", - "qs_title": "Erfolgreich vermittelt!", - "qs_next_h2": "Was als n\u00e4chstes passiert", - "qs_step_1": "Anbieter pr\u00fcfen Deinen Projektbrief und bereiten Angebote vor", - "qs_step_1_time": "Jetzt", - "qs_step_2": "Passende Anbieter kontaktieren Dich mit ma\u00dfgeschneiderten Angeboten", - "qs_step_2_time": "1\u20132 Tage", - "qs_step_3": "Angebote vergleichen und R\u00fcckfragen stellen", - "qs_step_3_time": "1\u20132 Wochen", - "qs_step_4": "Den Anbieter ausw\u00e4hlen, der am besten zu Deinem Projekt passt", - "qs_step_4_time": "In Deinem Tempo", - "qs_signup_h3": "Konto erstellen", - "qs_signup_text": "Szenarien speichern, Projekt verfolgen und benachrichtigt werden, wenn Anbieter antworten.", - "qs_signup_btn": "Konto erstellen", - "qs_back_planner": "Zum Planer", - "qv_heading": "E-Mail pr\u00fcfen", - "qv_link_expiry": "Der Link l\u00e4uft in 60 Minuten ab.", - "qv_spam": "Spam-Ordner \u00fcberpr\u00fcfen", - "qv_wait": "Einen Moment warten \u2014 die Zustellung kann etwas dauern", - "qv_wrong_email": "Falsche E-Mail?", - "qv_wrong_email_link": "Neue Anfrage stellen", - # ── Suppliers signup flow ──────────────────────────────────────────── - "sup_signup_step1": "Plan ausw\u00e4hlen", - "sup_signup_step2": "Boost-Add-ons", - "sup_signup_step3": "Credit-Pakete", - "sup_signup_step4": "Kontodaten", - "sup_success_h2": "Alles bereit!", - "sup_success_text": "Dein Anbieter-Konto wird aktiviert. Du erh\u00e4ltst in K\u00fcrze qualifizierte Leads, die Deinen Leistungen entsprechen.", - "sup_success_next_h3": "Was als n\u00e4chstes passiert:", - "sup_success_btn": "Zum Lead-Feed", - # ── Suppliers waitlist ─────────────────────────────────────────────── - "sup_waitlist_h1": "Auf die Warteliste f\u00fcr die Anbieter-Plattform", - "sup_waitlist_email_label": "E-Mail", - "sup_waitlist_submit": "Zur Warteliste", - "sup_waitlist_signin_text": "Bereits ein Konto?", - "sup_waitlist_signin_link": "Anmelden", - # ── Content / Markets ──────────────────────────────────────────────── - "mkt_heading": "Padel-M\u00e4rkte", - "mkt_subheading": "Kostenanalysen und Finanzprojektionen f\u00fcr Padel-Center weltweit.", - "mkt_search_placeholder": "M\u00e4rkte suchen\u2026", - "mkt_all_countries": "Alle L\u00e4nder", - "mkt_all_regions": "Alle Regionen", - "mkt_no_results": "Keine Märkte gefunden. Passe Deine Filter an.", - "waitlist_markets_title": "Marktdaten — Demnächst verfügbar", - "waitlist_markets_sub": "Detaillierte Marktberichte für Padel-Investoren: Baukosten, Umsatz-Benchmarks, Auslastungsdaten und ROI-Analysen nach Stadt und Region.", - "waitlist_markets_feature1": "Echte Kostendaten aus laufenden Anlagen in über 30 Ländern", - "waitlist_markets_feature2": "Umsatz-Benchmarks und Auslastungsquoten nach Marktreife", - "waitlist_markets_feature3": "Renditeprofile und Vergleichstransaktionen", - "waitlist_markets_email_label": "Deine E-Mail-Adresse", - "waitlist_markets_btn": "Frühen Zugang sichern", - "waitlist_markets_hint": "Als Erstes informiert werden, wenn die Marktdaten verfügbar sind.", - "waitlist_markets_confirmed_title": "Du stehst auf der Liste", - "waitlist_markets_confirmed_body": "Wir benachrichtigen Dich, sobald die Marktdaten verfügbar sind.", - "waitlist_markets_have_account": "Bereits ein Konto?", - "waitlist_markets_signin_link": "Anmelden", - # ── Article detail ─────────────────────────────────────────────────── - "art_run_numbers_h2": "Eigene Zahlen berechnen", - "art_run_numbers_text": "Nutze unseren kostenlosen Finanzplaner, um ein Padel-Center mit Deinen eigenen Annahmen zu modellieren.", - "art_open_planner_btn": "Planer \u00f6ffnen", - # ── Planner UI strings ─────────────────────────────────────────────── - "tab_assumptions": "Annahmen", - "tab_capex": "Investition", - "tab_operating": "Betriebsmodell", - "tab_cashflow": "Cashflow", - "tab_returns": "Renditen & Exit", - "tab_metrics": "Kennzahlen", - "wiz_venue": "Padel-Platz", - "wiz_pricing": "Preise", - "wiz_costs": "Kosten", - "wiz_finance": "Finanzierung", - "toggle_indoor": "Indoor", - "toggle_outdoor": "Outdoor", - "toggle_rent": "Miete / Pacht", - "toggle_buy": "Kauf / Bau", - "pill_country": "Land", - "pill_glass_type": "Glastyp", - "pill_lighting_type": "Beleuchtungstyp", - "pill_glass_standard": "Standardglas", - "pill_glass_panoramic": "Panoramaglas", - "pill_light_led_standard": "LED Standard", - "pill_light_led_competition": "LED Wettkampf", - "pill_light_natural": "Tageslicht", - "country_de": "Deutschland", - "country_es": "Spanien", - "country_it": "Italien", - "country_fr": "Frankreich", - "country_nl": "Niederlande", - "country_se": "Schweden", - "country_uk": "UK", - "country_us": "USA", - "sl_dbl_courts": "Doppelpl\u00e4tze (20\u00d710\u202fm)", - "sl_sgl_courts": "Einzelpl\u00e4tze (20\u00d76\u202fm)", - "sl_sqm_dbl_hall": "Hallen-m\u00b2 pro Doppelplatz", - "sl_sqm_sgl_hall": "Hallen-m\u00b2 pro Einzelplatz", - "sl_sqm_dbl_outdoor": "Grundst\u00fcck-m\u00b2 pro Doppelplatz", - "sl_sqm_sgl_outdoor": "Grundst\u00fcck-m\u00b2 pro Einzelplatz", - "sl_rate_peak": "Spitzenstundensatz (\u20ac)", - "sl_rate_offpeak": "Nebenstundensatz (\u20ac)", - "sl_rate_single": "Einzelplatz-Stundensatz (\u20ac)", - "sl_peak_pct": "Anteil Spitzenstunden", - "sl_booking_fee": "Plattformprovision", - "sl_util_target": "Ziel-Auslastung", - "sl_hours_per_day": "Betriebsstunden / Tag", - "sl_days_indoor": "Betriebstage / Monat (Indoor)", - "sl_days_outdoor": "Betriebstage / Monat (Outdoor)", - "sl_ancillary_header": "Nebeneinnahmen (pro Platz/Monat):", - "sl_membership_rev": "Mitgliedschaftseinnahmen / Platz", - "sl_fb_rev": "F&B-Einnahmen / Platz", - "sl_coaching_rev": "Coaching & Events / Platz", - "sl_retail_rev": "Einzelhandel / Platz", - "sl_court_cost_dbl": "Platzkosten \u2014 Doppel", - "sl_court_cost_sgl": "Platzkosten \u2014 Einzel", - "sl_hall_cost_sqm": "Hallenbau (\u20ac/m\u00b2)", - "sl_foundation_sqm": "Fundament (\u20ac/m\u00b2)", - "sl_land_price_sqm": "Grundst\u00fcckspreis (\u20ac/m\u00b2)", - "sl_hvac": "L\u00fcftung & Klimaanlage", - "sl_electrical": "Elektro + Beleuchtung", - "sl_sanitary": "Sanit\u00e4r / Umkleide", - "sl_fire": "Brandschutz", - "sl_planning": "Planung + Genehmigungen", - "sl_floor_prep": "Bodenvorbereitung", - "sl_hvac_upgrade": "L\u00fcftungsausbau", - "sl_lighting_upgrade": "Beleuchtungsausbau", - "sl_fitout": "Ausbau & Empfang", - "sl_outdoor_foundation": "Beton (\u20ac/m\u00b2)", - "sl_outdoor_site_work": "Erschlie\u00dfung", - "sl_outdoor_lighting": "Beleuchtung pro Platz", - "sl_outdoor_fencing": "Einz\u00e4unung", - "sl_permits": "Genehmigungen & Auflagen", - "sl_working_capital": "Betriebskapital", - "sl_contingency": "Reserve", - "sl_budget_target": "Dein Budgetziel", - "sl_rent_sqm": "Miete (\u20ac/m\u00b2/Monat)", - "sl_outdoor_rent": "Monatliche Grundst\u00fccksmiete", - "sl_property_tax": "Grundsteuer / Monat", - "sl_insurance": "Versicherung (\u20ac/Monat)", - "sl_electricity": "Strom (\u20ac/Monat)", - "sl_heating": "Heizung (\u20ac/Monat)", - "sl_water": "Wasser (\u20ac/Monat)", - "sl_maintenance": "Wartung (\u20ac/Monat)", - "sl_cleaning": "Reinigung (\u20ac/Monat)", - "sl_marketing": "Marketing / Sonstiges (\u20ac/Monat)", - "sl_staff": "Personal (\u20ac/Monat)", - "sl_loan_pct": "Fremdkapitalquote (LTC)", - "sl_interest_rate": "Zinssatz", - "sl_loan_term": "Kreditlaufzeit", - "sl_construction_months": "Bauzeit", - "sl_hold_years": "Haltedauer", - "sl_exit_multiple": "Exit-EBITDA-Multiplikator", - "sl_annual_rev_growth": "J\u00e4hrliches Umsatzwachstum", - # ── Tooltip tip texts ──────────────────────────────────────────────── - "wiz_summary_label": "Aktuelle Werte", - "tip_permits_compliance": "Baugenehmigungen, L\u00e4rmgutachten, Nutzungs\u00e4nderungen, Brandschutz und beh\u00f6rdliche Auflagen. Wird automatisch angepasst, wenn du ein Land w\u00e4hlst \u2014 kann manuell \u00fcberschrieben werden.", - "tip_dbl_courts": "Standard-Padelplatz f\u00fcr 4 Spieler. H\u00e4ufigstes Format mit der h\u00f6chsten Freizeitnachfrage.", - "tip_sgl_courts": "Schmaler Platz f\u00fcr 2 Spieler. Beliebt f\u00fcr Coaching, Training und Wettkampf.", - "tip_sqm_dbl_hall": "Gesamte Hallenfl\u00e4che pro Doppelplatz. Enth\u00e4lt Spielfeld (200\u202fm\u00b2), Sicherheitszonen, Laufwege und Mindestabst\u00e4nde. Standard: 300\u2013350\u202fm\u00b2.", - "tip_sqm_sgl_hall": "Gesamte Hallenfl\u00e4che pro Einzelplatz. Enth\u00e4lt Spielfeld (120\u202fm\u00b2), Sicherheitszonen und Zugang. Standard: 200\u2013250\u202fm\u00b2.", - "tip_sqm_dbl_outdoor": "Au\u00dfenfl\u00e4che pro Doppelplatz. Enth\u00e4lt Spielfeld, Entw\u00e4sserungsgef\u00e4lle, Zugangswege und Pufferzonen. Standard: 280\u2013320\u202fm\u00b2.", - "tip_sqm_sgl_outdoor": "Au\u00dfenfl\u00e4che pro Einzelplatz. Enth\u00e4lt Spielfeld, Umgebungsfl\u00e4che und Zugangswege. Standard: 180\u2013220\u202fm\u00b2.", - "tip_rate_peak": "Preis pro Platz und Stunde w\u00e4hrend Sto\u00dfzeiten (Abends 17\u201322\u202fUhr und Wochenende). H\u00f6chste Nachfragezeit.", - "tip_rate_offpeak": "Preis pro Platz und Stunde au\u00dferhalb der Sto\u00dfzeiten (Werktage morgens/nachmittags). Typischerweise 30\u201340\u00a0% niedriger als Peak.", - "tip_rate_single": "Stundensatz f\u00fcr Einzelpl\u00e4tze. Meist niedriger als Doppelpl\u00e4tze, da sich weniger Spieler die Kosten teilen.", - "tip_peak_pct": "Anteil der gebuchten Stunden zum Spitzentarif. H\u00f6herer Wert bedeutet mehr Umsatz, aber schwieriger zu f\u00fcllende Nebenstunden.", - "tip_booking_fee": "Provision von Buchungsplattformen wie Playtomic oder Matchi. Typisch: 5\u201315\u00a0% des Platzumsatzes.", - "tip_util_target": "Anteil der verf\u00fcgbaren Platzstunden, der tats\u00e4chlich gebucht wird. 35\u201345\u00a0% sind realistisch f\u00fcr neue Anlagen, 50\u00a0%+ ist stark.", - "tip_hours_per_day": "Gesamte Betriebsstunden pro Tag. Typische Padel-Anlagen \u00f6ffnen 7\u201323\u202fUhr (16\u202fh). Manche auch 6\u201324\u202fUhr.", - "tip_days_indoor": "Durchschnittliche Betriebstage pro Monat f\u00fcr Indoor-Anlagen. ~29 ber\u00fccksichtigt Feiertage und Wartungsschlie\u00dfungen.", - "tip_days_outdoor": "Durchschnittliche bespielbaren Tage pro Monat im Freien. Reduziert durch Regen, Extremhitze oder K\u00e4lte.", - "tip_membership_rev": "Monatliche Mitgliedschafts-/Abonnementeinnahmen pro Platz. Aus Treueprogrammen, Monatsp\u00e4ssen oder Clubmitgliedschaften.", - "tip_fb_rev": "F&B-Einnahmen pro Platz und Monat. Einnahmen aus Bar, Caf\u00e9, Restaurant oder Automaten in der Anlage.", - "tip_coaching_rev": "Einnahmen aus Coaching-Stunden, Kursen, Turnieren und Veranstaltungen, pro Platz und Monat.", - "tip_retail_rev": "Einnahmen aus dem Fachhandel: Griffband, Overgrips, Zubeh\u00f6r und Merchandise pro Platz und Monat.", - "tip_glass_type": "Standardglas: 25\u201330\u202fT\u20ac pro Platz. Panoramaglas: 30\u201345\u202fT\u20ac. Panoramaglas bietet volle Sicht und Premium-Atmosph\u00e4re.", - "tip_court_cost_dbl": "Grundpreis eines Doppel-Padelplatzes. Der Glastyp-Multiplikator wird automatisch angewendet.", - "tip_court_cost_sgl": "Grundpreis eines Einzelplatzes. In der Regel 60\u201370\u00a0% der Kosten eines Doppelplatzes.", - "tip_hall_cost_sqm": "Baukosten pro m\u00b2 f\u00fcr eine neue Halle (Warmhalle). Enth\u00e4lt Tragwerk, D\u00e4mmung und Verkleidung. Erfordert 10\u201312\u202fm lichte H\u00f6he.", - "tip_foundation_sqm": "Fundamentkosten pro m\u00b2. Abh\u00e4ngig von Bodenbedingungen, Tragf\u00e4higkeit und lokalem Grundwasserstand.", - "tip_land_price_sqm": "Grundst\u00fcckskaufpreis pro m\u00b2. Land: 20\u201360\u202f\u20ac. Stadtrand: 60\u2013150\u202f\u20ac. Stadtlage: 150\u2013300\u202f\u20ac+. Stark standortabh\u00e4ngig.", - "tip_hvac": "Heizung, L\u00fcftung und Klimatisierung. Unverzichtbar f\u00fcr Raumklima und Feuchtigkeitskontrolle. Kosten skalieren mit dem Hallenvolumen.", - "tip_electrical": "Komplette Elektroinstallation: Platzbeleuchtung (LED, 500+ Lux), Stromverteilung, Schaltschr\u00e4nke und Steckdosen.", - "tip_sanitary": "Umkleidekabinen, Duschen, Toiletten und Sanit\u00e4rinstallation. Enth\u00e4lt Armaturen, Fliesen, Abdichtung und L\u00fcftung.", - "tip_fire_protection": "Brandmeldeanlage, Sprinkler, Notausg\u00e4nge und Rauchabzug. Oft der gr\u00f6\u00dfte \u00dcberraschungsposten bei gro\u00dfen Hallen.", - "tip_planning": "Architektenplanung, Tragwerksplanung, Baugenehmigungen, Bebauungsplanantrag und beh\u00f6rdliche Auflagen.", - "tip_floor_prep": "Bodenausgleich, Abdichtung und Vorbereitung f\u00fcr die Platzinstallation in einem bestehenden Mietobjekt.", - "tip_hvac_upgrade": "Ausr\u00fcstung der vorhandenen HLK-Anlage im Mietobjekt f\u00fcr sportgerechten Luftstrom und Feuchtigkeitskontrolle.", - "tip_lighting_upgrade": "Ausr\u00fcstung der vorhandenen Beleuchtung auf Padel-Standard: mind. 500 Lux, blendfrei, gleichm\u00e4\u00dfige Ausleuchtung.", - "tip_fitout": "Innenausbau f\u00fcr Empfang, Lounge, Zuschauerbereich und Gemeinschaftsfl\u00e4chen im Mietobjekt.", - "tip_outdoor_foundation": "Betonplatte pro m\u00b2 f\u00fcr Outdoor-Pl\u00e4tze. Erfordert ordentliche Entw\u00e4sserung, ebenen Untergrund und frostsichere Bauweise.", - "tip_outdoor_site_work": "Gel\u00e4ndeausgleich, Entw\u00e4sserungsinstallation, Versorgungsanschl\u00fcsse und Erschlie\u00dfung f\u00fcr Au\u00dfenpl\u00e4tze.", - "tip_outdoor_lighting": "Flutlichtinstallation pro Platz. LED empfohlen f\u00fcr Energieeffizienz. Wettkampfnormen einhalten, falls relevant.", - "tip_outdoor_fencing": "Einz\u00e4unung der Au\u00dfenplatzanlage. Enth\u00e4lt Windschutz, Sicherheitstore und Ballr\u00fcckhaltevorrichtungen.", - "tip_working_capital": "Kassenreserve f\u00fcr Betriebsverluste in der Anlaufphase und bei saisonalen Schwankungen. Kritischer Puffer \u2014 zu geringes Betriebskapital ist ein h\u00e4ufiger Startup-Fehler.", - "tip_contingency": "Prozentualer Puffer auf den Gesamt-CAPEX f\u00fcr unvorhergesehene Kosten. 10\u201315\u00a0% sind beim Bau Standard, 15\u201320\u00a0% bei komplexen Projekten.", - "tip_budget_target": "Gesamtbudget festlegen, um den geplanten CAPEX zu vergleichen. 0 lassen, um den Budgetindikator auszublenden.", - "tip_rent_sqm": "Monatliche Miete pro m\u00b2 f\u00fcr Hallenfl\u00e4che. Abh\u00e4ngig von Lage, Geb\u00e4udequalit\u00e4t und Mietkonditionen.", - "tip_outdoor_rent": "Monatliche Grundst\u00fccksmiete f\u00fcr Au\u00dfenplatzfl\u00e4che. Deutlich g\u00fcnstiger als Hallenfl\u00e4che, aber wetterabh\u00e4ngig.", - "tip_property_tax": "Monatliche Grundsteuer bei Eigentum an Geb\u00e4ude/Grundst\u00fcck. Variiert je nach Gemeinde und Grundst\u00fcckswert.", - "tip_insurance": "Monatlicher Versicherungsbeitrag: Haftpflicht, Sachschaden, Betriebsunterbrechung und Ausr\u00fcstung.", - "tip_electricity": "Monatliche Stromkosten. Gr\u00f6\u00dfter Kostentreiber f\u00fcr Indoor-Anlagen durch Platzbeleuchtung, HLK und Ger\u00e4te.", - "tip_heating": "Monatliche Heizkosten f\u00fcr Indoor-Anlagen. Relevant in nordeurop\u00e4ischen Klimazonen in den Wintermonaten.", - "tip_water": "Monatliche Wasserkosten f\u00fcr Duschen, Toiletten, Reinigung und ggf. Outdoor-Platzbew\u00e4sserung.", - "tip_maintenance": "Monatliche Platz- und Anlagenwartung: Glasreinigung, Belagreparatur, Netzaustausch und Ger\u00e4tepflege.", - "tip_cleaning": "Monatliche professionelle Reinigung von Pl\u00e4tzen, Umkleiden, Gemeinschaftsfl\u00e4chen und Empfang.", - "tip_marketing": "Monatliche Ausgaben f\u00fcr Marketing, Buchungsplattform-Abonnements, Website, Social Media und Kundengewinnung.", - "tip_staff": "Monatliche Personalkosten: Geh\u00e4lter, Sozialabgaben und Leistungen. Viele Anlagen fahren schlank mit automatisierten Buchungs- und Zugangssystemen.", - "tip_loan_pct": "Anteil des Gesamt-CAPEX, der fremdfinanziert wird. Banken bieten typisch 70\u201385\u00a0%. H\u00f6her mit Bürg\u00fcschaft oder F\u00f6rdermitteln.", - "tip_interest_rate": "J\u00e4hrlicher Zinssatz des Darlehens. Abh\u00e4ngig von Bonit\u00e4t, Sicherheiten, Marktlage und Bankbeziehung.", - "tip_loan_term": "Kreditlaufzeit in Jahren. L\u00e4ngere Laufzeit bedeutet niedrigere Monatsraten, aber mehr Gesamtzinsen.", - "tip_construction_months": "Monate Bau/Einrichtung vor der Er\u00f6ffnung. Kosten laufen bereits auf (Zinsen, Miete), aber noch kein Umsatz.", - "tip_hold_years": "Investitionshaltedauer bis zum Exit/Verkauf. Typisch f\u00fcr PE/Investoren: 5\u20137 Jahre. Betreiber-Eigent\u00fcmer k\u00f6nnen unbegrenzt halten.", - "tip_exit_multiple": "EBITDA-Multiplikator zur Unternehmensbewertung beim Exit. Spiegelt Marktnachfrage, Markenst\u00e4rke und Wachstumspotenzial wider. Kleines Business: 4\u20136\u00d7, starke Marke: 6\u20138\u00d7.", - "tip_annual_rev_growth": "Erwartetes jährliches Umsatzwachstum nach der ersten 12-monatigen Anlaufphase. Getrieben durch Preiserhöhungen und steigende Auslastung.", - "tip_result_irr": "Interner Zinsfuß über den Haltezeitraum — der annualisierte Diskontsatz, bei dem der Barwert aller Cashflows null ergibt. Ziel: über 20 %. N/A wenn Cashflows nie positiv werden.", - "tip_result_moic": "Multiple on Invested Capital: gesamte Rückflüsse ÷ investiertes Kapital. Beinhaltet laufende Cashflows und Exit-Erlös. 2,0x bedeutet, das eingesetzte Kapital zu verdoppeln.", - "tip_result_break_even": "Mindestauslastung, bei der Einnahmen alle Kosten einschließlich Schuldendienst decken. Unter 35 % signalisiert einen komfortablen Sicherheitspuffer.", - "tip_result_coc": "Cash-on-Cash: Netto-Cashflow im Jahr 3 ÷ eingesetztes Eigenkapital. Misst die jährliche Rendite auf das Eigenkapital in einem stabilisierten Betriebsjahr.", - "tip_result_revpah": "Umsatz pro verfügbarer Stunde — Nettoumsatz ÷ alle verfügbaren Court-Stunden. Wichtiger Branchenkennwert; höhere Werte deuten auf bessere Preisgestaltung oder Auslastung hin.", - "tip_result_payback": "Monat, in dem die kumulierten Cashflows (nach der Anfangsinvestition) positiv werden. Früherer Payback = weniger gebundenes Kapital.", - "tip_result_ebitda_mo": "EBITDA: Ergebnis vor Zinsen, Steuern, Abschreibungen. Operativer Cash-Überschuss vor Finanzierungskosten.", - "tip_result_dscr": "Debt Service Coverage Ratio: EBITDA ÷ jährliche Schuldenzahlungen (Tilgung + Zinsen). Banken fordern in der Regel mindestens 1,2x für eine Kreditgenehmigung.", - "tip_result_debt_yield": "Stabilisiertes EBITDA ÷ Darlehensbetrag. Zeigt Kreditgebern, ob das Objekt unabhängig von Marktbewertungen seinen Schuldendienst leisten kann. Über 10 % ist gesund.", - "tip_result_yield_on_cost": "Stabilisiertes EBITDA ÷ Gesamtinvestition (CAPEX). Ungehebelte Rendite — nützlich zum Vergleich mit anderen Anlageklassen oder Bauprojekten.", - "btn_save": "Speichern", - "btn_my_scenarios": "Meine Szenarien", - "btn_reset": "Zur\u00fccksetzen", - "btn_reset_confirm": "Sicher? Zur\u00fccksetzen", - "btn_back": "\u2190 Zur\u00fcck", - "btn_next": "Weiter \u2192", - "btn_show_results": "Ergebnisse anzeigen \u2192", - "prompt_scenario_name": "Szenario-Name:", - "prompt_scenario_default": "Mein Padel-Plan", - "toast_saved": "Szenario gespeichert!", - "label_indoor": "Indoor", - "label_outdoor": "Outdoor", - "label_build_buy": "Kauf/Bau", - "label_rent": "Miete", - "label_courts": "Pl\u00e4tze", - "label_indoor_hall": "Innenhalle", - "label_outdoor_land": "Au\u00dfenfl\u00e4che", - "label_playing_surface": "Spielfl\u00e4che", - "wiz_capex": "CAPEX", - "wiz_monthly_cf": "Monatl. CF", - "wiz_irr": "IRR", - "wiz_mo": "/Monat", - "card_total_courts": "Pl\u00e4tze gesamt", - "card_floor_area": "Grundfl\u00e4che", - "card_court_area": "Platzfl\u00e4che", - "card_total_capex": "Gesamt-CAPEX", - "card_per_court": "Pro Platz", - "card_per_sqm": "Pro m\u00b2", - "budget_over": "BUDGET \u00dcBERSCHRITTEN", - "budget_under": "IM BUDGET", - "table_total_capex": "GESAMT-CAPEX", - "th_item": "Position", - "th_amount": "Betrag", - "card_net_rev_mo": "Nettoumsatz/Monat", - "card_ebitda_mo": "EBITDA/Monat", - "card_annual_rev": "Jahresumsatz", - "card_rev_pah": "RevPAH", - "sub_stabilized": "Stabilisiert", - "sub_year3": "Jahr 3", - "stream_court_rental": "Platzvermietung (nach Geb\u00fchren)", - "stream_equipment": "Ausr\u00fcstungsverleih (Schl\u00e4ger/B\u00e4lle)", - "stream_memberships": "Mitgliedschaften", - "stream_fb": "F&B", - "stream_coaching": "Coaching & Events", - "stream_retail": "Einzelhandel", - "table_total_net_rev": "Nettoumsatz gesamt", - "table_total_opex": "OPEX gesamt / Monat", - "th_stream": "Einnahmequelle", - "th_monthly": "Monatlich", - "th_share": "Anteil", - "chart_revenue": "Umsatz", - "chart_opex_debt": "OPEX+Schulden", - "chart_court_rev": "Platzerl\u00f6s", - "chart_fees": "Geb\u00fchren", - "chart_ancillary": "Nebeneinnahmen", - "chart_opex": "OPEX", - "chart_debt": "Schulden", - "card_y1_ncf": "Netto-CF Jahr 1", - "card_y3_ncf": "Netto-CF Jahr 3", - "card_payback": "Amortisation", - "card_initial_inv": "Startinvestition", - "payback_not_reached": "Noch nicht erreicht", - "th_year": "Jahr", - "th_revenue": "Umsatz", - "th_ebitda": "EBITDA", - "th_debt_service": "Schuldendienst", - "th_net_cf": "Netto-CF", - "th_dscr": "DSCR", - "th_util": "Auslastung", - "card_irr": "IRR", - "card_moic": "MOIC", - "card_break_even": "Break-Even-Auslastung", - "card_cash_on_cash": "Cash-on-Cash", - "wf_stab_ebitda": "Stabilisiertes EBITDA (J3)", - "wf_exit_multiple": "\u00d7 Exit-Multiplikator", - "wf_enterprise_value": "= Unternehmenswert", - "wf_remaining_loan": "\u2013 Restschuld", - "wf_net_exit": "= Netto-Exit-Erl\u00f6s", - "wf_cum_cf": "+ Kumulierter Cashflow", - "wf_total_returns": "= Gesamtrendite", - "wf_investment": "\u00f7 Investition", - "wf_moic": "= MOIC", - "th_utilization": "Auslastung", - "th_monthly_rev": "Monatl. Umsatz", - "th_monthly_ncf": "Monatl. Netto-CF", - "th_annual_ncf": "J\u00e4hrl. Netto-CF", - "th_price_change": "Preis\u00e4nderung", - "th_avg_rate": "Durchschn. Satz", - "metrics_return": "Rendite-Kennzahlen", - "metrics_revenue": "Umsatzeffizienz", - "metrics_cost": "Kosten & Marge", - "metrics_debt": "Schulden & Abdeckung", - "metrics_invest": "Investitionseffizienz", - "metrics_ops": "Betrieb", - "month_jan": "Jan", - "month_feb": "Feb", - "month_mar": "M\u00e4r", - "month_apr": "Apr", - "month_may": "Mai", - "month_jun": "Jun", - "month_jul": "Jul", - "month_aug": "Aug", - "month_sep": "Sep", - "month_oct": "Okt", - "month_nov": "Nov", - "month_dec": "Dez", - # ── Suppliers page ─────────────────────────────────────────────────── - "sup_meta_title": "F\u00fcr Anbieter \u2013 Erreiche Padel-Unternehmer", - "sup_meta_desc": "Werde auf Padelnomics gelistet. Erreiche Unternehmer, die bereits einen Finanzplan f\u00fcr ihr Padel-Projekt erstellt haben. Basic, Growth und Pro ab \u20ac39/Monat.", - "sup_hero_h1a": "Kein Kaltakquise mehr.", - "sup_hero_h1b": "Triff K\u00e4ufer, die bereits einen Businessplan haben.", - "sup_hero_sub": "Jeder Lead auf Padelnomics hat CAPEX, Umsatz und ROI bereits modelliert \u2013 bevor er dich kontaktiert. Keine Zeitverschwender. Kein \u201eich schau mich nur um.\u201c", - "sup_hero_cta": "Pl\u00e4ne & Preise ansehen", - "sup_hero_trust_pre": "Vertrauen von Anbietern in", - "sup_hero_trust_post": "L\u00e4ndern", - "sup_stat_plans": "erstellte Businesspl\u00e4ne", - "sup_stat_avg": "\u00d8 Projektvolumen", - "sup_stat_suppliers_pre": "Anbieter in", - "sup_stat_suppliers_post": "L\u00e4ndern", - "sup_stat_leads": "Leads diesen Monat", - "sup_prob_h2": "Das Problem mit der Kundengewinnung im Padel-Markt", - "sup_prob_sub": "Die meisten Kan\u00e4le verschwenden deine Zeit und dein Budget, bevor du mit einem einzigen ernsthaften K\u00e4ufer sprichst.", - "sup_prob_tradeshow_h3": "Messen", - "sup_prob_tradeshow_p": "Pro Veranstaltung. Du triffst Hunderte von Menschen. Vielleicht 3 davon bauen wirklich eine Padel-Anlage.", - "sup_prob_ads_h3": "Google Ads", - "sup_prob_ads_p": "Pro Klick. Die meisten Besucher recherchieren Padel, sind aber nicht bereit, \u00fcber 300.000\u20ac in ein Bauprojekt zu investieren.", - "sup_prob_cold_h3": "Kaltakquise", - "sup_prob_cold_p": "R\u00fccklaufquote. Stunden mit E-Mails und Telefonaten, um Unternehmer zu erreichen, die noch nicht kaufbereit sind.", - "sup_prob_transition": "Was w\u00e4re, wenn jeder Lead mit einem vollst\u00e4ndigen Projektbriefing und einem Finanzmodell k\u00e4me?", - "sup_how_h2": "So funktioniert es", - "sup_how_sub": "Drei Schritte zu qualifizierten Leads.", - "sup_how_step1_h3": "Dein Inserat beanspruchen", - "sup_how_step1_p": "Dein Unternehmen ist bereits in unserem Verzeichnis. W\u00e4hle einen Plan, um dein Inserat aufzuwerten und Zugang zum Lead-Feed zu erhalten.", - "sup_how_step2_h3": "Vorqualifizierte Leads durchsuchen", - "sup_how_step2_p": "Jeder Lead enth\u00e4lt Projektspezifikationen, Budget, Zeitplan und ein selbst erstelltes Finanzmodell. Setze Credits nur f\u00fcr Leads ein, die zu deinen Leistungen passen.", - "sup_how_step3_h3": "Projekte schneller gewinnen", - "sup_how_step3_p": "Kontaktiere den Unternehmer direkt. Du kennst bereits sein Budget, Zeitplan und Finanzierungsstatus \u2013 kein Discovery-Call n\u00f6tig.", - "sup_credits_h3": "Wie Credits funktionieren", - "sup_credits_sub": "Jeder Lead kostet Credits, je nachdem wie kaufbereit er ist. Growth-Pl\u00e4ne beinhalten 30 Credits/Monat, Pro 100.", - "sup_credits_hot": "Hei\u00dfer Lead", - "sup_credits_hot_label": "Credits \u00b7 Finanzierung gesichert, sofort bereit", - "sup_credits_warm": "Warmer Lead", - "sup_credits_warm_label": "Credits \u00b7 aktiv planend, 3\u20136 Monate", - "sup_credits_cool": "Cooler Lead", - "sup_credits_cool_label": "Credits \u00b7 fr\u00fche Recherche, 6\u201312 Monate", - "sup_leads_heading": "Aktuelle verifizierte Leads", - "sup_lead_facility": "Anlage", - "sup_lead_country": "Land", - "sup_lead_budget": "Budget", - "sup_lead_timeline": "Zeitplan", - "sup_lead_contact": "Kontakt", - "sup_leads_unlock_pre": "Vollst\u00e4ndige Kontaktdaten und Projektspezifikationen mit Credits freischalten.", - "sup_leads_unlock_cta": "Jetzt starten \u2192", - "sup_leads_example": "Dies sind Beispiel-Leads. Echte Leads erscheinen, sobald Unternehmer Angebotsanfragen einreichen.", - "sup_why_h2": "Warum Padelnomics-Leads anders sind", - "sup_why_sub": "Jeder Lead hat bereits ein Finanzmodell f\u00fcr sein Projekt erstellt.", - "sup_why_card1_h3": "Vorqualifiziert", - "sup_why_card1_p": "Leads kommen \u00fcber unseren Finanzplaner. Sie haben CAPEX, Umsatz und ROI modelliert, bevor sie dich kontaktieren.", - "sup_why_card2_h3": "Vollst\u00e4ndiges Projektbriefing", - "sup_why_card2_p": "Du erh\u00e4ltst Standorttyp, Court-Anzahl, Glas-/Beleuchtungsspezifikationen, Budget, Zeitplan, Finanzierungsstatus und Kontaktdaten.", - "sup_why_card3_h3": "Keine Kaltakquise", - "sup_why_card3_p": "Unternehmer kommen zu uns. Du h\u00f6rst nur von Menschen, die aktiv planen, Padel-Anlagen zu bauen.", - "sup_pricing_h2": "Pl\u00e4ne & Preise", - "sup_pricing_sub": "W\u00e4hle den Plan, der zu deinen Wachstumszielen passt.", - "sup_billing_monthly": "Monatlich", - "sup_billing_yearly": "J\u00e4hrlich", - "sup_billing_save": "Bis zu 26% sparen", - "sup_basic_name": "Basic", - "sup_basic_dir": "Verzeichniseintrag", - "sup_basic_f1": "Verifiziert \u2713 Badge", - "sup_basic_f2": "Firmenlogo", - "sup_basic_f3": "Vollst\u00e4ndige Beschreibung & Slogan", - "sup_basic_f4": "Website & Kontaktdaten", - "sup_basic_f5": "Checkliste der angebotenen Leistungen", - "sup_basic_f6": "Kontaktformular auf der Listing-Seite", - "sup_basic_cta": "Jetzt listen", - "sup_growth_name": "Growth", - "sup_growth_popular": "Beliebtester Plan", - "sup_growth_credits": "30 Credits/Monat inklusive", - "sup_growth_f1": "Alles aus Basic", - "sup_growth_f2": "Zugang zum Lead-Feed", - "sup_growth_f3": "\u201eGrowth\u201c-Badge auf dem Inserat", - "sup_growth_f4": "Priorit\u00e4t gegen\u00fcber kostenlosen Eintr\u00e4gen", - "sup_growth_f5": "30 Lead-Credits pro Monat", - "sup_growth_f6": "Zus\u00e4tzliche Credit-Pakete kaufen", - "sup_growth_cta": "Jetzt starten", - "sup_pro_name": "Pro", - "sup_pro_credits": "100 Credits/Monat inklusive", - "sup_pro_f1": "Alles aus Growth", - "sup_pro_f2": "Coverfoto auf dem Inserat", - "sup_pro_f3": "Vollst\u00e4ndige Statistiken (Projekte, Jahre, Fl\u00e4che)", - "sup_pro_f4": "Featured Card-Rahmen & Glow", - "sup_pro_f5": "Bevorzugte Platzierung im Verzeichnis", - "sup_pro_f6": "100 Lead-Credits pro Monat", - "sup_pro_cta": "Jetzt starten", - "sup_yearly_note_basic": "\u20ac349 j\u00e4hrlich", - "sup_yearly_note_growth": "\u20ac1.799 j\u00e4hrlich", - "sup_yearly_note_pro": "\u20ac4.499 j\u00e4hrlich", - "sup_boosts_h3": "Boost Add-Ons", - "sup_boosts_sub": "Mit jedem kostenpflichtigen Plan verf\u00fcgbar. Im Dashboard verwalten.", - "sup_boost_logo": "Logo", - "sup_boost_highlight": "Hervorhebung", - "sup_boost_verified": "Verifiziert-Badge", - "sup_boost_sticky": "Sticky Top", - "sup_boost_color": "Eigene Kartenfarbe", - "sup_cmp_h2": "So schlagen wir den Vergleich", - "sup_cmp_sub": "Deine Interessenten w\u00e4gen diese Alternativen bereits ab. Hier der ehrliche Vergleich.", - "sup_cmp_th_us": "Padelnomics Growth", - "sup_cmp_th_tradeshow": "Messepr\u00e4senz", - "sup_cmp_th_ads": "Google Ads", - "sup_cmp_th_cold": "Kaltes Verzeichnis", - "sup_cmp_row1": "Jahreskosten", - "sup_cmp_row2": "Lead-Qualit\u00e4t", - "sup_cmp_row3": "Enthaltene Leads", - "sup_cmp_row4": "Projektdetails", - "sup_cmp_row5": "Zeit bis zum ersten Lead", - "sup_cmp_row6": "Passend zu deinen Leistungen", - "sup_cmp_q1": "Vorqualifiziert mit Businessplan", - "sup_cmp_q2": "Gemischt, meist nur schauend", - "sup_cmp_q3": "Kalt, suchend", - "sup_cmp_q4": "Keine (nur Eintrag)", - "sup_cmp_c1": "30 Credits/Monat", - "sup_cmp_c2": "Pro Klick bezahlen", - "sup_cmp_d1": "Vollst\u00e4ndige Spezifikationen + Finanzmodell", - "sup_cmp_d2": "Nur Visitenkarten", - "sup_cmp_d3": "Keine", - "sup_cmp_t1": "Am selben Tag", - "sup_cmp_t2": "Monate entfernt", - "sup_cmp_t3": "Innerhalb von Tagen", - "sup_cmp_t4": "Nie", - "sup_cmp_m1": "Nach Kategorie gefiltert", - "sup_cmp_footnote": "*Google-Ads-Sch\u00e4tzung basierend auf \u20ac20\u201380 CPC f\u00fcr Padel-Baukeywords bei 5\u201310 Klicks/Tag.", - "sup_proof_h2": "Vertrauen von F\u00fchrungsunternehmen der Padel-Branche", - "sup_proof_stat1": "erstellte Businesspl\u00e4ne", - "sup_proof_stat2": "Anbieter", - "sup_proof_stat3": "L\u00e4nder", - "sup_proof_q1": "Padelnomics schickt uns Leads, die bereits ernsthaft an einem Bau interessiert sind. Die Projektbriefings sind detaillierter als das, was wir von Messen erhalten.", - "sup_proof_cite1": "\u2014 Europ\u00e4ischer Padel-Court-Hersteller", - "sup_proof_q2": "Endlich eine Plattform, die den Padel-Baumarkt versteht. Wir kennen das Budget, den Zeitplan und den Standorttyp, bevor wir \u00fcberhaupt Erstkontakt aufnehmen.", - "sup_proof_cite2": "\u2014 Padel-Court-Installationsunternehmen, Skandinavien", - "sup_faq_h2": "Anbieter-FAQ", - "sup_faq_q1": "Wie beanspruche ich mein Inserat?", - "sup_faq_a1_pre": "Finde dein Unternehmen in unserem", - "sup_faq_a1_post": "und klicke auf \u201eIst das dein Unternehmen?\u201c Wir \u00fcberpr\u00fcfen deine Identit\u00e4t und geben dir Zugang, um einen Plan auszuw\u00e4hlen und dein Profil zu aktualisieren.", - "sup_faq_dir_link": "Verzeichnis", - "sup_faq_q2": "Wie viel kostet es?", - "sup_faq_a2": "Wir bieten drei Pl\u00e4ne an: Basic (\u20ac39/Monat) f\u00fcr einen verifizierten Verzeichniseintrag mit Kontaktformular; Growth (\u20ac199/Monat, 30 Credits) mit vollem Lead-Zugang und Priorit\u00e4tsplatzierung; und Pro (\u20ac499/Monat, 100 Credits) f\u00fcr maximale Sichtbarkeit und Lead-Volumen. J\u00e4hrliche Abrechnung spart bis zu 26\u00a0% \u2013 Basic bei \u20ac349/Jahr, Growth bei \u20ac1.799/Jahr, Pro bei \u20ac4.499/Jahr. Optionale Boost-Add-Ons sind zus\u00e4tzlich erh\u00e4ltlich.", - "sup_faq_q3": "Was macht Padelnomics-Leads anders als andere Plattformen?", - "sup_faq_a3": "Jeder Lead auf Padelnomics hat unser Finanzplanungstool genutzt, um sein Projekt zu modellieren \u2013 CAPEX, Umsatzprognosen, ROI und Schuldendienstdeckung \u2013 bevor er sich meldet. Das bedeutet: sie sind ernst, haben ein realistisches Budget und sind bereit, mit Anbietern zu sprechen. Du bekommst keine Kaltanfragen, sondern vorqualifizierte Projektbriefings.", - "sup_faq_q4": "Wie sieht der Preisvergleich mit Alternativen aus?", - "sup_faq_a4": "Eine Messepr\u00e4senz kostet \u20ac10.000+ pro Veranstaltung und liefert meist nur Browsing-Kontakte. Google Ads f\u00fcr Padel-Baukeywords kosten \u20ac20\u201380 pro Klick \u2013 das sind \u20ac5.000+/Jahr, bevor du mit einem einzigen Interessenten sprichst. Ein typischer Kaltverzeichniseintrag kostet ~\u20ac600/Jahr ohne einen einzigen Lead. Padelnomics Growth bei \u20ac1.799/Jahr beinhaltet 30 Lead-Credits pro Monat mit vollst\u00e4ndigen Projektbriefings.", - "sup_faq_q5": "Wie funktionieren Credits?", - "sup_faq_a5": "Mit Credits schaltest du die Kontaktdaten von Leads frei. Jeder Plan beinhaltet monatliche Credits (Growth: 30, Pro: 100). Hei\u00dfe Leads kosten 35 Credits, warme 20 und coole 8. Du kannst jederzeit zus\u00e4tzliche Credit-Pakete \u00fcber dein Dashboard kaufen. Ungenutzte Credits werden auf den n\u00e4chsten Monat \u00fcbertragen.", - "sup_faq_q6": "Welche Informationen enthalten Leads?", - "sup_faq_a6": "Jeder Lead enth\u00e4lt: Anlagentyp (innen/au\u00dfen), Court-Anzahl, Glas- und Beleuchtungsvorlieben, Land und Stadt, Budgetsch\u00e4tzung, Projektphase, Zeitplan, Finanzierungsstatus, Stakeholder-Typ, ben\u00f6tigte Leistungen und vollst\u00e4ndige Kontaktdaten.", - "sup_faq_q7": "Wie werden Leads Anbietern zugeordnet?", - "sup_faq_a7": "Wir matchen anhand von Standort, angebotenen Leistungen und Projektanforderungen. Alle verifizierten Leads erscheinen in deinem Lead-Feed, wobei Leads in deinem Servicegebiet hervorgehoben werden. Du entscheidest, welche Leads du freischaltest.", - "sup_faq_q8": "Welche L\u00e4nder werden abgedeckt?", - "sup_faq_a8_pre": "Padelnomics hat Anbieter in", - "sup_faq_a8_post": "L\u00e4ndern gelistet. Die st\u00e4rkste Abdeckung haben wir in Europa (Deutschland, Spanien, Schweden, Gro\u00dfbritannien, Niederlande, Italien), aber wir wachsen weltweit, da Padel sich ausbreitet.", - "sup_faq_q9": "Kann ich jederzeit k\u00fcndigen?", - "sup_faq_a9": "Ja. Du kannst dein Abonnement jederzeit \u00fcber dein Dashboard k\u00fcndigen. Dein Inserat bleibt bis zum Ende des aktuellen Abrechnungszeitraums aktiv. Ungenutzte Credits verfallen bei K\u00fcndigung.", - "sup_faq_q10": "Mein Unternehmen ist nicht gelistet. Wie werde ich hinzugef\u00fcgt?", - "sup_faq_a10_pre": "Schreib uns eine E-Mail an", - "sup_faq_a10_post": "mit deinen Unternehmensdetails und wir f\u00fcgen dich innerhalb von 48 Stunden dem Verzeichnis hinzu.", - "sup_cta_h2": "Dein n\u00e4chster Kunde erstellt gerade einen Businessplan", - "sup_cta_p": "Er hat den ROI modelliert. Er kennt sein Budget. Er sucht einen Anbieter wie dich.", - }, + lang: _load_locale(f"{lang}.json") for lang in SUPPORTED_LANGS } +assert _TRANSLATIONS["en"].keys() == _TRANSLATIONS["de"].keys(), ( + "EN/DE key mismatch — " + f"EN-only: {sorted(_TRANSLATIONS['en'].keys() - _TRANSLATIONS['de'].keys())}, " + f"DE-only: {sorted(_TRANSLATIONS['de'].keys() - _TRANSLATIONS['en'].keys())}" +) def get_translations(lang: str) -> dict[str, str]: @@ -1967,9 +44,10 @@ def get_translations(lang: str) -> dict[str, str]: return _TRANSLATIONS[lang] - -# ── Calculator item names ──────────────────────────────────────────────────── +# ── Calculator item names ───────────────────────────────────────────────────── # Used in calculator.py calc(s, lang) to localise CAPEX/OPEX line item names. +# Kept inline (36 keys per lang) — different namespace from UI strings, +# used only by calculator.py, no benefit from externalising. _CALC_ITEM_NAMES: dict[str, dict[str, str]] = { "en": { @@ -2013,27 +91,27 @@ _CALC_ITEM_NAMES: dict[str, dict[str, str]] = { }, "de": { # CAPEX - "padel_courts": "Padelpl\u00e4tze", + "padel_courts": "Padelplätze", "shipping": "Transport & Lieferung", "hall_construction": "Hallenbau", "foundation": "Fundament", - "land_purchase": "Grundst\u00fccks-kauf", + "land_purchase": "Grundstücks-kauf", "transaction_costs": "Erwerbsnebenkosten", - "hvac_system": "L\u00fcftung & Klimaanlage", + "hvac_system": "Lüftung & Klimaanlage", "electrical_lighting": "Elektro + Beleuchtung", - "sanitary_changing": "Sanit\u00e4r / Umkleide", - "parking_exterior": "Parkplatz + Au\u00dfenanlage", + "sanitary_changing": "Sanitär / Umkleide", + "parking_exterior": "Parkplatz + Außenanlage", "planning_permits": "Planung + Genehmigungen", "fire_protection": "Brandschutz", "floor_preparation": "Bodenvorbereitung", - "hvac_upgrade": "L\u00fcftungsausbau", + "hvac_upgrade": "Lüftungsausbau", "lighting_upgrade": "Beleuchtungsausbau", "fitout_reception": "Ausbau & Empfang", "permits_compliance": "Genehmigungen & Auflagen", "concrete_foundation": "Betonfundament", - "site_work": "Erschlie\u00dfung", + "site_work": "Erschließung", "outdoor_lighting": "Beleuchtung", - "fencing": "Einz\u00e4unung", + "fencing": "Einzäunung", "equipment": "Ausstattung", "working_capital": "Betriebskapital", "miscellaneous": "Sonstiges", diff --git a/padelnomics/src/padelnomics/locales/de.json b/padelnomics/src/padelnomics/locales/de.json new file mode 100644 index 0000000..dab32eb --- /dev/null +++ b/padelnomics/src/padelnomics/locales/de.json @@ -0,0 +1,943 @@ +{ + "nav_planner": "Finanzplaner", + "nav_quotes": "Angebot erhalten", + "nav_directory": "Anbieterverzeichnis", + "nav_markets": "Märkte", + "nav_suppliers": "Für Anbieter", + "nav_help": "Hilfe", + "nav_feedback": "Feedback", + "nav_send": "Senden", + "nav_signin": "Anmelden", + "nav_signout": "Abmelden", + "nav_dashboard": "Dashboard", + "nav_admin": "Admin", + "footer_tagline": "Plane, finanziere und baue dein Padel-Business.", + "footer_product": "Produkt", + "footer_legal": "Rechtliches", + "footer_company": "Unternehmen", + "footer_rights": "Alle Rechte vorbehalten.", + "link_terms": "AGB", + "link_privacy": "Datenschutz", + "link_imprint": "Impressum", + "lang_switch_label": "EN", + "base_manage_cookies": "Cookie-Einstellungen", + "base_about": "Über uns", + "base_feedback_placeholder": "Ideen zur Verbesserung dieser Seite…", + "base_feedback_contact_placeholder": "Deine E-Mail (optional)", + "cookie_title": "Cookie-Einstellungen", + "cookie_message": "Wir verwenden Cookies, damit du angemeldet bleibst und die Website verbessert werden kann.", + "cookie_policy": "Cookie-Richtlinie", + "cookie_essential_label": "Notwendig", + "cookie_essential_desc": "Sitzungsverwaltung. Immer erforderlich.", + "cookie_essential_always": "AN", + "cookie_functional_label": "Funktional", + "cookie_functional_desc": "A/B-Tests zur Verbesserung der Nutzererfahrung.", + "cookie_save": "Auswahl speichern", + "cookie_manage": "Verwalten", + "cookie_accept_all": "Alle akzeptieren", + "cookie_close": "Schließen", + "auth_login_title": "Anmelden", + "auth_login_sub": "Gib deine E-Mail-Adresse ein, um einen Anmeldelink zu erhalten.", + "auth_login_email_label": "E-Mail", + "auth_login_btn": "Anmeldelink senden", + "auth_login_no_account": "Noch kein Konto?", + "auth_login_signup_link": "Registrieren", + "auth_signup_title": "Kostenloses Konto erstellen", + "auth_signup_sub": "Speichere deinen Padel-Businessplan, hole Anbieterangebote ein und finde Finanzierung.", + "auth_signup_hint": "Keine Kreditkarte erforderlich. Voller Zugang zu allen Funktionen.", + "auth_signup_btn": "Kostenloses Konto erstellen", + "auth_signup_have_account": "Bereits ein Konto?", + "auth_signup_signin_link": "Anmelden", + "auth_magic_title": "E-Mail prüfen", + "auth_magic_sent_to": "Wir haben dir einen Anmeldelink geschickt an:", + "auth_magic_instructions": "Klick auf den Link in der E-Mail, um dich anzumelden. Der Link läuft in {minutes} Minuten ab.", + "auth_magic_no_email": "Keine E-Mail erhalten?", + "auth_magic_check_spam": "Schau in deinen Spam-Ordner", + "auth_magic_correct_email": "Stelle sicher, dass die E-Mail-Adresse korrekt ist", + "auth_magic_wait": "Warte eine Minute und versuche es erneut", + "auth_magic_resend_btn": "Link erneut senden", + "auth_waitlist_title": "Sei Erster beim Start deines Padel-Business", + "auth_waitlist_sub": "Wir bereiten die ultimative Planungsplattform für Padel-Unternehmer vor. Trag dich in die Warteliste ein für Frühzugang, exklusive Boni und priorisierten Support.", + "auth_waitlist_hint": "Du gehörst zu den Ersten, die Zugang erhalten, wenn wir launchen.", + "auth_waitlist_btn": "In Warteliste eintragen", + "auth_waitlist_confirmed_title": "Du stehst auf der Warteliste!", + "auth_waitlist_confirmed_sent_to": "Wir haben dir eine Bestätigung geschickt an:", + "auth_waitlist_confirmed_sub": "Du gehörst zu den Ersten, die es wissen, wenn wir launchen. Wir schicken dir Frühzugang, exklusive Launch-Boni und prioriertes Onboarding.", + "auth_waitlist_confirmed_next": "Was passiert als Nächstes?", + "auth_waitlist_confirmed_step1": "Du erhältst in Kürze eine Bestätigungs-E-Mail", + "auth_waitlist_confirmed_step2": "Wir benachrichtigen dich, sobald wir launchen", + "auth_waitlist_confirmed_step3": "Du erhältst exklusiven Frühzugang vor dem öffentlichen Launch", + "auth_waitlist_confirmed_back": "Zurück zur Startseite", + "auth_flash_invalid_email": "Bitte gib eine gültige E-Mail-Adresse ein.", + "auth_flash_disposable_email": "Bitte verwende eine dauerhafte E-Mail-Adresse.", + "auth_flash_login_sent": "Schau in deine E-Mails für den Anmeldelink!", + "auth_flash_account_exists": "Konto existiert bereits. Bitte melde dich an.", + "auth_flash_signup_sent": "Schau in deine E-Mails, um die Registrierung abzuschließen!", + "auth_flash_invalid_token": "Ungültiger oder abgelaufener Link.", + "auth_flash_invalid_token_detail": "Ungültiger oder abgelaufener Link. Bitte fordere einen neuen an.", + "auth_flash_signed_in": "Erfolgreich angemeldet!", + "auth_flash_signed_out": "Du wurdest abgemeldet.", + "auth_flash_resend_sent": "Wenn diese E-Mail-Adresse registriert ist, haben wir einen neuen Link gesendet.", + "flash_feedback_success": "Vielen Dank für dein Feedback!", + "flash_feedback_empty": "Bitte gib eine Nachricht ein.", + "flash_feedback_rate_limit": "Zu viele Anfragen. Bitte versuch es später erneut.", + "flash_suppliers_success": "Danke! Wir verbinden dich mit verifizierten Hoflieferanten.", + "flash_financing_success": "Danke! Wir verbinden dich mit Finanzierungspartnern.", + "flash_verify_invalid": "Ungültiger Verifizierungslink.", + "flash_verify_expired": "Dieser Link ist abgelaufen oder wurde bereits verwendet. Bitte stelle eine neue Anfrage.", + "flash_verify_invalid_lead": "Dieses Angebot wurde bereits verifiziert oder existiert nicht.", + "landing_hero_badge": "Padel-Kostenrechner & Finanzplaner", + "landing_hero_h1_1": "Plan Dein Padel-", + "landing_hero_h1_2": "Business in Minuten,", + "landing_hero_h1_3": "nicht Monaten", + "landing_hero_btn_primary": "Jetzt planen →", + "landing_hero_btn_secondary": "Anbieter durchsuchen", + "landing_hero_bullet_1": "Keine Registrierung erforderlich", + "landing_hero_bullet_2": "60+ Variablen", + "landing_hero_bullet_3": "Unbegrenzte Szenarien", + "landing_roi_title": "Schnelle Renditeschätzung", + "landing_roi_subtitle": "Schieberegler bewegen und Projektion sehen", + "landing_roi_courts": "Plätze", + "landing_roi_rate": "Durchschn. Stundensatz", + "landing_roi_util": "Ziel-Auslastung", + "landing_roi_investment": "Investition", + "landing_roi_monthly_cf": "Monatlicher Cashflow", + "landing_roi_payback": "Amortisationszeit", + "landing_roi_annual_roi": "Jährlicher ROI", + "landing_roi_note": "Annahmen: Innenhalle Mietmodell, 8 €/m² Miete, Personalkosten, 5 % Zinsen, 10-jähriges Darlehen. Amortisation und ROI basieren auf der Gesamtinvestition.", + "landing_roi_cta": "Jetzt planen →", + "landing_journey_title": "Deine Reise", + "landing_journey_01": "Analysieren", + "landing_journey_01_badge": "Demnächst", + "landing_journey_02": "Planen", + "landing_journey_03": "Finanzieren", + "landing_journey_03_badge": "Demnächst", + "landing_journey_04": "Bauen", + "landing_journey_05": "Wachsen", + "landing_journey_05_badge": "Demnächst", + "landing_features_title": "Für ernsthafte Padel-Unternehmer entwickelt", + "landing_feature_1_h3": "60+ Variablen", + "landing_feature_2_h3": "6 Analyse-Tabs", + "landing_feature_3_h3": "Indoor & Outdoor", + "landing_feature_4_h3": "Sensitivitätsanalyse", + "landing_feature_5_h3": "Professionelle Kennzahlen", + "landing_feature_6_h3": "Speichern & Vergleichen", + "landing_supplier_title": "Die richtigen Anbieter für Dein Projekt finden", + "landing_supplier_step_1_title": "Padel-Platz planen", + "landing_supplier_step_2_title": "Angebote einholen", + "landing_supplier_step_3_title": "Vergleichen & Bauen", + "landing_supplier_browse_btn": "Anbieterverzeichnis durchsuchen", + "landing_faq_title": "Häufig gestellte Fragen", + "landing_faq_q1": "Was berechnet der Planer?", + "landing_faq_q2": "Muss ich mich registrieren?", + "landing_faq_q3": "Wie funktioniert die Anbieter-Vermittlung?", + "landing_faq_q4": "Ist das Anbieterverzeichnis kostenlos?", + "landing_faq_q5": "Wie genau sind die Finanzprojektionen?", + "landing_seo_title": "Padel-Platz-Investitionsplanung", + "landing_final_cta_h2": "Jetzt mit der Planung beginnen", + "landing_final_cta_btn": "Jetzt planen →", + "features_h1": "Alles, was du für dein Padel-Business brauchst", + "features_subtitle": "Professionelles Finanzmodell — vollständig kostenlos.", + "features_card_1_h2": "60+ Variablen", + "features_card_2_h2": "6 Analyse-Tabs", + "features_card_3_h2": "Indoor & Outdoor", + "features_card_4_h2": "Sensitivitätsanalyse", + "features_card_5_h2": "Professionelle Kennzahlen", + "features_card_6_h2": "Speichern & Vergleichen", + "features_capex_h2": "Detaillierte CAPEX-Aufschlüsselung", + "features_opex_h2": "Betriebsmodell", + "features_cf_h2": "Cashflow & Finanzierung", + "features_returns_h2": "Renditen & Exit", + "features_cta_open": "Planer öffnen", + "features_cta_signup": "Kostenloses Konto erstellen", + "about_why_h3": "Warum kostenlos?", + "about_next_h3": "Was kommt als nächstes", + "about_cta_open": "Planer öffnen", + "about_cta_signup": "Kostenloses Konto erstellen", + "suppliers_hero_cta": "Pläne & Preise ansehen", + "suppliers_stat_plans_label": "Erstellte Geschäftspläne", + "suppliers_stat_avg_value": "Durchschn. Projektwert", + "suppliers_stat_leads_label": "Leads diesen Monat", + "suppliers_problem_h2": "Das Problem bei der Kundengewinnung heute", + "suppliers_problem_sub": "Die meisten Kanäle verschwenden Zeit und Budget, bevor du mit einem echten Käufer sprichst.", + "suppliers_problem_1_h3": "Messen", + "suppliers_problem_2_h3": "Google Ads", + "suppliers_problem_3_h3": "Kaltakquise", + "suppliers_transition": "Was wäre, wenn jeder Lead mit einem vollständigen Projektbrief und einem Finanzmodell käme?", + "suppliers_how_h2": "So funktioniert es", + "suppliers_how_sub": "Drei Schritte zu qualifizierten Leads.", + "suppliers_step_1_h3": "Eintrag beanspruchen", + "suppliers_step_2_h3": "Vorqualifizierte Leads durchsuchen", + "suppliers_step_3_h3": "Projekte schneller gewinnen", + "suppliers_credits_h2": "So funktionieren Credits", + "suppliers_credit_hot": "Heißer Lead", + "suppliers_credit_warm": "Warmer Lead", + "suppliers_credit_cool": "Kühler Lead", + "suppliers_leads_h2": "Aktuelle verifizierte Leads", + "suppliers_leads_unlock": "Vollständige Kontaktdaten und Projektspezifikationen mit Credits freischalten.", + "suppliers_leads_cta": "Jetzt starten →", + "suppliers_leads_facility": "Anlage", + "suppliers_leads_country": "Land", + "suppliers_leads_budget": "Budget", + "suppliers_leads_timeline": "Zeitplan", + "suppliers_leads_contact": "Kontakt", + "suppliers_why_h2": "Warum Padelnomics-Leads anders sind", + "suppliers_why_sub": "Jeder Lead hat bereits ein Finanzmodell für sein Projekt erstellt.", + "suppliers_why_1_h3": "Vorqualifiziert", + "suppliers_why_2_h3": "Vollständiger Projektbrief", + "suppliers_why_3_h3": "Keine Kaltakquise", + "suppliers_pricing_h2": "Pläne & Preise", + "suppliers_pricing_sub": "Wähle den Plan, der zu Deinen Wachstumszielen passt.", + "suppliers_billing_monthly": "Monatlich", + "suppliers_billing_yearly": "Jährlich", + "suppliers_save_badge": "Bis zu 26 % sparen", + "suppliers_basic_name": "Basic", + "suppliers_growth_name": "Growth", + "suppliers_growth_popular": "Am beliebtesten", + "suppliers_pro_name": "Pro", + "suppliers_plan_per_mo": "/Monat", + "suppliers_plan_get_listed": "Eintrag erstellen", + "suppliers_plan_get_started": "Jetzt starten", + "suppliers_boosts_h2": "Boost-Add-ons", + "suppliers_boosts_sub": "Mit jedem bezahlten Plan verfügbar. Verwalte sie über Dein Dashboard.", + "suppliers_comparison_h2": "Der direkte Vergleich", + "suppliers_faq_h2": "FAQ für Anbieter", + "suppliers_final_cta_h2": "Dein nächster Kunde erstellt gerade einen Geschäftsplan", + "suppliers_final_cta_desc": "Er hat die Rentabilität berechnet. Er kennt sein Budget. Er sucht einen Anbieter wie dich.", + "suppliers_final_cta_btn": "Pläne & Preise ansehen", + "planner_page_h2": "100 % kostenlos. Kein Haken.", + "planner_card_1_h3": "Finanzplaner", + "planner_card_1_price": "Kostenlos", + "planner_card_1_price_sub": "— für immer", + "planner_card_1_open": "Planer öffnen", + "planner_card_1_signup": "Kostenloses Konto erstellen", + "planner_card_2_h3": "Brauchst Du Hilfe beim Bauen?", + "planner_card_2_desc": "Wir verbinden dich mit verifizierten Partnern", + "planner_card_2_quotes_btn": "Anbieter-Angebote einholen", + "planner_card_2_signup_btn": "Registrieren und loslegen", + "planner_quote_cta_label": "Nächster Schritt", + "planner_quote_cta_title": "Angebote von verifizierten Anbietern einholen", + "planner_quote_cta_desc": "Teile Deine Projektspezifikationen und wir verbinden dich mit passenden Anbietern.", + "planner_quote_cta_check_1": "Passende Anbieter", + "planner_quote_cta_check_2": "Direktkontakt, kein Vermittler", + "planner_quote_cta_check_3": "Keine Verpflichtung", + "planner_quote_cta_check_4": "Deine Daten bleiben privat", + "planner_quote_cta_btn": "Anbieter-Angebote einholen →", + "planner_quote_cta_hint": "Dauert ca. 2 Minuten", + "planner_export_btn": "Geschäftsplan exportieren (PDF) →", + "planner_export_hint": "99 € einmalig · Bankfertig", + "planner_signup_bar_msg": "Erstelle ein Konto, um Szenarien zu speichern und Pläne zu vergleichen.", + "planner_signup_bar_btn": "Kostenlos registrieren", + "export_title": "Geschäftsplan exportieren (PDF)", + "export_subtitle": "Bankfertige Finanzprojektionen aus Deinem Planer-Szenario.", + "export_scenario_label": "Szenario", + "export_language_label": "Sprache", + "export_scenario_default": "Szenario auswählen…", + "export_btn": "Kaufen & PDF generieren — 99 €", + "export_your_exports": "Deine Exporte", + "export_download": "PDF herunterladen", + "export_generating": "Wird generiert…", + "export_failed": "Fehlgeschlagen", + "export_back": "← Zurück zum Planer", + "export_success_title": "Zahlung eingegangen", + "export_success_subtitle": "Dein Geschäftsplan-PDF wird generiert. Dies dauert üblicherweise weniger als eine Minute.", + "export_success_status": "Dein PDF wird erstellt. Aktualisiere diese Seite gleich, oder überprüfe Deine E-Mail — wir senden Dir einen Download-Link, wenn es fertig ist.", + "export_success_refresh": "Status aktualisieren", + "export_success_all": "Alle Exporte anzeigen", + "export_success_planner": "Zurück zum Planer", + "export_gen_title": "Geschäftsplan wird generiert", + "export_gen_subtitle": "Dies dauert üblicherweise weniger als eine Minute. Diese Seite wird automatisch aktualisiert.", + "export_gen_refresh": "Jetzt aktualisieren", + "export_gen_all": "Alle Exporte anzeigen", + "export_waitlist_title": "Geschäftsplan-PDF-Export demnächst verfügbar", + "export_waitlist_btn": "Zurück zum Planer", + "scenario_drawer_title": "Meine Szenarien", + "scenario_badge_default": "Standard", + "scenario_btn_load": "Laden", + "scenario_btn_delete": "Löschen", + "scenario_empty": "Noch keine gespeicherten Szenarien. Speichere den aktuellen Plan mit der Schaltfläche „Speichern“.", + "scenario_updated": "Aktualisiert", + "scenario_created": "Erstellt", + "dir_heading": "Padelplatz-Hersteller, Platzbauer & Anbieter", + "dir_subheading": "Über {n} Anbieter aus {c} Ländern. Hersteller, Platzbauer und schlüsselfertige Lösungen für Deinen Padelplatz.", + "dir_stat_suppliers": "Anbieter", + "dir_stat_countries": "Länder", + "dir_stat_categories": "Kategorien", + "dir_search_placeholder": "Anbieter, Länder, Produkte suchen…", + "dir_filter_all_countries": "Alle Länder", + "dir_filter_all_categories": "Alle Kategorien", + "dir_search_btn": "Suchen", + "dir_filter_clear": "Alle löschen", + "dir_cta_heading": "Bist Du ein Padelplatz-Anbieter?", + "dir_cta_subheading": "Eintrag erstellen und Kontakt zu planenden Unternehmern aufnehmen.", + "dir_cta_btn": "Eintrag erstellen", + "dir_card_verified": "Verifiziert", + "dir_card_featured": "Featured", + "dir_card_growth": "Growth", + "dir_card_unverified": "Nicht verifiziert", + "dir_card_quote_btn": "Angebot anfragen →", + "dir_card_view_btn": "Eintrag ansehen →", + "dir_card_claim_btn": "Gehört Dir das? →", + "dir_empty_heading": "Keine Anbieter gefunden", + "dir_empty_sub": "Passe Deine Suche oder Filter an.", + "dir_empty_clear": "Alle Filter zurücksetzen", + "dir_cat_manufacturer": "Hersteller", + "dir_cat_turnkey": "Generalunternehmer", + "dir_cat_consultant": "Berater", + "dir_cat_hall_builder": "Hallenbauer", + "dir_cat_turf": "Belag / Oberflächen", + "dir_cat_lighting": "Beleuchtung", + "dir_cat_software": "Software", + "dir_cat_industry_body": "Branchenverband", + "dir_cat_franchise": "Franchise / Betreiber", + "dir_region_europe": "Europa", + "dir_region_north_america": "Nordamerika", + "dir_region_latin_america": "Lateinamerika", + "dir_region_middle_east": "Naher Osten", + "dir_region_asia_pacific": "Asien-Pazifik", + "dir_region_africa": "Afrika", + "dir_country_DE": "Deutschland", + "dir_country_ES": "Spanien", + "dir_country_IT": "Italien", + "dir_country_FR": "Frankreich", + "dir_country_PT": "Portugal", + "dir_country_GB": "Vereinigtes Königreich", + "dir_country_NL": "Niederlande", + "dir_country_BE": "Belgien", + "dir_country_SE": "Schweden", + "dir_country_DK": "Dänemark", + "dir_country_FI": "Finnland", + "dir_country_NO": "Norwegen", + "dir_country_AT": "Österreich", + "dir_country_SI": "Slowenien", + "dir_country_IS": "Island", + "dir_country_CH": "Schweiz", + "dir_country_EE": "Estland", + "dir_country_US": "Vereinigte Staaten", + "dir_country_CA": "Kanada", + "dir_country_MX": "Mexiko", + "dir_country_BR": "Brasilien", + "dir_country_AR": "Argentinien", + "dir_country_AE": "VAE", + "dir_country_SA": "Saudi-Arabien", + "dir_country_TR": "Türkei", + "dir_country_CN": "China", + "dir_country_IN": "Indien", + "dir_country_SG": "Singapur", + "dir_country_ID": "Indonesien", + "dir_country_TH": "Thailand", + "dir_country_AU": "Australien", + "dir_country_ZA": "Südafrika", + "dir_country_EG": "Ägypten", + "sp_back": "Zurück zum Verzeichnis", + "sp_verified": "Verifiziert ✓", + "sp_request_quote": "Angebot anfragen →", + "sp_visit_website": "Website besuchen", + "sp_about": "Über uns", + "sp_services": "Angebotene Leistungen", + "sp_service_area": "Servicegebiet", + "sp_enquiry_heading": "Anfrage senden", + "sp_enquiry_name": "Dein Name", + "sp_enquiry_email": "E-Mail", + "sp_enquiry_message": "Nachricht", + "sp_enquiry_submit": "Anfrage senden", + "sp_contact": "Kontakt", + "sp_years": "Jahre aktiv", + "sp_projects": "Projekte", + "sp_trust": "Verifizierter Eintrag — Identität und Inhaberschaft bestätigt", + "sp_cta_basic_h3": "Auf der Suche nach direkter Angebotsabstimmung?", + "sp_cta_claim_h3": "Ist das Dein Unternehmen?", + "sp_cta_claim_btn": "Eintrag beanspruchen →", + "sp_locked_hint": "Eintrag noch nicht verifiziert", + "sp_locked_popover_title": "Direkte Anfragen nicht verfügbar", + "sp_locked_popover_link": "Angebotsassistent nutzen →", + "sp_locked_popover_dismiss": "Schließen", + "enquiry_success_title": "Anfrage gesendet!", + "enquiry_error_title": "Bitte korrigiere Folgendes:", + "q_btn_next": "Weiter →", + "q_btn_back": "← Zurück", + "q_btn_submit": "Absenden & Angebote erhalten →", + "q1_heading": "Dein Projekt", + "q1_subheading": "Welche Art von Padel-Anlage planst Du?", + "q1_prefill_sub": "Aus dem Planer vorausgefüllt — passe die Angaben nach Bedarf an.", + "q1_edit_in_planner": "Im Planer bearbeiten", + "q6_required_hint": "Bitte wähle einen Finanzierungsstatus.", + "q6_decision_required_hint": "Bitte wähle deinen Entscheidungsprozess.", + "q8_required_hint": "Bitte wähle mindestens eine Leistung.", + "q1_facility_label": "Anlagentyp", + "q1_facility_indoor": "Indoor", + "q1_facility_outdoor": "Outdoor", + "q1_facility_both": "Indoor + Outdoor", + "q1_court_count": "Anzahl der Plätze", + "q1_glass_label": "Glastyp", + "q1_glass_standard": "Standardglas", + "q1_glass_panoramic": "Panoramaglas", + "q1_glass_no_pref": "Keine Präferenz", + "q1_lighting_label": "Beleuchtung", + "q1_lighting_led_std": "LED Standard", + "q1_lighting_led_comp": "LED Wettkampf", + "q1_lighting_natural": "Tageslicht", + "q1_lighting_not_sure": "Noch unklar", + "q2_heading": "Standort", + "q2_subheading": "Wo planst Du zu bauen?", + "q2_city_label": "Stadt / Region", + "q2_city_placeholder": "z. B. München, Bayern", + "q2_country_label": "Land", + "q2_country_default": "Land auswählen…", + "q3_heading": "Projektsituation", + "q3_subheading": "Was beschreibt Dein Projekt am besten?", + "q3_context_label": "Projektsituation", + "q3_context_new": "Neues eigenständiges Gebäude", + "q3_context_adding": "Erweiterung einer bestehenden Halle / eines Tennisclubs", + "q3_context_converting": "Umbau eines Gebäudes", + "q3_context_venue_search": "Hilfe bei der Standortsuche", + "q4_heading": "Projektphase", + "q4_subheading": "Wo stehst Du im Prozess?", + "q4_phase_label": "Projektphase", + "q4_phase_searching": "Noch auf der Suche nach einem Standort", + "q4_phase_found": "Standort identifiziert", + "q4_phase_converting": "Umbau bestehender Anlage", + "q4_phase_lease_signed": "Miet- / Kaufvertrag unterzeichnet", + "q4_phase_permit_not_filed": "Baugenehmigung noch nicht beantragt", + "q4_phase_permit_pending": "Baugenehmigung in Bearbeitung", + "q4_phase_permit_granted": "Baugenehmigung erteilt", + "q5_heading": "Zeitplan", + "q5_subheading": "Wann möchtest Du beginnen?", + "q5_timeline_label": "Zeitplan", + "q5_timeline_asap": "So schnell wie möglich", + "q5_timeline_3_6": "3–6 Monate", + "q5_timeline_6_12": "6–12 Monate", + "q5_timeline_12_plus": "12+ Monate", + "q5_budget_label": "Budget (€)", + "q6_heading": "Finanzierung", + "q6_subheading": "Wie finanzierst Du das Projekt?", + "q6_status_label": "Finanzierungsstatus", + "q6_status_self": "Eigenfinanzierung", + "q6_status_loan": "Kredit zugesagt", + "q6_status_seeking": "Auf der Suche nach Finanzierung", + "q6_status_not_started": "Noch nicht begonnen", + "q6_help_checkbox": "Ich möchte Hilfe bei der Suche nach Finanzierungsoptionen", + "q6_decision_label": "Entscheidungsprozess", + "q6_decision_solo": "Alleinentscheidung", + "q6_decision_partners": "Mit Partnern", + "q6_decision_committee": "Ausschuss / Vorstand", + "q7_heading": "Über Dich", + "q7_subheading": "Das hilft uns, dich mit den richtigen Anbietern zusammenzubringen.", + "q7_role_label": "Du bist…", + "q7_role_entrepreneur": "Unternehmer / Investor", + "q7_role_tennis": "Tennis- / Sportclub", + "q7_role_municipality": "Gemeinde / öffentliche Einrichtung", + "q7_role_developer": "Immobilienentwickler", + "q7_role_operator": "Bestehender Padel-Betreiber", + "q7_role_architect": "Architekt / Ingenieur", + "q7_contact_label": "Hast Du bereits Anbieter kontaktiert?", + "q7_contact_first": "Zum ersten Mal", + "q7_contact_researching": "Optionen erkunden", + "q7_contact_received": "Bereits Angebote erhalten", + "q8_heading": "Gewünschte Leistungen", + "q8_subheading": "Wähle alles Zutreffende aus. Das hilft Anbietern, relevante Angebote vorzubereiten.", + "q8_services_label": "Leistungen", + "q8_services_note": "(alles Zutreffende auswählen)", + "q8_court_supply": "Platzlieferung", + "q8_installation": "Montage", + "q8_construction": "Hallenbau", + "q8_design": "Padelplatz-Planung", + "q8_lighting": "Beleuchtung", + "q8_flooring": "Bodenbelag", + "q8_turnkey": "Schlüsselfertig", + "q8_additional_label": "Noch etwas?", + "q8_additional_placeholder": "Besondere Anforderungen, Fragen oder Hintergrundinformationen…", + "q9_heading": "Kontaktdaten", + "q9_subheading": "Wie sollen passende Anbieter dich erreichen?", + "q9_privacy_msg": "Deine Kontaktdaten werden nur mit geprüften Anbietern geteilt, die zu Deinen Projektspezifikationen passen.", + "q9_name_label": "Vollständiger Name", + "q9_email_label": "E-Mail", + "q9_phone_label": "Telefon", + "q9_company_label": "Unternehmen", + "q9_company_note": "(optional)", + "q9_consent_text": "Ich stimme zu, dass meine Projektdaten und Kontaktinformationen mit verifizierten Padelplatz-Anbietern geteilt werden dürfen, die zu meinem Projekt passen.", + "q9_consent_privacy": "Datenschutzerklärung", + "q9_consent_terms": "AGB", + "q9_no_obligation": "Keine Verpflichtung.", + "qs_title": "Erfolgreich vermittelt!", + "qs_next_h2": "Was als nächstes passiert", + "qs_step_1": "Anbieter prüfen Deinen Projektbrief und bereiten Angebote vor", + "qs_step_1_time": "Jetzt", + "qs_step_2": "Passende Anbieter kontaktieren Dich mit maßgeschneiderten Angeboten", + "qs_step_2_time": "1–2 Tage", + "qs_step_3": "Angebote vergleichen und Rückfragen stellen", + "qs_step_3_time": "1–2 Wochen", + "qs_step_4": "Den Anbieter auswählen, der am besten zu Deinem Projekt passt", + "qs_step_4_time": "In Deinem Tempo", + "qs_signup_h3": "Konto erstellen", + "qs_signup_text": "Szenarien speichern, Projekt verfolgen und benachrichtigt werden, wenn Anbieter antworten.", + "qs_signup_btn": "Konto erstellen", + "qs_back_planner": "Zum Planer", + "qv_heading": "E-Mail prüfen", + "qv_link_expiry": "Der Link läuft in 60 Minuten ab.", + "qv_spam": "Spam-Ordner überprüfen", + "qv_wait": "Einen Moment warten — die Zustellung kann etwas dauern", + "qv_wrong_email": "Falsche E-Mail?", + "qv_wrong_email_link": "Neue Anfrage stellen", + "sup_signup_step1": "Plan auswählen", + "sup_signup_step2": "Boost-Add-ons", + "sup_signup_step3": "Credit-Pakete", + "sup_signup_step4": "Kontodaten", + "sup_success_h2": "Alles bereit!", + "sup_success_text": "Dein Anbieter-Konto wird aktiviert. Du erhältst in Kürze qualifizierte Leads, die Deinen Leistungen entsprechen.", + "sup_success_next_h3": "Was als nächstes passiert:", + "sup_success_btn": "Zum Lead-Feed", + "sup_waitlist_h1": "Auf die Warteliste für die Anbieter-Plattform", + "sup_waitlist_email_label": "E-Mail", + "sup_waitlist_submit": "Zur Warteliste", + "sup_waitlist_signin_text": "Bereits ein Konto?", + "sup_waitlist_signin_link": "Anmelden", + "mkt_heading": "Padel-Märkte", + "mkt_subheading": "Kostenanalysen und Finanzprojektionen für Padel-Center weltweit.", + "mkt_search_placeholder": "Märkte suchen…", + "mkt_all_countries": "Alle Länder", + "mkt_all_regions": "Alle Regionen", + "mkt_no_results": "Keine Märkte gefunden. Passe Deine Filter an.", + "waitlist_markets_title": "Marktdaten — Demnächst verfügbar", + "waitlist_markets_sub": "Detaillierte Marktberichte für Padel-Investoren: Baukosten, Umsatz-Benchmarks, Auslastungsdaten und ROI-Analysen nach Stadt und Region.", + "waitlist_markets_feature1": "Echte Kostendaten aus laufenden Anlagen in über 30 Ländern", + "waitlist_markets_feature2": "Umsatz-Benchmarks und Auslastungsquoten nach Marktreife", + "waitlist_markets_feature3": "Renditeprofile und Vergleichstransaktionen", + "waitlist_markets_email_label": "Deine E-Mail-Adresse", + "waitlist_markets_btn": "Frühen Zugang sichern", + "waitlist_markets_hint": "Als Erstes informiert werden, wenn die Marktdaten verfügbar sind.", + "waitlist_markets_confirmed_title": "Du stehst auf der Liste", + "waitlist_markets_confirmed_body": "Wir benachrichtigen Dich, sobald die Marktdaten verfügbar sind.", + "waitlist_markets_have_account": "Bereits ein Konto?", + "waitlist_markets_signin_link": "Anmelden", + "art_run_numbers_h2": "Eigene Zahlen berechnen", + "art_run_numbers_text": "Nutze unseren kostenlosen Finanzplaner, um ein Padel-Center mit Deinen eigenen Annahmen zu modellieren.", + "art_open_planner_btn": "Planer öffnen", + "tab_assumptions": "Annahmen", + "tab_capex": "Investition", + "tab_operating": "Betriebsmodell", + "tab_cashflow": "Cashflow", + "tab_returns": "Renditen & Exit", + "tab_metrics": "Kennzahlen", + "wiz_venue": "Padel-Platz", + "wiz_pricing": "Preise", + "wiz_costs": "Kosten", + "wiz_finance": "Finanzierung", + "toggle_indoor": "Indoor", + "toggle_outdoor": "Outdoor", + "toggle_rent": "Miete / Pacht", + "toggle_buy": "Kauf / Bau", + "pill_country": "Land", + "pill_glass_type": "Glastyp", + "pill_lighting_type": "Beleuchtungstyp", + "pill_glass_standard": "Standardglas", + "pill_glass_panoramic": "Panoramaglas", + "pill_light_led_standard": "LED Standard", + "pill_light_led_competition": "LED Wettkampf", + "pill_light_natural": "Tageslicht", + "country_de": "Deutschland", + "country_es": "Spanien", + "country_it": "Italien", + "country_fr": "Frankreich", + "country_nl": "Niederlande", + "country_se": "Schweden", + "country_uk": "UK", + "country_us": "USA", + "sl_dbl_courts": "Doppelplätze (20×10 m)", + "sl_sgl_courts": "Einzelplätze (20×6 m)", + "sl_sqm_dbl_hall": "Hallen-m² pro Doppelplatz", + "sl_sqm_sgl_hall": "Hallen-m² pro Einzelplatz", + "sl_sqm_dbl_outdoor": "Grundstück-m² pro Doppelplatz", + "sl_sqm_sgl_outdoor": "Grundstück-m² pro Einzelplatz", + "sl_rate_peak": "Spitzenstundensatz (€)", + "sl_rate_offpeak": "Nebenstundensatz (€)", + "sl_rate_single": "Einzelplatz-Stundensatz (€)", + "sl_peak_pct": "Anteil Spitzenstunden", + "sl_booking_fee": "Plattformprovision", + "sl_util_target": "Ziel-Auslastung", + "sl_hours_per_day": "Betriebsstunden / Tag", + "sl_days_indoor": "Betriebstage / Monat (Indoor)", + "sl_days_outdoor": "Betriebstage / Monat (Outdoor)", + "sl_ancillary_header": "Nebeneinnahmen (pro Platz/Monat):", + "sl_membership_rev": "Mitgliedschaftseinnahmen / Platz", + "sl_fb_rev": "F&B-Einnahmen / Platz", + "sl_coaching_rev": "Coaching & Events / Platz", + "sl_retail_rev": "Einzelhandel / Platz", + "sl_court_cost_dbl": "Platzkosten — Doppel", + "sl_court_cost_sgl": "Platzkosten — Einzel", + "sl_hall_cost_sqm": "Hallenbau (€/m²)", + "sl_foundation_sqm": "Fundament (€/m²)", + "sl_land_price_sqm": "Grundstückspreis (€/m²)", + "sl_hvac": "Lüftung & Klimaanlage", + "sl_electrical": "Elektro + Beleuchtung", + "sl_sanitary": "Sanitär / Umkleide", + "sl_fire": "Brandschutz", + "sl_planning": "Planung + Genehmigungen", + "sl_floor_prep": "Bodenvorbereitung", + "sl_hvac_upgrade": "Lüftungsausbau", + "sl_lighting_upgrade": "Beleuchtungsausbau", + "sl_fitout": "Ausbau & Empfang", + "sl_outdoor_foundation": "Beton (€/m²)", + "sl_outdoor_site_work": "Erschließung", + "sl_outdoor_lighting": "Beleuchtung pro Platz", + "sl_outdoor_fencing": "Einzäunung", + "sl_permits": "Genehmigungen & Auflagen", + "sl_working_capital": "Betriebskapital", + "sl_contingency": "Reserve", + "sl_budget_target": "Dein Budgetziel", + "sl_rent_sqm": "Miete (€/m²/Monat)", + "sl_outdoor_rent": "Monatliche Grundstücksmiete", + "sl_property_tax": "Grundsteuer / Monat", + "sl_insurance": "Versicherung (€/Monat)", + "sl_electricity": "Strom (€/Monat)", + "sl_heating": "Heizung (€/Monat)", + "sl_water": "Wasser (€/Monat)", + "sl_maintenance": "Wartung (€/Monat)", + "sl_cleaning": "Reinigung (€/Monat)", + "sl_marketing": "Marketing / Sonstiges (€/Monat)", + "sl_staff": "Personal (€/Monat)", + "sl_loan_pct": "Fremdkapitalquote (LTC)", + "sl_interest_rate": "Zinssatz", + "sl_loan_term": "Kreditlaufzeit", + "sl_construction_months": "Bauzeit", + "sl_hold_years": "Haltedauer", + "sl_exit_multiple": "Exit-EBITDA-Multiplikator", + "sl_annual_rev_growth": "Jährliches Umsatzwachstum", + "wiz_summary_label": "Aktuelle Werte", + "tip_permits_compliance": "Baugenehmigungen, Lärmgutachten, Nutzungsänderungen, Brandschutz und behördliche Auflagen. Wird automatisch angepasst, wenn du ein Land wählst — kann manuell überschrieben werden.", + "tip_dbl_courts": "Standard-Padelplatz für 4 Spieler. Häufigstes Format mit der höchsten Freizeitnachfrage.", + "tip_sgl_courts": "Schmaler Platz für 2 Spieler. Beliebt für Coaching, Training und Wettkampf.", + "tip_sqm_dbl_hall": "Gesamte Hallenfläche pro Doppelplatz. Enthält Spielfeld (200 m²), Sicherheitszonen, Laufwege und Mindestabstände. Standard: 300–350 m².", + "tip_sqm_sgl_hall": "Gesamte Hallenfläche pro Einzelplatz. Enthält Spielfeld (120 m²), Sicherheitszonen und Zugang. Standard: 200–250 m².", + "tip_sqm_dbl_outdoor": "Außenfläche pro Doppelplatz. Enthält Spielfeld, Entwässerungsgefälle, Zugangswege und Pufferzonen. Standard: 280–320 m².", + "tip_sqm_sgl_outdoor": "Außenfläche pro Einzelplatz. Enthält Spielfeld, Umgebungsfläche und Zugangswege. Standard: 180–220 m².", + "tip_rate_peak": "Preis pro Platz und Stunde während Stoßzeiten (Abends 17–22 Uhr und Wochenende). Höchste Nachfragezeit.", + "tip_rate_offpeak": "Preis pro Platz und Stunde außerhalb der Stoßzeiten (Werktage morgens/nachmittags). Typischerweise 30–40 % niedriger als Peak.", + "tip_rate_single": "Stundensatz für Einzelplätze. Meist niedriger als Doppelplätze, da sich weniger Spieler die Kosten teilen.", + "tip_peak_pct": "Anteil der gebuchten Stunden zum Spitzentarif. Höherer Wert bedeutet mehr Umsatz, aber schwieriger zu füllende Nebenstunden.", + "tip_booking_fee": "Provision von Buchungsplattformen wie Playtomic oder Matchi. Typisch: 5–15 % des Platzumsatzes.", + "tip_util_target": "Anteil der verfügbaren Platzstunden, der tatsächlich gebucht wird. 35–45 % sind realistisch für neue Anlagen, 50 %+ ist stark.", + "tip_hours_per_day": "Gesamte Betriebsstunden pro Tag. Typische Padel-Anlagen öffnen 7–23 Uhr (16 h). Manche auch 6–24 Uhr.", + "tip_days_indoor": "Durchschnittliche Betriebstage pro Monat für Indoor-Anlagen. ~29 berücksichtigt Feiertage und Wartungsschließungen.", + "tip_days_outdoor": "Durchschnittliche bespielbaren Tage pro Monat im Freien. Reduziert durch Regen, Extremhitze oder Kälte.", + "tip_membership_rev": "Monatliche Mitgliedschafts-/Abonnementeinnahmen pro Platz. Aus Treueprogrammen, Monatspässen oder Clubmitgliedschaften.", + "tip_fb_rev": "F&B-Einnahmen pro Platz und Monat. Einnahmen aus Bar, Café, Restaurant oder Automaten in der Anlage.", + "tip_coaching_rev": "Einnahmen aus Coaching-Stunden, Kursen, Turnieren und Veranstaltungen, pro Platz und Monat.", + "tip_retail_rev": "Einnahmen aus dem Fachhandel: Griffband, Overgrips, Zubehör und Merchandise pro Platz und Monat.", + "tip_glass_type": "Standardglas: 25–30 T€ pro Platz. Panoramaglas: 30–45 T€. Panoramaglas bietet volle Sicht und Premium-Atmosphäre.", + "tip_court_cost_dbl": "Grundpreis eines Doppel-Padelplatzes. Der Glastyp-Multiplikator wird automatisch angewendet.", + "tip_court_cost_sgl": "Grundpreis eines Einzelplatzes. In der Regel 60–70 % der Kosten eines Doppelplatzes.", + "tip_hall_cost_sqm": "Baukosten pro m² für eine neue Halle (Warmhalle). Enthält Tragwerk, Dämmung und Verkleidung. Erfordert 10–12 m lichte Höhe.", + "tip_foundation_sqm": "Fundamentkosten pro m². Abhängig von Bodenbedingungen, Tragfähigkeit und lokalem Grundwasserstand.", + "tip_land_price_sqm": "Grundstückskaufpreis pro m². Land: 20–60 €. Stadtrand: 60–150 €. Stadtlage: 150–300 €+. Stark standortabhängig.", + "tip_hvac": "Heizung, Lüftung und Klimatisierung. Unverzichtbar für Raumklima und Feuchtigkeitskontrolle. Kosten skalieren mit dem Hallenvolumen.", + "tip_electrical": "Komplette Elektroinstallation: Platzbeleuchtung (LED, 500+ Lux), Stromverteilung, Schaltschränke und Steckdosen.", + "tip_sanitary": "Umkleidekabinen, Duschen, Toiletten und Sanitärinstallation. Enthält Armaturen, Fliesen, Abdichtung und Lüftung.", + "tip_fire_protection": "Brandmeldeanlage, Sprinkler, Notausgänge und Rauchabzug. Oft der größte Überraschungsposten bei großen Hallen.", + "tip_planning": "Architektenplanung, Tragwerksplanung, Baugenehmigungen, Bebauungsplanantrag und behördliche Auflagen.", + "tip_floor_prep": "Bodenausgleich, Abdichtung und Vorbereitung für die Platzinstallation in einem bestehenden Mietobjekt.", + "tip_hvac_upgrade": "Ausrüstung der vorhandenen HLK-Anlage im Mietobjekt für sportgerechten Luftstrom und Feuchtigkeitskontrolle.", + "tip_lighting_upgrade": "Ausrüstung der vorhandenen Beleuchtung auf Padel-Standard: mind. 500 Lux, blendfrei, gleichmäßige Ausleuchtung.", + "tip_fitout": "Innenausbau für Empfang, Lounge, Zuschauerbereich und Gemeinschaftsflächen im Mietobjekt.", + "tip_outdoor_foundation": "Betonplatte pro m² für Outdoor-Plätze. Erfordert ordentliche Entwässerung, ebenen Untergrund und frostsichere Bauweise.", + "tip_outdoor_site_work": "Geländeausgleich, Entwässerungsinstallation, Versorgungsanschlüsse und Erschließung für Außenplätze.", + "tip_outdoor_lighting": "Flutlichtinstallation pro Platz. LED empfohlen für Energieeffizienz. Wettkampfnormen einhalten, falls relevant.", + "tip_outdoor_fencing": "Einzäunung der Außenplatzanlage. Enthält Windschutz, Sicherheitstore und Ballrückhaltevorrichtungen.", + "tip_working_capital": "Kassenreserve für Betriebsverluste in der Anlaufphase und bei saisonalen Schwankungen. Kritischer Puffer — zu geringes Betriebskapital ist ein häufiger Startup-Fehler.", + "tip_contingency": "Prozentualer Puffer auf den Gesamt-CAPEX für unvorhergesehene Kosten. 10–15 % sind beim Bau Standard, 15–20 % bei komplexen Projekten.", + "tip_budget_target": "Gesamtbudget festlegen, um den geplanten CAPEX zu vergleichen. 0 lassen, um den Budgetindikator auszublenden.", + "tip_rent_sqm": "Monatliche Miete pro m² für Hallenfläche. Abhängig von Lage, Gebäudequalität und Mietkonditionen.", + "tip_outdoor_rent": "Monatliche Grundstücksmiete für Außenplatzfläche. Deutlich günstiger als Hallenfläche, aber wetterabhängig.", + "tip_property_tax": "Monatliche Grundsteuer bei Eigentum an Gebäude/Grundstück. Variiert je nach Gemeinde und Grundstückswert.", + "tip_insurance": "Monatlicher Versicherungsbeitrag: Haftpflicht, Sachschaden, Betriebsunterbrechung und Ausrüstung.", + "tip_electricity": "Monatliche Stromkosten. Größter Kostentreiber für Indoor-Anlagen durch Platzbeleuchtung, HLK und Geräte.", + "tip_heating": "Monatliche Heizkosten für Indoor-Anlagen. Relevant in nordeuropäischen Klimazonen in den Wintermonaten.", + "tip_water": "Monatliche Wasserkosten für Duschen, Toiletten, Reinigung und ggf. Outdoor-Platzbewässerung.", + "tip_maintenance": "Monatliche Platz- und Anlagenwartung: Glasreinigung, Belagreparatur, Netzaustausch und Gerätepflege.", + "tip_cleaning": "Monatliche professionelle Reinigung von Plätzen, Umkleiden, Gemeinschaftsflächen und Empfang.", + "tip_marketing": "Monatliche Ausgaben für Marketing, Buchungsplattform-Abonnements, Website, Social Media und Kundengewinnung.", + "tip_staff": "Monatliche Personalkosten: Gehälter, Sozialabgaben und Leistungen. Viele Anlagen fahren schlank mit automatisierten Buchungs- und Zugangssystemen.", + "tip_loan_pct": "Anteil des Gesamt-CAPEX, der fremdfinanziert wird. Banken bieten typisch 70–85 %. Höher mit Bürgüschaft oder Fördermitteln.", + "tip_interest_rate": "Jährlicher Zinssatz des Darlehens. Abhängig von Bonität, Sicherheiten, Marktlage und Bankbeziehung.", + "tip_loan_term": "Kreditlaufzeit in Jahren. Längere Laufzeit bedeutet niedrigere Monatsraten, aber mehr Gesamtzinsen.", + "tip_construction_months": "Monate Bau/Einrichtung vor der Eröffnung. Kosten laufen bereits auf (Zinsen, Miete), aber noch kein Umsatz.", + "tip_hold_years": "Investitionshaltedauer bis zum Exit/Verkauf. Typisch für PE/Investoren: 5–7 Jahre. Betreiber-Eigentümer können unbegrenzt halten.", + "tip_exit_multiple": "EBITDA-Multiplikator zur Unternehmensbewertung beim Exit. Spiegelt Marktnachfrage, Markenstärke und Wachstumspotenzial wider. Kleines Business: 4–6×, starke Marke: 6–8×.", + "tip_annual_rev_growth": "Erwartetes jährliches Umsatzwachstum nach der ersten 12-monatigen Anlaufphase. Getrieben durch Preiserhöhungen und steigende Auslastung.", + "tip_result_irr": "Interner Zinsfuß über den Haltezeitraum — der annualisierte Diskontsatz, bei dem der Barwert aller Cashflows null ergibt. Ziel: über 20 %. N/A wenn Cashflows nie positiv werden.", + "tip_result_moic": "Multiple on Invested Capital: gesamte Rückflüsse ÷ investiertes Kapital. Beinhaltet laufende Cashflows und Exit-Erlös. 2,0x bedeutet, das eingesetzte Kapital zu verdoppeln.", + "tip_result_break_even": "Mindestauslastung, bei der Einnahmen alle Kosten einschließlich Schuldendienst decken. Unter 35 % signalisiert einen komfortablen Sicherheitspuffer.", + "tip_result_coc": "Cash-on-Cash: Netto-Cashflow im Jahr 3 ÷ eingesetztes Eigenkapital. Misst die jährliche Rendite auf das Eigenkapital in einem stabilisierten Betriebsjahr.", + "tip_result_revpah": "Umsatz pro verfügbarer Stunde — Nettoumsatz ÷ alle verfügbaren Court-Stunden. Wichtiger Branchenkennwert; höhere Werte deuten auf bessere Preisgestaltung oder Auslastung hin.", + "tip_result_payback": "Monat, in dem die kumulierten Cashflows (nach der Anfangsinvestition) positiv werden. Früherer Payback = weniger gebundenes Kapital.", + "tip_result_ebitda_mo": "EBITDA: Ergebnis vor Zinsen, Steuern, Abschreibungen. Operativer Cash-Überschuss vor Finanzierungskosten.", + "tip_result_dscr": "Debt Service Coverage Ratio: EBITDA ÷ jährliche Schuldenzahlungen (Tilgung + Zinsen). Banken fordern in der Regel mindestens 1,2x für eine Kreditgenehmigung.", + "tip_result_debt_yield": "Stabilisiertes EBITDA ÷ Darlehensbetrag. Zeigt Kreditgebern, ob das Objekt unabhängig von Marktbewertungen seinen Schuldendienst leisten kann. Über 10 % ist gesund.", + "tip_result_yield_on_cost": "Stabilisiertes EBITDA ÷ Gesamtinvestition (CAPEX). Ungehebelte Rendite — nützlich zum Vergleich mit anderen Anlageklassen oder Bauprojekten.", + "btn_save": "Speichern", + "btn_my_scenarios": "Meine Szenarien", + "btn_reset": "Zurücksetzen", + "btn_reset_confirm": "Sicher? Zurücksetzen", + "btn_back": "← Zurück", + "btn_next": "Weiter →", + "btn_show_results": "Ergebnisse anzeigen →", + "prompt_scenario_name": "Szenario-Name:", + "prompt_scenario_default": "Mein Padel-Plan", + "toast_saved": "Szenario gespeichert!", + "label_indoor": "Indoor", + "label_outdoor": "Outdoor", + "label_build_buy": "Kauf/Bau", + "label_rent": "Miete", + "label_courts": "Plätze", + "label_indoor_hall": "Innenhalle", + "label_outdoor_land": "Außenfläche", + "label_playing_surface": "Spielfläche", + "wiz_capex": "CAPEX", + "wiz_monthly_cf": "Monatl. CF", + "wiz_irr": "IRR", + "wiz_mo": "/Monat", + "card_total_courts": "Plätze gesamt", + "card_floor_area": "Grundfläche", + "card_court_area": "Platzfläche", + "card_total_capex": "Gesamt-CAPEX", + "card_per_court": "Pro Platz", + "card_per_sqm": "Pro m²", + "budget_over": "BUDGET ÜBERSCHRITTEN", + "budget_under": "IM BUDGET", + "table_total_capex": "GESAMT-CAPEX", + "th_item": "Position", + "th_amount": "Betrag", + "card_net_rev_mo": "Nettoumsatz/Monat", + "card_ebitda_mo": "EBITDA/Monat", + "card_annual_rev": "Jahresumsatz", + "card_rev_pah": "RevPAH", + "sub_stabilized": "Stabilisiert", + "sub_year3": "Jahr 3", + "stream_court_rental": "Platzvermietung (nach Gebühren)", + "stream_equipment": "Ausrüstungsverleih (Schläger/Bälle)", + "stream_memberships": "Mitgliedschaften", + "stream_fb": "F&B", + "stream_coaching": "Coaching & Events", + "stream_retail": "Einzelhandel", + "table_total_net_rev": "Nettoumsatz gesamt", + "table_total_opex": "OPEX gesamt / Monat", + "th_stream": "Einnahmequelle", + "th_monthly": "Monatlich", + "th_share": "Anteil", + "chart_revenue": "Umsatz", + "chart_opex_debt": "OPEX+Schulden", + "chart_court_rev": "Platzerlös", + "chart_fees": "Gebühren", + "chart_ancillary": "Nebeneinnahmen", + "chart_opex": "OPEX", + "chart_debt": "Schulden", + "card_y1_ncf": "Netto-CF Jahr 1", + "card_y3_ncf": "Netto-CF Jahr 3", + "card_payback": "Amortisation", + "card_initial_inv": "Startinvestition", + "payback_not_reached": "Noch nicht erreicht", + "th_year": "Jahr", + "th_revenue": "Umsatz", + "th_ebitda": "EBITDA", + "th_debt_service": "Schuldendienst", + "th_net_cf": "Netto-CF", + "th_dscr": "DSCR", + "th_util": "Auslastung", + "card_irr": "IRR", + "card_moic": "MOIC", + "card_break_even": "Break-Even-Auslastung", + "card_cash_on_cash": "Cash-on-Cash", + "wf_stab_ebitda": "Stabilisiertes EBITDA (J3)", + "wf_exit_multiple": "× Exit-Multiplikator", + "wf_enterprise_value": "= Unternehmenswert", + "wf_remaining_loan": "– Restschuld", + "wf_net_exit": "= Netto-Exit-Erlös", + "wf_cum_cf": "+ Kumulierter Cashflow", + "wf_total_returns": "= Gesamtrendite", + "wf_investment": "÷ Investition", + "wf_moic": "= MOIC", + "th_utilization": "Auslastung", + "th_monthly_rev": "Monatl. Umsatz", + "th_monthly_ncf": "Monatl. Netto-CF", + "th_annual_ncf": "Jährl. Netto-CF", + "th_price_change": "Preisänderung", + "th_avg_rate": "Durchschn. Satz", + "metrics_return": "Rendite-Kennzahlen", + "metrics_revenue": "Umsatzeffizienz", + "metrics_cost": "Kosten & Marge", + "metrics_debt": "Schulden & Abdeckung", + "metrics_invest": "Investitionseffizienz", + "metrics_ops": "Betrieb", + "month_jan": "Jan", + "month_feb": "Feb", + "month_mar": "Mär", + "month_apr": "Apr", + "month_may": "Mai", + "month_jun": "Jun", + "month_jul": "Jul", + "month_aug": "Aug", + "month_sep": "Sep", + "month_oct": "Okt", + "month_nov": "Nov", + "month_dec": "Dez", + "sup_meta_title": "Für Anbieter – Erreiche Padel-Unternehmer", + "sup_meta_desc": "Werde auf Padelnomics gelistet. Erreiche Unternehmer, die bereits einen Finanzplan für ihr Padel-Projekt erstellt haben. Basic, Growth und Pro ab €39/Monat.", + "sup_hero_h1a": "Kein Kaltakquise mehr.", + "sup_hero_h1b": "Triff Käufer, die bereits einen Businessplan haben.", + "sup_hero_sub": "Jeder Lead auf Padelnomics hat CAPEX, Umsatz und ROI bereits modelliert – bevor er dich kontaktiert. Keine Zeitverschwender. Kein „ich schau mich nur um.“", + "sup_hero_cta": "Pläne & Preise ansehen", + "sup_hero_trust_pre": "Vertrauen von Anbietern in", + "sup_hero_trust_post": "Ländern", + "sup_stat_plans": "erstellte Businesspläne", + "sup_stat_avg": "Ø Projektvolumen", + "sup_stat_suppliers_pre": "Anbieter in", + "sup_stat_suppliers_post": "Ländern", + "sup_stat_leads": "Leads diesen Monat", + "sup_prob_h2": "Das Problem mit der Kundengewinnung im Padel-Markt", + "sup_prob_sub": "Die meisten Kanäle verschwenden deine Zeit und dein Budget, bevor du mit einem einzigen ernsthaften Käufer sprichst.", + "sup_prob_tradeshow_h3": "Messen", + "sup_prob_tradeshow_p": "Pro Veranstaltung. Du triffst Hunderte von Menschen. Vielleicht 3 davon bauen wirklich eine Padel-Anlage.", + "sup_prob_ads_h3": "Google Ads", + "sup_prob_ads_p": "Pro Klick. Die meisten Besucher recherchieren Padel, sind aber nicht bereit, über 300.000€ in ein Bauprojekt zu investieren.", + "sup_prob_cold_h3": "Kaltakquise", + "sup_prob_cold_p": "Rücklaufquote. Stunden mit E-Mails und Telefonaten, um Unternehmer zu erreichen, die noch nicht kaufbereit sind.", + "sup_prob_transition": "Was wäre, wenn jeder Lead mit einem vollständigen Projektbriefing und einem Finanzmodell käme?", + "sup_how_h2": "So funktioniert es", + "sup_how_sub": "Drei Schritte zu qualifizierten Leads.", + "sup_how_step1_h3": "Dein Inserat beanspruchen", + "sup_how_step1_p": "Dein Unternehmen ist bereits in unserem Verzeichnis. Wähle einen Plan, um dein Inserat aufzuwerten und Zugang zum Lead-Feed zu erhalten.", + "sup_how_step2_h3": "Vorqualifizierte Leads durchsuchen", + "sup_how_step2_p": "Jeder Lead enthält Projektspezifikationen, Budget, Zeitplan und ein selbst erstelltes Finanzmodell. Setze Credits nur für Leads ein, die zu deinen Leistungen passen.", + "sup_how_step3_h3": "Projekte schneller gewinnen", + "sup_how_step3_p": "Kontaktiere den Unternehmer direkt. Du kennst bereits sein Budget, Zeitplan und Finanzierungsstatus – kein Discovery-Call nötig.", + "sup_credits_h3": "Wie Credits funktionieren", + "sup_credits_sub": "Jeder Lead kostet Credits, je nachdem wie kaufbereit er ist. Growth-Pläne beinhalten 30 Credits/Monat, Pro 100.", + "sup_credits_hot": "Heißer Lead", + "sup_credits_hot_label": "Credits · Finanzierung gesichert, sofort bereit", + "sup_credits_warm": "Warmer Lead", + "sup_credits_warm_label": "Credits · aktiv planend, 3–6 Monate", + "sup_credits_cool": "Cooler Lead", + "sup_credits_cool_label": "Credits · frühe Recherche, 6–12 Monate", + "sup_leads_heading": "Aktuelle verifizierte Leads", + "sup_lead_facility": "Anlage", + "sup_lead_country": "Land", + "sup_lead_budget": "Budget", + "sup_lead_timeline": "Zeitplan", + "sup_lead_contact": "Kontakt", + "sup_leads_unlock_pre": "Vollständige Kontaktdaten und Projektspezifikationen mit Credits freischalten.", + "sup_leads_unlock_cta": "Jetzt starten →", + "sup_leads_example": "Dies sind Beispiel-Leads. Echte Leads erscheinen, sobald Unternehmer Angebotsanfragen einreichen.", + "sup_why_h2": "Warum Padelnomics-Leads anders sind", + "sup_why_sub": "Jeder Lead hat bereits ein Finanzmodell für sein Projekt erstellt.", + "sup_why_card1_h3": "Vorqualifiziert", + "sup_why_card1_p": "Leads kommen über unseren Finanzplaner. Sie haben CAPEX, Umsatz und ROI modelliert, bevor sie dich kontaktieren.", + "sup_why_card2_h3": "Vollständiges Projektbriefing", + "sup_why_card2_p": "Du erhältst Standorttyp, Court-Anzahl, Glas-/Beleuchtungsspezifikationen, Budget, Zeitplan, Finanzierungsstatus und Kontaktdaten.", + "sup_why_card3_h3": "Keine Kaltakquise", + "sup_why_card3_p": "Unternehmer kommen zu uns. Du hörst nur von Menschen, die aktiv planen, Padel-Anlagen zu bauen.", + "sup_pricing_h2": "Pläne & Preise", + "sup_pricing_sub": "Wähle den Plan, der zu deinen Wachstumszielen passt.", + "sup_billing_monthly": "Monatlich", + "sup_billing_yearly": "Jährlich", + "sup_billing_save": "Bis zu 26% sparen", + "sup_basic_name": "Basic", + "sup_basic_dir": "Verzeichniseintrag", + "sup_basic_f1": "Verifiziert ✓ Badge", + "sup_basic_f2": "Firmenlogo", + "sup_basic_f3": "Vollständige Beschreibung & Slogan", + "sup_basic_f4": "Website & Kontaktdaten", + "sup_basic_f5": "Checkliste der angebotenen Leistungen", + "sup_basic_f6": "Kontaktformular auf der Listing-Seite", + "sup_basic_cta": "Jetzt listen", + "sup_growth_name": "Growth", + "sup_growth_popular": "Beliebtester Plan", + "sup_growth_credits": "30 Credits/Monat inklusive", + "sup_growth_f1": "Alles aus Basic", + "sup_growth_f2": "Zugang zum Lead-Feed", + "sup_growth_f3": "„Growth“-Badge auf dem Inserat", + "sup_growth_f4": "Priorität gegenüber kostenlosen Einträgen", + "sup_growth_f5": "30 Lead-Credits pro Monat", + "sup_growth_f6": "Zusätzliche Credit-Pakete kaufen", + "sup_growth_cta": "Jetzt starten", + "sup_pro_name": "Pro", + "sup_pro_credits": "100 Credits/Monat inklusive", + "sup_pro_f1": "Alles aus Growth", + "sup_pro_f2": "Coverfoto auf dem Inserat", + "sup_pro_f3": "Vollständige Statistiken (Projekte, Jahre, Fläche)", + "sup_pro_f4": "Featured Card-Rahmen & Glow", + "sup_pro_f5": "Bevorzugte Platzierung im Verzeichnis", + "sup_pro_f6": "100 Lead-Credits pro Monat", + "sup_pro_cta": "Jetzt starten", + "sup_yearly_note_basic": "€349 jährlich", + "sup_yearly_note_growth": "€1.799 jährlich", + "sup_yearly_note_pro": "€4.499 jährlich", + "sup_boosts_h3": "Boost Add-Ons", + "sup_boosts_sub": "Mit jedem kostenpflichtigen Plan verfügbar. Im Dashboard verwalten.", + "sup_boost_logo": "Logo", + "sup_boost_highlight": "Hervorhebung", + "sup_boost_verified": "Verifiziert-Badge", + "sup_boost_sticky": "Sticky Top", + "sup_boost_color": "Eigene Kartenfarbe", + "sup_cmp_h2": "So schlagen wir den Vergleich", + "sup_cmp_sub": "Deine Interessenten wägen diese Alternativen bereits ab. Hier der ehrliche Vergleich.", + "sup_cmp_th_us": "Padelnomics Growth", + "sup_cmp_th_tradeshow": "Messepräsenz", + "sup_cmp_th_ads": "Google Ads", + "sup_cmp_th_cold": "Kaltes Verzeichnis", + "sup_cmp_row1": "Jahreskosten", + "sup_cmp_row2": "Lead-Qualität", + "sup_cmp_row3": "Enthaltene Leads", + "sup_cmp_row4": "Projektdetails", + "sup_cmp_row5": "Zeit bis zum ersten Lead", + "sup_cmp_row6": "Passend zu deinen Leistungen", + "sup_cmp_q1": "Vorqualifiziert mit Businessplan", + "sup_cmp_q2": "Gemischt, meist nur schauend", + "sup_cmp_q3": "Kalt, suchend", + "sup_cmp_q4": "Keine (nur Eintrag)", + "sup_cmp_c1": "30 Credits/Monat", + "sup_cmp_c2": "Pro Klick bezahlen", + "sup_cmp_d1": "Vollständige Spezifikationen + Finanzmodell", + "sup_cmp_d2": "Nur Visitenkarten", + "sup_cmp_d3": "Keine", + "sup_cmp_t1": "Am selben Tag", + "sup_cmp_t2": "Monate entfernt", + "sup_cmp_t3": "Innerhalb von Tagen", + "sup_cmp_t4": "Nie", + "sup_cmp_m1": "Nach Kategorie gefiltert", + "sup_cmp_footnote": "*Google-Ads-Schätzung basierend auf €20–80 CPC für Padel-Baukeywords bei 5–10 Klicks/Tag.", + "sup_proof_h2": "Vertrauen von Führungsunternehmen der Padel-Branche", + "sup_proof_stat1": "erstellte Businesspläne", + "sup_proof_stat2": "Anbieter", + "sup_proof_stat3": "Länder", + "sup_proof_q1": "Padelnomics schickt uns Leads, die bereits ernsthaft an einem Bau interessiert sind. Die Projektbriefings sind detaillierter als das, was wir von Messen erhalten.", + "sup_proof_cite1": "— Europäischer Padel-Court-Hersteller", + "sup_proof_q2": "Endlich eine Plattform, die den Padel-Baumarkt versteht. Wir kennen das Budget, den Zeitplan und den Standorttyp, bevor wir überhaupt Erstkontakt aufnehmen.", + "sup_proof_cite2": "— Padel-Court-Installationsunternehmen, Skandinavien", + "sup_faq_h2": "Anbieter-FAQ", + "sup_faq_q1": "Wie beanspruche ich mein Inserat?", + "sup_faq_a1_pre": "Finde dein Unternehmen in unserem", + "sup_faq_a1_post": "und klicke auf „Ist das dein Unternehmen?“ Wir überprüfen deine Identität und geben dir Zugang, um einen Plan auszuwählen und dein Profil zu aktualisieren.", + "sup_faq_dir_link": "Verzeichnis", + "sup_faq_q2": "Wie viel kostet es?", + "sup_faq_a2": "Wir bieten drei Pläne an: Basic (€39/Monat) für einen verifizierten Verzeichniseintrag mit Kontaktformular; Growth (€199/Monat, 30 Credits) mit vollem Lead-Zugang und Prioritätsplatzierung; und Pro (€499/Monat, 100 Credits) für maximale Sichtbarkeit und Lead-Volumen. Jährliche Abrechnung spart bis zu 26 % – Basic bei €349/Jahr, Growth bei €1.799/Jahr, Pro bei €4.499/Jahr. Optionale Boost-Add-Ons sind zusätzlich erhältlich.", + "sup_faq_q3": "Was macht Padelnomics-Leads anders als andere Plattformen?", + "sup_faq_a3": "Jeder Lead auf Padelnomics hat unser Finanzplanungstool genutzt, um sein Projekt zu modellieren – CAPEX, Umsatzprognosen, ROI und Schuldendienstdeckung – bevor er sich meldet. Das bedeutet: sie sind ernst, haben ein realistisches Budget und sind bereit, mit Anbietern zu sprechen. Du bekommst keine Kaltanfragen, sondern vorqualifizierte Projektbriefings.", + "sup_faq_q4": "Wie sieht der Preisvergleich mit Alternativen aus?", + "sup_faq_a4": "Eine Messepräsenz kostet €10.000+ pro Veranstaltung und liefert meist nur Browsing-Kontakte. Google Ads für Padel-Baukeywords kosten €20–80 pro Klick – das sind €5.000+/Jahr, bevor du mit einem einzigen Interessenten sprichst. Ein typischer Kaltverzeichniseintrag kostet ~€600/Jahr ohne einen einzigen Lead. Padelnomics Growth bei €1.799/Jahr beinhaltet 30 Lead-Credits pro Monat mit vollständigen Projektbriefings.", + "sup_faq_q5": "Wie funktionieren Credits?", + "sup_faq_a5": "Mit Credits schaltest du die Kontaktdaten von Leads frei. Jeder Plan beinhaltet monatliche Credits (Growth: 30, Pro: 100). Heiße Leads kosten 35 Credits, warme 20 und coole 8. Du kannst jederzeit zusätzliche Credit-Pakete über dein Dashboard kaufen. Ungenutzte Credits werden auf den nächsten Monat übertragen.", + "sup_faq_q6": "Welche Informationen enthalten Leads?", + "sup_faq_a6": "Jeder Lead enthält: Anlagentyp (innen/außen), Court-Anzahl, Glas- und Beleuchtungsvorlieben, Land und Stadt, Budgetschätzung, Projektphase, Zeitplan, Finanzierungsstatus, Stakeholder-Typ, benötigte Leistungen und vollständige Kontaktdaten.", + "sup_faq_q7": "Wie werden Leads Anbietern zugeordnet?", + "sup_faq_a7": "Wir matchen anhand von Standort, angebotenen Leistungen und Projektanforderungen. Alle verifizierten Leads erscheinen in deinem Lead-Feed, wobei Leads in deinem Servicegebiet hervorgehoben werden. Du entscheidest, welche Leads du freischaltest.", + "sup_faq_q8": "Welche Länder werden abgedeckt?", + "sup_faq_a8_pre": "Padelnomics hat Anbieter in", + "sup_faq_a8_post": "Ländern gelistet. Die stärkste Abdeckung haben wir in Europa (Deutschland, Spanien, Schweden, Großbritannien, Niederlande, Italien), aber wir wachsen weltweit, da Padel sich ausbreitet.", + "sup_faq_q9": "Kann ich jederzeit kündigen?", + "sup_faq_a9": "Ja. Du kannst dein Abonnement jederzeit über dein Dashboard kündigen. Dein Inserat bleibt bis zum Ende des aktuellen Abrechnungszeitraums aktiv. Ungenutzte Credits verfallen bei Kündigung.", + "sup_faq_q10": "Mein Unternehmen ist nicht gelistet. Wie werde ich hinzugefügt?", + "sup_faq_a10_pre": "Schreib uns eine E-Mail an", + "sup_faq_a10_post": "mit deinen Unternehmensdetails und wir fügen dich innerhalb von 48 Stunden dem Verzeichnis hinzu.", + "sup_cta_h2": "Dein nächster Kunde erstellt gerade einen Businessplan", + "sup_cta_p": "Er hat den ROI modelliert. Er kennt sein Budget. Er sucht einen Anbieter wie dich." +} \ No newline at end of file diff --git a/padelnomics/src/padelnomics/locales/en.json b/padelnomics/src/padelnomics/locales/en.json new file mode 100644 index 0000000..9e57390 --- /dev/null +++ b/padelnomics/src/padelnomics/locales/en.json @@ -0,0 +1,943 @@ +{ + "nav_planner": "Planner", + "nav_quotes": "Get Quotes", + "nav_directory": "Directory", + "nav_markets": "Markets", + "nav_suppliers": "For Suppliers", + "nav_help": "Help", + "nav_feedback": "Feedback", + "nav_send": "Send", + "nav_signin": "Sign In", + "nav_signout": "Sign Out", + "nav_dashboard": "Dashboard", + "nav_admin": "Admin", + "footer_tagline": "Plan, finance, and build your padel business.", + "footer_product": "Product", + "footer_legal": "Legal", + "footer_company": "Company", + "footer_rights": "All rights reserved.", + "link_terms": "Terms", + "link_privacy": "Privacy", + "link_imprint": "Imprint", + "lang_switch_label": "DE", + "base_manage_cookies": "Manage Cookies", + "base_about": "About", + "base_feedback_placeholder": "Ideas to improve this page...", + "base_feedback_contact_placeholder": "Your email (optional)", + "cookie_title": "Cookie Preferences", + "cookie_message": "We use cookies to keep you signed in and improve the site.", + "cookie_policy": "Cookie policy", + "cookie_essential_label": "Essential", + "cookie_essential_desc": "Session management. Always required.", + "cookie_essential_always": "ON", + "cookie_functional_label": "Functional", + "cookie_functional_desc": "A/B testing to improve the experience.", + "cookie_save": "Save choices", + "cookie_manage": "Manage", + "cookie_accept_all": "Accept all", + "cookie_close": "Close", + "auth_login_title": "Sign In", + "auth_login_sub": "Enter your email to receive a sign-in link.", + "auth_login_email_label": "Email", + "auth_login_btn": "Send Sign-In Link", + "auth_login_no_account": "Don't have an account?", + "auth_login_signup_link": "Sign up", + "auth_signup_title": "Create Free Account", + "auth_signup_sub": "Save your padel business plan, get supplier quotes, and find financing.", + "auth_signup_hint": "No credit card required. Full access to all features.", + "auth_signup_btn": "Create Free Account", + "auth_signup_have_account": "Already have an account?", + "auth_signup_signin_link": "Sign in", + "auth_magic_title": "Check Your Email", + "auth_magic_sent_to": "We've sent a sign-in link to:", + "auth_magic_instructions": "Click the link in the email to sign in. The link expires in {minutes} minutes.", + "auth_magic_no_email": "Didn't receive the email?", + "auth_magic_check_spam": "Check your spam folder", + "auth_magic_correct_email": "Make sure the email address is correct", + "auth_magic_wait": "Wait a minute and try again", + "auth_magic_resend_btn": "Resend Link", + "auth_waitlist_title": "Be First to Launch Your Padel Business", + "auth_waitlist_sub": "We're preparing to launch the ultimate planning platform for padel entrepreneurs. Join the waitlist for early access, exclusive bonuses, and priority support.", + "auth_waitlist_hint": "You'll be among the first to get access when we launch.", + "auth_waitlist_btn": "Join Waitlist", + "auth_waitlist_confirmed_title": "You're on the Waitlist!", + "auth_waitlist_confirmed_sent_to": "We've sent a confirmation to:", + "auth_waitlist_confirmed_sub": "You'll be among the first to know when we launch. We'll send you early access, exclusive launch bonuses, and priority onboarding.", + "auth_waitlist_confirmed_next": "What happens next?", + "auth_waitlist_confirmed_step1": "You'll receive a confirmation email shortly", + "auth_waitlist_confirmed_step2": "We'll notify you as soon as we launch", + "auth_waitlist_confirmed_step3": "You'll get exclusive early access before the public launch", + "auth_waitlist_confirmed_back": "Back to Home", + "auth_flash_invalid_email": "Please enter a valid email address.", + "auth_flash_disposable_email": "Please use a permanent email address.", + "auth_flash_login_sent": "Check your email for the sign-in link!", + "auth_flash_account_exists": "Account already exists. Please sign in.", + "auth_flash_signup_sent": "Check your email to complete signup!", + "auth_flash_invalid_token": "Invalid or expired link.", + "auth_flash_invalid_token_detail": "Invalid or expired link. Please request a new one.", + "auth_flash_signed_in": "Successfully signed in!", + "auth_flash_signed_out": "You have been signed out.", + "auth_flash_resend_sent": "If that email is registered, we've sent a new link.", + "flash_feedback_success": "Thank you for your feedback!", + "flash_feedback_empty": "Please enter a message.", + "flash_feedback_rate_limit": "Too many submissions. Try again later.", + "flash_suppliers_success": "Thanks! We'll connect you with verified court suppliers.", + "flash_financing_success": "Thanks! We'll connect you with financing partners.", + "flash_verify_invalid": "Invalid verification link.", + "flash_verify_expired": "This link has expired or already been used. Please submit a new quote request.", + "flash_verify_invalid_lead": "This quote has already been verified or does not exist.", + "landing_hero_badge": "Padel court financial planner", + "landing_hero_h1_1": "Plan Your Padel", + "landing_hero_h1_2": "Business in Minutes,", + "landing_hero_h1_3": "Not Months", + "landing_hero_btn_primary": "Plan Your Padel Business →", + "landing_hero_btn_secondary": "Browse Suppliers", + "landing_hero_bullet_1": "No signup required", + "landing_hero_bullet_2": "60+ variables", + "landing_hero_bullet_3": "Unlimited scenarios", + "landing_roi_title": "Quick ROI Estimate", + "landing_roi_subtitle": "Drag the sliders to see your projection", + "landing_roi_courts": "Courts", + "landing_roi_rate": "Avg. Hourly Rate", + "landing_roi_util": "Target Utilization", + "landing_roi_investment": "Investment", + "landing_roi_monthly_cf": "Monthly Cash Flow", + "landing_roi_payback": "Payback Period", + "landing_roi_annual_roi": "Annual ROI", + "landing_roi_note": "Assumes indoor rent model, €8/m² rent, staff costs, 5% interest, 10-yr loan. Payback and ROI based on total investment.", + "landing_roi_cta": "Plan Your Padel Business →", + "landing_journey_title": "Your Journey", + "landing_journey_01": "Explore", + "landing_journey_01_badge": "Soon", + "landing_journey_02": "Plan", + "landing_journey_03": "Finance", + "landing_journey_03_badge": "Soon", + "landing_journey_04": "Build", + "landing_journey_05": "Grow", + "landing_journey_05_badge": "Soon", + "landing_features_title": "Built for Serious Padel Entrepreneurs", + "landing_feature_1_h3": "60+ Variables", + "landing_feature_2_h3": "6 Analysis Tabs", + "landing_feature_3_h3": "Indoor & Outdoor", + "landing_feature_4_h3": "Sensitivity Analysis", + "landing_feature_5_h3": "Professional Metrics", + "landing_feature_6_h3": "Save & Compare", + "landing_supplier_title": "Find the Right Suppliers for Your Project", + "landing_supplier_step_1_title": "Plan Your Venue", + "landing_supplier_step_2_title": "Get Quotes", + "landing_supplier_step_3_title": "Compare & Build", + "landing_supplier_browse_btn": "Browse Supplier Directory", + "landing_faq_title": "Frequently Asked Questions", + "landing_faq_q1": "What does the planner calculate?", + "landing_faq_q2": "Do I need to sign up?", + "landing_faq_q3": "How does supplier matching work?", + "landing_faq_q4": "Is the supplier directory free?", + "landing_faq_q5": "How accurate are the financial projections?", + "landing_seo_title": "Padel Court Investment Planning", + "landing_final_cta_h2": "Start Planning Today", + "landing_final_cta_btn": "Plan Your Padel Business →", + "features_h1": "Everything You Need to Plan Your Padel Business", + "features_subtitle": "Professional-grade financial modeling, completely free.", + "features_card_1_h2": "60+ Variables", + "features_card_2_h2": "6 Analysis Tabs", + "features_card_3_h2": "Indoor & Outdoor", + "features_card_4_h2": "Sensitivity Analysis", + "features_card_5_h2": "Professional Metrics", + "features_card_6_h2": "Save & Compare", + "features_capex_h2": "Detailed CAPEX Breakdown", + "features_opex_h2": "Operating Model", + "features_cf_h2": "Cash Flow & Financing", + "features_returns_h2": "Returns & Exit", + "features_cta_open": "Open Planner", + "features_cta_signup": "Create Free Account", + "about_why_h3": "Why free?", + "about_next_h3": "What’s next", + "about_cta_open": "Open Planner", + "about_cta_signup": "Create Free Account", + "suppliers_hero_cta": "See Plans & Pricing", + "suppliers_stat_plans_label": "Business plans created", + "suppliers_stat_avg_value": "Avg. project value", + "suppliers_stat_leads_label": "Leads this month", + "suppliers_problem_h2": "The Problem With Finding Padel Clients Today", + "suppliers_problem_sub": "Most channels waste your time and budget before you talk to a single serious buyer.", + "suppliers_problem_1_h3": "Trade Shows", + "suppliers_problem_2_h3": "Google Ads", + "suppliers_problem_3_h3": "Cold Outreach", + "suppliers_transition": "What if every lead came with a complete project brief and a financial model?", + "suppliers_how_h2": "How It Works", + "suppliers_how_sub": "Three steps to qualified leads.", + "suppliers_step_1_h3": "Claim Your Listing", + "suppliers_step_2_h3": "Browse Pre-Qualified Leads", + "suppliers_step_3_h3": "Win Projects Faster", + "suppliers_credits_h2": "How Credits Work", + "suppliers_credit_hot": "Hot Lead", + "suppliers_credit_warm": "Warm Lead", + "suppliers_credit_cool": "Cool Lead", + "suppliers_leads_h2": "Recent Verified Leads", + "suppliers_leads_unlock": "Unlock full contact details and project specs with credits.", + "suppliers_leads_cta": "Get started →", + "suppliers_leads_facility": "Facility", + "suppliers_leads_country": "Country", + "suppliers_leads_budget": "Budget", + "suppliers_leads_timeline": "Timeline", + "suppliers_leads_contact": "Contact", + "suppliers_why_h2": "Why Padelnomics Leads Are Different", + "suppliers_why_sub": "Every lead has already built a financial model for their project.", + "suppliers_why_1_h3": "Pre-Qualified", + "suppliers_why_2_h3": "Full Project Brief", + "suppliers_why_3_h3": "No Cold Outreach", + "suppliers_pricing_h2": "Plans & Pricing", + "suppliers_pricing_sub": "Choose the plan that fits your growth goals.", + "suppliers_billing_monthly": "Monthly", + "suppliers_billing_yearly": "Yearly", + "suppliers_save_badge": "Save up to 26%", + "suppliers_basic_name": "Basic", + "suppliers_growth_name": "Growth", + "suppliers_growth_popular": "Most Popular", + "suppliers_pro_name": "Pro", + "suppliers_plan_per_mo": "/mo", + "suppliers_plan_get_listed": "Get Listed", + "suppliers_plan_get_started": "Get Started", + "suppliers_boosts_h2": "Boost Add-Ons", + "suppliers_boosts_sub": "Available with any paid plan. Manage from your dashboard.", + "suppliers_comparison_h2": "How We Compare", + "suppliers_faq_h2": "Supplier FAQ", + "suppliers_final_cta_h2": "Your Next Client Is Already Building a Business Plan", + "suppliers_final_cta_desc": "They’ve modeled the ROI. They know their budget. They’re looking for a supplier like you.", + "suppliers_final_cta_btn": "See Plans & Pricing", + "planner_page_h2": "100% Free. No Catch.", + "planner_card_1_h3": "Financial Planner", + "planner_card_1_price": "Free", + "planner_card_1_price_sub": "— forever", + "planner_card_1_open": "Open Planner", + "planner_card_1_signup": "Create Free Account", + "planner_card_2_h3": "Need Help Building?", + "planner_card_2_desc": "We connect you with verified partners", + "planner_card_2_quotes_btn": "Get Supplier Quotes", + "planner_card_2_signup_btn": "Sign Up to Get Started", + "planner_quote_cta_label": "Next Step", + "planner_quote_cta_title": "Get quotes from verified court suppliers", + "planner_quote_cta_desc": "Share your project specs and we’ll connect you with matched suppliers.", + "planner_quote_cta_check_1": "Matched suppliers", + "planner_quote_cta_check_2": "Direct contact, no middleman", + "planner_quote_cta_check_3": "No commitment", + "planner_quote_cta_check_4": "Your data stays private", + "planner_quote_cta_btn": "Get Supplier Quotes →", + "planner_quote_cta_hint": "Takes ~2 minutes", + "planner_export_btn": "Export Business Plan (PDF) →", + "planner_export_hint": "€99 one-time · Bank-ready", + "planner_signup_bar_msg": "Create an account to save scenarios and compare plans.", + "planner_signup_bar_btn": "Sign Up Free", + "export_title": "Export Business Plan (PDF)", + "export_subtitle": "Bank-ready financial projections from your planner scenario.", + "export_scenario_label": "Scenario", + "export_language_label": "Language", + "export_scenario_default": "Select a scenario...", + "export_btn": "Purchase & Generate PDF — €99", + "export_your_exports": "Your Exports", + "export_download": "Download PDF", + "export_generating": "Generating...", + "export_failed": "Failed", + "export_back": "← Back to Planner", + "export_success_title": "Payment Received", + "export_success_subtitle": "Your business plan PDF is being generated. This usually takes less than a minute.", + "export_success_status": "Your PDF is being generated. Refresh this page in a moment, or check your email — we’ll send you a download link when it’s ready.", + "export_success_refresh": "Refresh Status", + "export_success_all": "View All Exports", + "export_success_planner": "Back to Planner", + "export_gen_title": "Generating Your Business Plan", + "export_gen_subtitle": "This usually takes less than a minute. This page will auto-refresh.", + "export_gen_refresh": "Refresh Now", + "export_gen_all": "View All Exports", + "export_waitlist_title": "Business Plan PDF Export Coming Soon", + "export_waitlist_btn": "Back to Planner", + "scenario_drawer_title": "My Scenarios", + "scenario_badge_default": "default", + "scenario_btn_load": "Load", + "scenario_btn_delete": "Del", + "scenario_empty": "No saved scenarios yet. Use the Save button to store your current plan.", + "scenario_updated": "Updated", + "scenario_created": "Created", + "dir_heading": "Padel Court Supplier Directory", + "dir_subheading": "Browse {n}+ suppliers across {c} countries. Find manufacturers, builders, and specialists for your project.", + "dir_stat_suppliers": "suppliers", + "dir_stat_countries": "countries", + "dir_stat_categories": "categories", + "dir_search_placeholder": "Search suppliers, countries, products...", + "dir_filter_all_countries": "All Countries", + "dir_filter_all_categories": "All Categories", + "dir_search_btn": "Search", + "dir_filter_clear": "Clear all", + "dir_cta_heading": "Are you a padel court supplier?", + "dir_cta_subheading": "Get listed and connect with entrepreneurs planning padel projects.", + "dir_cta_btn": "Get Listed", + "dir_card_verified": "Verified", + "dir_card_featured": "Featured", + "dir_card_growth": "Growth", + "dir_card_unverified": "Unverified", + "dir_card_quote_btn": "Request Quote →", + "dir_card_view_btn": "View Listing →", + "dir_card_claim_btn": "Is this yours? →", + "dir_empty_heading": "No suppliers found", + "dir_empty_sub": "Try adjusting your search or filters.", + "dir_empty_clear": "Clear all filters", + "dir_cat_manufacturer": "Manufacturer", + "dir_cat_turnkey": "Turnkey Provider", + "dir_cat_consultant": "Consultant", + "dir_cat_hall_builder": "Hall Builder", + "dir_cat_turf": "Turf / Surfaces", + "dir_cat_lighting": "Lighting", + "dir_cat_software": "Software", + "dir_cat_industry_body": "Industry Body", + "dir_cat_franchise": "Franchise / Operator", + "dir_region_europe": "Europe", + "dir_region_north_america": "North America", + "dir_region_latin_america": "Latin America", + "dir_region_middle_east": "Middle East", + "dir_region_asia_pacific": "Asia Pacific", + "dir_region_africa": "Africa", + "dir_country_DE": "Germany", + "dir_country_ES": "Spain", + "dir_country_IT": "Italy", + "dir_country_FR": "France", + "dir_country_PT": "Portugal", + "dir_country_GB": "United Kingdom", + "dir_country_NL": "Netherlands", + "dir_country_BE": "Belgium", + "dir_country_SE": "Sweden", + "dir_country_DK": "Denmark", + "dir_country_FI": "Finland", + "dir_country_NO": "Norway", + "dir_country_AT": "Austria", + "dir_country_SI": "Slovenia", + "dir_country_IS": "Iceland", + "dir_country_CH": "Switzerland", + "dir_country_EE": "Estonia", + "dir_country_US": "United States", + "dir_country_CA": "Canada", + "dir_country_MX": "Mexico", + "dir_country_BR": "Brazil", + "dir_country_AR": "Argentina", + "dir_country_AE": "UAE", + "dir_country_SA": "Saudi Arabia", + "dir_country_TR": "Turkey", + "dir_country_CN": "China", + "dir_country_IN": "India", + "dir_country_SG": "Singapore", + "dir_country_ID": "Indonesia", + "dir_country_TH": "Thailand", + "dir_country_AU": "Australia", + "dir_country_ZA": "South Africa", + "dir_country_EG": "Egypt", + "sp_back": "Back to Directory", + "sp_verified": "Verified ✓", + "sp_request_quote": "Request Quote →", + "sp_visit_website": "Visit Website", + "sp_about": "About", + "sp_services": "Services Offered", + "sp_service_area": "Service Area", + "sp_enquiry_heading": "Send an Enquiry", + "sp_enquiry_name": "Your Name", + "sp_enquiry_email": "Email", + "sp_enquiry_message": "Message", + "sp_enquiry_submit": "Send Enquiry", + "sp_contact": "Contact", + "sp_years": "Years Active", + "sp_projects": "Projects", + "sp_trust": "Verified listing — identity and ownership confirmed", + "sp_cta_basic_h3": "Looking for direct quote matching?", + "sp_cta_claim_h3": "Is this your company?", + "sp_cta_claim_btn": "Claim This Listing →", + "sp_locked_hint": "Listing not yet verified", + "sp_locked_popover_title": "Direct quotes unavailable", + "sp_locked_popover_link": "Use Quote Wizard →", + "sp_locked_popover_dismiss": "Dismiss", + "enquiry_success_title": "Enquiry sent!", + "enquiry_error_title": "Please fix the following:", + "q_btn_next": "Next →", + "q_btn_back": "← Back", + "q_btn_submit": "Submit & Get Quotes →", + "q1_heading": "Your Project", + "q1_subheading": "What type of padel facility are you planning?", + "q1_prefill_sub": "Pre-filled from your planner — adjust as needed.", + "q1_edit_in_planner": "Edit in Planner", + "q6_required_hint": "Please select a financing status.", + "q6_decision_required_hint": "Please select your decision process.", + "q8_required_hint": "Please select at least one service.", + "q1_facility_label": "Facility Type", + "q1_facility_indoor": "Indoor", + "q1_facility_outdoor": "Outdoor", + "q1_facility_both": "Indoor + Outdoor", + "q1_court_count": "Number of Courts", + "q1_glass_label": "Glass Type", + "q1_glass_standard": "Standard Glass", + "q1_glass_panoramic": "Panoramic Glass", + "q1_glass_no_pref": "No Preference", + "q1_lighting_label": "Lighting", + "q1_lighting_led_std": "LED Standard", + "q1_lighting_led_comp": "LED Competition", + "q1_lighting_natural": "Natural Light", + "q1_lighting_not_sure": "Not Sure", + "q2_heading": "Location", + "q2_subheading": "Where are you planning to build?", + "q2_city_label": "City / Region", + "q2_city_placeholder": "e.g. Munich, Bavaria", + "q2_country_label": "Country", + "q2_country_default": "Select country...", + "q3_heading": "Build Context", + "q3_subheading": "What best describes your project?", + "q3_context_label": "Build Context", + "q3_context_new": "New Standalone Venue", + "q3_context_adding": "Adding to Existing Club", + "q3_context_converting": "Converting a Building", + "q3_context_venue_search": "Need Help Finding a Venue", + "q4_heading": "Project Phase", + "q4_subheading": "Where are you in the process?", + "q4_phase_label": "Project Phase", + "q4_phase_searching": "Still searching for a location", + "q4_phase_found": "Location identified", + "q4_phase_converting": "Converting existing facility", + "q4_phase_lease_signed": "Lease / purchase signed", + "q4_phase_permit_not_filed": "Permit not yet filed", + "q4_phase_permit_pending": "Permit in progress", + "q4_phase_permit_granted": "Permit approved", + "q5_heading": "Timeline", + "q5_subheading": "When do you want to get started?", + "q5_timeline_label": "Timeline", + "q5_timeline_asap": "ASAP", + "q5_timeline_3_6": "3–6 Months", + "q5_timeline_6_12": "6–12 Months", + "q5_timeline_12_plus": "12+ Months", + "q5_budget_label": "Budget Estimate (€)", + "q6_heading": "Financing", + "q6_subheading": "How are you funding the project?", + "q6_status_label": "Financing Status", + "q6_status_self": "Self-Funded", + "q6_status_loan": "Loan Approved", + "q6_status_seeking": "Seeking Financing", + "q6_status_not_started": "Not Started", + "q6_help_checkbox": "I’d like help finding financing options", + "q6_decision_label": "Decision Process", + "q6_decision_solo": "Solo Decision", + "q6_decision_partners": "With Partners", + "q6_decision_committee": "Committee / Board", + "q7_heading": "About You", + "q7_subheading": "This helps us match you with the right suppliers.", + "q7_role_label": "You are…", + "q7_role_entrepreneur": "Entrepreneur / Investor", + "q7_role_tennis": "Tennis / Sports Club", + "q7_role_municipality": "Municipality / Public Body", + "q7_role_developer": "Real Estate Developer", + "q7_role_operator": "Existing Padel Operator", + "q7_role_architect": "Architect / Engineer", + "q7_contact_label": "Have you contacted suppliers before?", + "q7_contact_first": "First time", + "q7_contact_researching": "Researching options", + "q7_contact_received": "Already received quotes", + "q8_heading": "Services Needed", + "q8_subheading": "Select all that apply. This helps suppliers prepare relevant proposals.", + "q8_services_label": "Services", + "q8_services_note": "(select all that apply)", + "q8_court_supply": "Court Supply", + "q8_installation": "Installation", + "q8_construction": "Hall Construction", + "q8_design": "Facility Design", + "q8_lighting": "Lighting", + "q8_flooring": "Flooring", + "q8_turnkey": "Full Turnkey", + "q8_additional_label": "Anything else?", + "q8_additional_placeholder": "Any specific requirements, questions, or context…", + "q9_heading": "Contact Details", + "q9_subheading": "How should matched suppliers reach you?", + "q9_privacy_msg": "Your contact details are shared only with pre-vetted suppliers that match your project specs.", + "q9_name_label": "Full Name", + "q9_email_label": "Email", + "q9_phone_label": "Phone", + "q9_company_label": "Company", + "q9_company_note": "(optional)", + "q9_consent_text": "I agree that my project details and contact information may be shared with verified padel court suppliers matched to my project.", + "q9_consent_privacy": "Privacy Policy", + "q9_consent_terms": "Terms", + "q9_no_obligation": "No obligation.", + "qs_title": "You’re matched!", + "qs_next_h2": "What happens next", + "qs_step_1": "Suppliers review your project brief and prepare proposals", + "qs_step_1_time": "Now", + "qs_step_2": "Matched suppliers contact you with tailored quotes", + "qs_step_2_time": "1–2 days", + "qs_step_3": "Compare proposals and ask follow-up questions", + "qs_step_3_time": "1–2 weeks", + "qs_step_4": "Choose the supplier that fits your project best", + "qs_step_4_time": "At your pace", + "qs_signup_h3": "Create an account", + "qs_signup_text": "Save scenarios, track your project, and get notified when suppliers respond.", + "qs_signup_btn": "Create Account", + "qs_back_planner": "Back to Planner", + "qv_heading": "Check your email", + "qv_link_expiry": "The link expires in 60 minutes.", + "qv_spam": "Check your spam folder", + "qv_wait": "Wait a minute — delivery can take a moment", + "qv_wrong_email": "Wrong email?", + "qv_wrong_email_link": "Submit a new request", + "sup_signup_step1": "Choose Your Plan", + "sup_signup_step2": "Boost Add-Ons", + "sup_signup_step3": "Credit Packs", + "sup_signup_step4": "Account Details", + "sup_success_h2": "You’re All Set!", + "sup_success_text": "Your supplier account is being activated. You’ll start receiving qualified leads matching your services.", + "sup_success_next_h3": "What happens next:", + "sup_success_btn": "Go to Lead Feed", + "sup_waitlist_h1": "Join the Supplier Platform Waitlist", + "sup_waitlist_email_label": "Email", + "sup_waitlist_submit": "Join Waitlist", + "sup_waitlist_signin_text": "Already have an account?", + "sup_waitlist_signin_link": "Sign in", + "mkt_heading": "Padel Markets", + "mkt_subheading": "Cost analysis and financial projections for padel centers worldwide.", + "mkt_search_placeholder": "Search markets…", + "mkt_all_countries": "All Countries", + "mkt_all_regions": "All Regions", + "mkt_no_results": "No markets found. Try adjusting your filters.", + "waitlist_markets_title": "Markets Intelligence — Coming Soon", + "waitlist_markets_sub": "Deep-dive market reports for padel investors: construction costs, revenue benchmarks, occupancy data, and ROI analysis by city and region.", + "waitlist_markets_feature1": "Real cost data from operating venues across 30+ countries", + "waitlist_markets_feature2": "Revenue benchmarks and utilization rates by market maturity", + "waitlist_markets_feature3": "Investment return profiles and comparable transactions", + "waitlist_markets_email_label": "Your email", + "waitlist_markets_btn": "Get early access", + "waitlist_markets_hint": "Be the first to know when markets data launches.", + "waitlist_markets_confirmed_title": "You're on the list", + "waitlist_markets_confirmed_body": "We'll notify you as soon as markets intelligence is available.", + "waitlist_markets_have_account": "Already have an account?", + "waitlist_markets_signin_link": "Sign in", + "art_run_numbers_h2": "Run Your Own Numbers", + "art_run_numbers_text": "Use our free financial planner to model a padel center with your own assumptions.", + "art_open_planner_btn": "Open the Planner", + "tab_assumptions": "Assumptions", + "tab_capex": "Investment", + "tab_operating": "Operating Model", + "tab_cashflow": "Cash Flow", + "tab_returns": "Returns & Exit", + "tab_metrics": "Key Metrics", + "wiz_venue": "Venue", + "wiz_pricing": "Pricing", + "wiz_costs": "Costs", + "wiz_finance": "Finance", + "toggle_indoor": "Indoor", + "toggle_outdoor": "Outdoor", + "toggle_rent": "Rent / Lease", + "toggle_buy": "Buy / Build", + "pill_country": "Country", + "pill_glass_type": "Glass Type", + "pill_lighting_type": "Lighting Type", + "pill_glass_standard": "Standard Glass", + "pill_glass_panoramic": "Panoramic Glass", + "pill_light_led_standard": "LED Standard", + "pill_light_led_competition": "LED Competition", + "pill_light_natural": "Natural Light", + "country_de": "Germany", + "country_es": "Spain", + "country_it": "Italy", + "country_fr": "France", + "country_nl": "Netherlands", + "country_se": "Sweden", + "country_uk": "UK", + "country_us": "USA", + "sl_dbl_courts": "Double Courts (20×10m)", + "sl_sgl_courts": "Single Courts (20×6m)", + "sl_sqm_dbl_hall": "Hall m² per Double Court", + "sl_sqm_sgl_hall": "Hall m² per Single Court", + "sl_sqm_dbl_outdoor": "Land m² per Double Court", + "sl_sqm_sgl_outdoor": "Land m² per Single Court", + "sl_rate_peak": "Peak Hour Rate (€)", + "sl_rate_offpeak": "Off-Peak Hour Rate (€)", + "sl_rate_single": "Single Court Rate (€)", + "sl_peak_pct": "Peak Hours Share", + "sl_booking_fee": "Platform Fee", + "sl_util_target": "Target Utilization", + "sl_hours_per_day": "Operating Hours / Day", + "sl_days_indoor": "Indoor Days / Month", + "sl_days_outdoor": "Outdoor Days / Month", + "sl_ancillary_header": "Ancillary Revenue (per court/month):", + "sl_membership_rev": "Membership Revenue / Court", + "sl_fb_rev": "F&B Revenue / Court", + "sl_coaching_rev": "Coaching & Events / Court", + "sl_retail_rev": "Retail / Court", + "sl_court_cost_dbl": "Court Cost — Double", + "sl_court_cost_sgl": "Court Cost — Single", + "sl_hall_cost_sqm": "Hall Construction (€/m²)", + "sl_foundation_sqm": "Foundation (€/m²)", + "sl_land_price_sqm": "Land Price (€/m²)", + "sl_hvac": "HVAC System", + "sl_electrical": "Electrical + Lighting", + "sl_sanitary": "Sanitary / Changing", + "sl_fire": "Fire Protection", + "sl_planning": "Planning + Permits", + "sl_floor_prep": "Floor Preparation", + "sl_hvac_upgrade": "HVAC Upgrade", + "sl_lighting_upgrade": "Lighting Upgrade", + "sl_fitout": "Fit-Out & Reception", + "sl_outdoor_foundation": "Concrete (€/m²)", + "sl_outdoor_site_work": "Site Work", + "sl_outdoor_lighting": "Lighting per Court", + "sl_outdoor_fencing": "Fencing", + "sl_permits": "Permits & Compliance", + "sl_working_capital": "Working Capital", + "sl_contingency": "Contingency", + "sl_budget_target": "Your Budget Target", + "sl_rent_sqm": "Rent (€/m²/month)", + "sl_outdoor_rent": "Monthly Land Rent", + "sl_property_tax": "Property Tax / month", + "sl_insurance": "Insurance (€/mo)", + "sl_electricity": "Electricity (€/mo)", + "sl_heating": "Heating (€/mo)", + "sl_water": "Water (€/mo)", + "sl_maintenance": "Maintenance (€/mo)", + "sl_cleaning": "Cleaning (€/mo)", + "sl_marketing": "Marketing / Misc (€/mo)", + "sl_staff": "Staff (€/mo)", + "sl_loan_pct": "Loan-to-Cost (LTC)", + "sl_interest_rate": "Interest Rate", + "sl_loan_term": "Loan Term", + "sl_construction_months": "Construction Period", + "sl_hold_years": "Holding Period", + "sl_exit_multiple": "Exit EBITDA Multiple", + "sl_annual_rev_growth": "Annual Revenue Growth", + "wiz_summary_label": "Live Summary", + "tip_permits_compliance": "Building permits, noise studies, change-of-use, fire safety, and regulatory compliance. Adjusts automatically when you pick a country — feel free to override.", + "tip_dbl_courts": "Standard padel court for 4 players. Most common format with highest recreational demand.", + "tip_sgl_courts": "Narrow court for 2 players. Popular for coaching, training, and competitive play.", + "tip_sqm_dbl_hall": "Total hall space needed per double court. Includes court (200 m²), safety zones, circulation, and minimum clearances. Standard: 300–350 m².", + "tip_sqm_sgl_hall": "Total hall space needed per single court. Includes court (120 m²), safety zones, and access. Standard: 200–250 m².", + "tip_sqm_dbl_outdoor": "Outdoor land area per double court. Includes court area, drainage slopes, access paths, and buffer zones. Standard: 280–320 m².", + "tip_sqm_sgl_outdoor": "Outdoor land area per single court. Includes court, surrounding space, and access paths. Standard: 180–220 m².", + "tip_rate_peak": "Price per court per hour during peak times (evenings 17:00–22:00 and weekends). Highest demand period.", + "tip_rate_offpeak": "Price per court per hour during off-peak (weekday mornings/afternoons). Typically 30–40 % lower than peak.", + "tip_rate_single": "Hourly rate for single-width courts. Usually lower than doubles since fewer players share the cost.", + "tip_peak_pct": "Percentage of total booked hours at peak rate. Higher means more revenue but harder to fill off-peak slots.", + "tip_booking_fee": "Commission taken by booking platforms like Playtomic or Matchi. Typically 5–15 % of court revenue.", + "tip_util_target": "Percentage of available court-hours that are actually booked. 35–45 % is realistic for new venues, 50 %+ is strong.", + "tip_hours_per_day": "Total operating hours per day. Typical padel venues run 7:00–23:00 (16 h). Some extend to 6:00–24:00.", + "tip_days_indoor": "Average operating days per month for indoor venue. ~29 accounts for holidays and maintenance closures.", + "tip_days_outdoor": "Average playable days per month outdoors. Reduced by rain, extreme heat, or cold weather.", + "tip_membership_rev": "Monthly membership/subscription income per court. From loyalty programs, monthly plans, or club memberships.", + "tip_fb_rev": "Food & Beverage revenue per court per month. Income from bar, café, restaurant, or vending machines at the venue.", + "tip_coaching_rev": "Revenue from coaching sessions, clinics, tournaments, and events allocated per court per month.", + "tip_retail_rev": "Revenue from pro shop sales: grip tape, overgrips, accessories, and branded merchandise per court per month.", + "tip_glass_type": "Standard glass: €25–30K per court. Panoramic glass: €30–45K. Panoramic offers full visibility and premium feel.", + "tip_court_cost_dbl": "Base price of one double padel court. The glass type multiplier is applied automatically.", + "tip_court_cost_sgl": "Base price of one single padel court. Generally 60–70 % of a double court cost.", + "tip_hall_cost_sqm": "Construction cost per m² for a new hall (Warmhalle). Includes structure, insulation, and cladding. Requires 10–12 m clear height.", + "tip_foundation_sqm": "Foundation cost per m². Depends on soil conditions, load-bearing requirements, and local ground water levels.", + "tip_land_price_sqm": "Land purchase price per m². Rural: €20–60. Suburban: €60–150. Urban: €150–300+. Varies hugely by location.", + "tip_hvac": "Heating, ventilation, and air conditioning. Essential for indoor comfort and humidity control. Cost scales with hall volume.", + "tip_electrical": "Complete electrical installation: court lighting (LED, 500+ lux), power distribution, panels, and outlets.", + "tip_sanitary": "Changing rooms, showers, toilets, and plumbing. Includes fixtures, tiling, waterproofing, and ventilation.", + "tip_fire_protection": "Fire detection, sprinkler suppression, emergency exits, and smoke ventilation. Often the biggest surprise cost for large halls.", + "tip_planning": "Architectural planning, structural engineering, building permits, zoning applications, and regulatory compliance costs.", + "tip_floor_prep": "Floor leveling, sealing, and preparation for court installation in an existing rented building.", + "tip_hvac_upgrade": "Upgrading existing HVAC in a rented building to handle sports venue airflow and humidity requirements.", + "tip_lighting_upgrade": "Upgrading existing lighting to meet padel requirements: minimum 500 lux, no glare, even distribution across courts.", + "tip_fitout": "Interior fit-out for reception, lounge, viewing areas, and common spaces when renting an existing building.", + "tip_outdoor_foundation": "Concrete pad per m² for outdoor courts. Needs proper drainage, level surface, and frost-resistant construction.", + "tip_outdoor_site_work": "Grading, drainage installation, utilities connection, and site preparation for outdoor courts.", + "tip_outdoor_lighting": "Floodlight installation per court. LED recommended for energy efficiency. Must meet competition standards if applicable.", + "tip_outdoor_fencing": "Perimeter fencing around outdoor court area. Includes wind screens, security gates, and ball containment nets.", + "tip_working_capital": "Cash reserve for operating losses during ramp-up phase and seasonal dips. Critical buffer — underfunding is a common startup failure.", + "tip_contingency": "Percentage buffer on total CAPEX for unexpected costs. 10–15 % is standard for construction, 15–20 % for complex projects.", + "tip_budget_target": "Set your total budget to see how your planned CAPEX compares. Leave at 0 to hide the budget indicator.", + "tip_rent_sqm": "Monthly rent per square meter for indoor hall space. Varies by location, building quality, and lease terms.", + "tip_outdoor_rent": "Monthly land rent for outdoor court area. Much cheaper than indoor space but weather-dependent.", + "tip_property_tax": "Monthly property tax when owning the building/land. Grundsteuer in Germany, varies by municipality and property value.", + "tip_insurance": "Monthly insurance premium covering liability, property damage, business interruption, and equipment.", + "tip_electricity": "Monthly electricity cost. Major driver for indoor venues due to court lighting, HVAC, and equipment.", + "tip_heating": "Monthly heating cost for indoor venue. Significant in northern European climates during winter months.", + "tip_water": "Monthly water cost for showers, toilets, cleaning, and potentially outdoor court irrigation.", + "tip_maintenance": "Monthly court and facility maintenance: glass cleaning, surface repair, net replacement, and equipment upkeep.", + "tip_cleaning": "Monthly professional cleaning of courts, changing rooms, common areas, and reception.", + "tip_marketing": "Monthly spend on marketing, booking platform subscriptions, website, social media, and customer acquisition.", + "tip_staff": "Monthly staff costs including wages, social contributions, and benefits. Many venues run lean using automated booking and access systems.", + "tip_loan_pct": "Percentage of total CAPEX financed by debt. Banks typically offer 70–85 %. Higher with personal guarantees or subsidies.", + "tip_interest_rate": "Annual interest rate on the loan. Depends on creditworthiness, collateral, market conditions, and bank relationship.", + "tip_loan_term": "Loan repayment period in years. Longer terms mean lower monthly payments but more total interest paid.", + "tip_construction_months": "Months of construction/setup before opening. Costs accrue (loan interest, rent) but no revenue is generated.", + "tip_hold_years": "Investment holding period before exit/sale. Typical for PE/investors: 5–7 years. Owner-operators may hold indefinitely.", + "tip_exit_multiple": "EBITDA multiple used to value the business at exit. Reflects market demand, brand strength, and growth potential. Small business: 4–6×, strong brand: 6–8×.", + "tip_annual_rev_growth": "Expected annual revenue growth rate after the initial 12-month ramp-up period. Driven by price increases and utilization gains.", + "tip_result_irr": "Internal Rate of Return over your hold period — the annualised discount rate that makes NPV of all cash flows zero. Target: 20%+. N/A if cash flows never turn positive.", + "tip_result_moic": "Multiple on Invested Capital: total money returned ÷ total invested. Includes operating cash flows plus exit proceeds. 2.0x means doubling your money.", + "tip_result_break_even": "Minimum utilisation needed for revenues to cover all costs including debt service. Below 35% means a comfortable safety margin.", + "tip_result_coc": "Cash-on-Cash: Year 3 net cash flow ÷ equity invested. Measures annual yield on your equity in a stabilised operating year.", + "tip_result_revpah": "Revenue per Available Hour — net revenue ÷ all available court-hours. Key industry KPI; higher values indicate better pricing or fill rate.", + "tip_result_payback": "Month when cumulative cash flows (after initial investment) turn positive. Earlier payback = less capital at risk.", + "tip_result_ebitda_mo": "EBITDA: Earnings Before Interest, Tax, Depreciation & Amortisation. Operating cash surplus before financing costs.", + "tip_result_dscr": "Debt Service Coverage Ratio: EBITDA ÷ annual debt payments (principal + interest). Banks typically require at least 1.2x to approve a loan.", + "tip_result_debt_yield": "Stabilised EBITDA ÷ loan amount. Lenders use this to check the asset can service its debt independently of market valuations. 10%+ is healthy.", + "tip_result_yield_on_cost": "Stabilised EBITDA ÷ total CAPEX. Unlevered return on investment — useful for comparing against other asset classes or development projects.", + "btn_save": "Save", + "btn_my_scenarios": "My Scenarios", + "btn_reset": "Reset to Defaults", + "btn_reset_confirm": "Sure? Reset", + "btn_back": "← Back", + "btn_next": "Next →", + "btn_show_results": "Show Results →", + "prompt_scenario_name": "Scenario name:", + "prompt_scenario_default": "My Padel Plan", + "toast_saved": "Scenario saved!", + "label_indoor": "Indoor", + "label_outdoor": "Outdoor", + "label_build_buy": "Build/Buy", + "label_rent": "Rent", + "label_courts": "courts", + "label_indoor_hall": "Indoor hall", + "label_outdoor_land": "Outdoor land", + "label_playing_surface": "Playing surface", + "wiz_capex": "CAPEX", + "wiz_monthly_cf": "Monthly CF", + "wiz_irr": "IRR", + "wiz_mo": "/mo", + "card_total_courts": "Total Courts", + "card_floor_area": "Floor Area", + "card_court_area": "Court Area", + "card_total_capex": "Total CAPEX", + "card_per_court": "Per Court", + "card_per_sqm": "Per m²", + "budget_over": "BUDGET OVER", + "budget_under": "BUDGET UNDER", + "table_total_capex": "TOTAL CAPEX", + "th_item": "Item", + "th_amount": "Amount", + "card_net_rev_mo": "Net Revenue/mo", + "card_ebitda_mo": "EBITDA/mo", + "card_annual_rev": "Annual Revenue", + "card_rev_pah": "RevPAH", + "sub_stabilized": "Stabilized", + "sub_year3": "Year 3", + "stream_court_rental": "Court Rental (net of fees)", + "stream_equipment": "Equipment Rental (rackets/balls)", + "stream_memberships": "Memberships", + "stream_fb": "F&B", + "stream_coaching": "Coaching & Events", + "stream_retail": "Retail", + "table_total_net_rev": "Total Net Revenue", + "table_total_opex": "Total Monthly OpEx", + "th_stream": "Stream", + "th_monthly": "Monthly", + "th_share": "Share", + "chart_revenue": "Revenue", + "chart_opex_debt": "OpEx+Debt", + "chart_court_rev": "Court Rev", + "chart_fees": "Fees", + "chart_ancillary": "Ancillary", + "chart_opex": "OpEx", + "chart_debt": "Debt", + "card_y1_ncf": "Year 1 Net CF", + "card_y3_ncf": "Year 3 Net CF", + "card_payback": "Payback", + "card_initial_inv": "Initial Investment", + "payback_not_reached": "Not reached", + "th_year": "Year", + "th_revenue": "Revenue", + "th_ebitda": "EBITDA", + "th_debt_service": "Debt Service", + "th_net_cf": "Net CF", + "th_dscr": "DSCR", + "th_util": "Util.", + "card_irr": "IRR", + "card_moic": "MOIC", + "card_break_even": "Break-Even Util.", + "card_cash_on_cash": "Cash-on-Cash", + "wf_stab_ebitda": "Stabilized EBITDA (Y3)", + "wf_exit_multiple": "× Exit Multiple", + "wf_enterprise_value": "= Enterprise Value", + "wf_remaining_loan": "– Remaining Loan", + "wf_net_exit": "= Net Exit Proceeds", + "wf_cum_cf": "+ Cumulative Cash Flow", + "wf_total_returns": "= Total Returns", + "wf_investment": "÷ Investment", + "wf_moic": "= MOIC", + "th_utilization": "Utilization", + "th_monthly_rev": "Monthly Rev", + "th_monthly_ncf": "Monthly NCF", + "th_annual_ncf": "Annual NCF", + "th_price_change": "Price Change", + "th_avg_rate": "Avg Rate", + "metrics_return": "Return Metrics", + "metrics_revenue": "Revenue Efficiency", + "metrics_cost": "Cost & Margin", + "metrics_debt": "Debt & Coverage", + "metrics_invest": "Investment Efficiency", + "metrics_ops": "Operational", + "month_jan": "Jan", + "month_feb": "Feb", + "month_mar": "Mar", + "month_apr": "Apr", + "month_may": "May", + "month_jun": "Jun", + "month_jul": "Jul", + "month_aug": "Aug", + "month_sep": "Sep", + "month_oct": "Oct", + "month_nov": "Nov", + "month_dec": "Dec", + "sup_meta_title": "For Suppliers - Reach Padel Entrepreneurs", + "sup_meta_desc": "Get listed on Padelnomics. Reach entrepreneurs who've already built a financial model for their padel project. Basic, Growth and Pro plans from €39/mo.", + "sup_hero_h1a": "Stop Chasing Cold Leads.", + "sup_hero_h1b": "Meet Buyers Who Already Have a Business Plan.", + "sup_hero_sub": "Every lead on Padelnomics has modeled their CAPEX, projected revenue, and calculated ROI — before they contact you. No tire-kickers. No “just browsing.”", + "sup_hero_cta": "See Plans & Pricing", + "sup_hero_trust_pre": "Trusted by suppliers in", + "sup_hero_trust_post": "countries", + "sup_stat_plans": "Business plans created", + "sup_stat_avg": "Avg. project value", + "sup_stat_suppliers_pre": "Suppliers in", + "sup_stat_suppliers_post": "countries", + "sup_stat_leads": "Leads this month", + "sup_prob_h2": "The Problem With Finding Padel Clients Today", + "sup_prob_sub": "Most channels waste your time and budget before you talk to a single serious buyer.", + "sup_prob_tradeshow_h3": "Trade Shows", + "sup_prob_tradeshow_p": "Per event. You meet hundreds of people. Maybe 3 are serious about building a padel facility.", + "sup_prob_ads_h3": "Google Ads", + "sup_prob_ads_p": "Per click. Most visitors are researching padel, not ready to spend €300K+ on a construction project.", + "sup_prob_cold_h3": "Cold Outreach", + "sup_prob_cold_p": "Response rate. Hours of emails and calls to reach entrepreneurs who aren’t ready to buy yet.", + "sup_prob_transition": "What if every lead came with a complete project brief and a financial model?", + "sup_how_h2": "How It Works", + "sup_how_sub": "Three steps to qualified leads.", + "sup_how_step1_h3": "Claim Your Listing", + "sup_how_step1_p": "Your company is already in our directory. Pick a plan to upgrade your listing and unlock access to the lead feed.", + "sup_how_step2_h3": "Browse Pre-Qualified Leads", + "sup_how_step2_p": "Every lead includes project specs, budget, timeline, and a financial model they built themselves. Spend credits only on leads that match your services.", + "sup_how_step3_h3": "Win Projects Faster", + "sup_how_step3_p": "Contact the entrepreneur directly. You already know their budget, timeline, and financing status — no discovery call needed.", + "sup_credits_h3": "How Credits Work", + "sup_credits_sub": "Each lead costs credits based on how ready-to-buy they are. Growth plans include 30 credits/mo, Pro includes 100.", + "sup_credits_hot": "Hot Lead", + "sup_credits_hot_label": "credits · financing secured, ready now", + "sup_credits_warm": "Warm Lead", + "sup_credits_warm_label": "credits · active planning, 3–6 months", + "sup_credits_cool": "Cool Lead", + "sup_credits_cool_label": "credits · early research, 6–12 months", + "sup_leads_heading": "Recent Verified Leads", + "sup_lead_facility": "Facility", + "sup_lead_country": "Country", + "sup_lead_budget": "Budget", + "sup_lead_timeline": "Timeline", + "sup_lead_contact": "Contact", + "sup_leads_unlock_pre": "Unlock full contact details and project specs with credits.", + "sup_leads_unlock_cta": "Get started →", + "sup_leads_example": "These are example leads. Real leads appear as entrepreneurs submit quote requests.", + "sup_why_h2": "Why Padelnomics Leads Are Different", + "sup_why_sub": "Every lead has already built a financial model for their project.", + "sup_why_card1_h3": "Pre-Qualified", + "sup_why_card1_p": "Leads come through our financial planner. They’ve modeled CAPEX, revenue, and ROI before contacting you.", + "sup_why_card2_h3": "Full Project Brief", + "sup_why_card2_p": "You get venue type, court count, glass/lighting specs, budget, timeline, financing status, and contact details.", + "sup_why_card3_h3": "No Cold Outreach", + "sup_why_card3_p": "Entrepreneurs come to us. You only hear from people actively planning to build padel facilities.", + "sup_pricing_h2": "Plans & Pricing", + "sup_pricing_sub": "Choose the plan that fits your growth goals.", + "sup_billing_monthly": "Monthly", + "sup_billing_yearly": "Yearly", + "sup_billing_save": "Save up to 26%", + "sup_basic_name": "Basic", + "sup_basic_dir": "Directory listing", + "sup_basic_f1": "Verified ✓ badge", + "sup_basic_f2": "Company logo", + "sup_basic_f3": "Full description & tagline", + "sup_basic_f4": "Website & contact details", + "sup_basic_f5": "Services offered checklist", + "sup_basic_f6": "Enquiry form on listing page", + "sup_basic_cta": "Get Listed", + "sup_growth_name": "Growth", + "sup_growth_popular": "Most Popular", + "sup_growth_credits": "30 credits/mo included", + "sup_growth_f1": "Everything in Basic", + "sup_growth_f2": "Access to lead feed", + "sup_growth_f3": "“Growth” badge on listing", + "sup_growth_f4": "Priority over free listings", + "sup_growth_f5": "30 lead credits per month", + "sup_growth_f6": "Buy additional credit packs", + "sup_growth_cta": "Get Started", + "sup_pro_name": "Pro", + "sup_pro_credits": "100 credits/mo included", + "sup_pro_f1": "Everything in Growth", + "sup_pro_f2": "Cover photo on listing", + "sup_pro_f3": "Full stats (projects, years, area)", + "sup_pro_f4": "Featured card border & glow", + "sup_pro_f5": "Priority placement in directory", + "sup_pro_f6": "100 lead credits per month", + "sup_pro_cta": "Get Started", + "sup_yearly_note_basic": "€349 billed yearly", + "sup_yearly_note_growth": "€1,799 billed yearly", + "sup_yearly_note_pro": "€4,499 billed yearly", + "sup_boosts_h3": "Boost Add-Ons", + "sup_boosts_sub": "Available with any paid plan. Manage from your dashboard.", + "sup_boost_logo": "Logo", + "sup_boost_highlight": "Highlight", + "sup_boost_verified": "Verified Badge", + "sup_boost_sticky": "Sticky Top", + "sup_boost_color": "Custom Card Color", + "sup_cmp_h2": "How We Compare", + "sup_cmp_sub": "Your prospects are already weighing these alternatives. Here’s the honest comparison.", + "sup_cmp_th_us": "Padelnomics Growth", + "sup_cmp_th_tradeshow": "Trade Show Booth", + "sup_cmp_th_ads": "Google Ads", + "sup_cmp_th_cold": "Cold Directory", + "sup_cmp_row1": "Annual cost", + "sup_cmp_row2": "Lead quality", + "sup_cmp_row3": "Leads included", + "sup_cmp_row4": "Project details", + "sup_cmp_row5": "Time to first lead", + "sup_cmp_row6": "Matches your services", + "sup_cmp_q1": "Pre-qualified with business plan", + "sup_cmp_q2": "Mixed, mostly browsing", + "sup_cmp_q3": "Cold, searching", + "sup_cmp_q4": "None (listing only)", + "sup_cmp_c1": "30 credits/mo", + "sup_cmp_c2": "Pay per click", + "sup_cmp_d1": "Full specs + financial model", + "sup_cmp_d2": "Business cards only", + "sup_cmp_d3": "None", + "sup_cmp_t1": "Same day", + "sup_cmp_t2": "Months away", + "sup_cmp_t3": "Days", + "sup_cmp_t4": "Never", + "sup_cmp_m1": "Filtered by category", + "sup_cmp_footnote": "*Google Ads estimate based on €20–80 CPC for padel construction keywords at 5–10 clicks/day.", + "sup_proof_h2": "Trusted by Padel Industry Leaders", + "sup_proof_stat1": "business plans created", + "sup_proof_stat2": "suppliers", + "sup_proof_stat3": "countries", + "sup_proof_q1": "Padelnomics sends us leads that are already serious about building. The project briefs are more detailed than what we get from trade shows.", + "sup_proof_cite1": "— European padel court manufacturer", + "sup_proof_q2": "Finally a platform that understands the padel construction market. We know the budget, the timeline, and the venue type before we even make first contact.", + "sup_proof_cite2": "— Padel court installation company, Scandinavia", + "sup_faq_h2": "Supplier FAQ", + "sup_faq_q1": "How do I claim my listing?", + "sup_faq_a1_pre": "Find your company in our", + "sup_faq_a1_post": "and click “Is this your company?” We’ll verify your identity and give you access to choose a plan and upgrade your profile.", + "sup_faq_dir_link": "directory", + "sup_faq_q2": "How much does it cost?", + "sup_faq_a2": "We offer three plans: Basic (€39/mo) for a verified directory listing with enquiry form; Growth (€199/mo, 30 credits) with full lead access and priority placement; and Pro (€499/mo, 100 credits) for maximum visibility and lead volume. Yearly billing saves up to 26% — Basic at €349/yr, Growth at €1,799/yr, Pro at €4,499/yr. Optional boost add-ons are available on top.", + "sup_faq_q3": "What makes Padelnomics leads different from other platforms?", + "sup_faq_a3": "Every lead on Padelnomics has used our financial planning tool to model their project — CAPEX, revenue projections, ROI, and debt service coverage — before reaching out. This means they’re serious, they have a realistic budget, and they’re ready to talk to suppliers. You’re not getting cold enquiries; you’re getting pre-qualified project briefs.", + "sup_faq_q4": "How does pricing compare to alternatives?", + "sup_faq_a4": "A trade show booth costs €10,000+ per event and delivers mostly browsing contacts. Google Ads for padel construction keywords run €20–80 per click — that’s €5,000+/yr before you talk to a single prospect. A typical cold directory listing charges ~€600/yr with no leads at all. Padelnomics Growth at €1,799/yr includes 30 lead credits per month with full project briefs.", + "sup_faq_q5": "How do credits work?", + "sup_faq_a5": "Credits are how you unlock lead contact details. Each plan includes monthly credits (Growth: 30, Pro: 100). Hot leads cost 35 credits, warm leads 20, and cool leads 8. You can buy additional credit packs anytime from your dashboard. Unused credits roll over month to month.", + "sup_faq_q6": "What information do leads include?", + "sup_faq_a6": "Every lead includes: facility type (indoor/outdoor), court count, glass and lighting preferences, country and city, budget estimate, project phase, timeline, financing status, stakeholder type, services needed, and full contact details.", + "sup_faq_q7": "How are leads matched to suppliers?", + "sup_faq_a7": "We match based on location, services offered, and project requirements. All verified leads appear in your lead feed, with leads in your service area highlighted. You choose which leads to unlock.", + "sup_faq_q8": "Which countries do you cover?", + "sup_faq_a8_pre": "Padelnomics has suppliers listed across", + "sup_faq_a8_post": "countries. Our strongest coverage is in Europe (Germany, Spain, Sweden, UK, Netherlands, Italy) but we’re growing globally as padel expands.", + "sup_faq_q9": "Can I cancel anytime?", + "sup_faq_a9": "Yes. You can cancel your subscription at any time from your dashboard. Your listing stays active until the end of the current billing period. Unused credits are forfeited upon cancellation.", + "sup_faq_q10": "My company isn’t listed. How do I get added?", + "sup_faq_a10_pre": "Email us at", + "sup_faq_a10_post": "with your company details and we’ll add you to the directory within 48 hours.", + "sup_cta_h2": "Your Next Client Is Already Building a Business Plan", + "sup_cta_p": "They’ve modeled the ROI. They know their budget. They’re looking for a supplier like you." +} \ No newline at end of file diff --git a/padelnomics/tests/test_i18n_parity.py b/padelnomics/tests/test_i18n_parity.py new file mode 100644 index 0000000..ba37589 --- /dev/null +++ b/padelnomics/tests/test_i18n_parity.py @@ -0,0 +1,97 @@ +""" +Tests that EN and DE locale files are consistent. +""" +import pytest +from padelnomics.i18n import _TRANSLATIONS, _CALC_ITEM_NAMES, SUPPORTED_LANGS + +# Keys with identical EN/DE values are acceptable — financial abbreviations, +# month abbreviations, English brand names used in German, and UI chrome +# that intentionally stays English in DE (Dashboard, Admin, Feedback). +_IDENTICAL_VALUE_ALLOWLIST = { + # Financial / technical abbreviations (same in DE) + "card_cash_on_cash", "card_irr", "card_moic", "card_rev_pah", + "th_dscr", "th_ebitda", "wf_moic", "wiz_capex", "wiz_irr", + # Month abbreviations (same in DE: Jan, Feb, Apr, Jun, Jul, Aug, Sep, Nov) + "month_jan", "month_feb", "month_apr", "month_jun", + "month_jul", "month_aug", "month_sep", "month_nov", + # Indoor / Outdoor (English terms used in DE) + "label_indoor", "label_outdoor", "toggle_indoor", "toggle_outdoor", + "features_card_3_h2", "landing_feature_3_h3", + "q1_facility_indoor", "q1_facility_outdoor", "q1_facility_both", + # Revenue streams and product labels (English terms used in DE) + "stream_coaching", "stream_fb", + "pill_light_led_standard", "q1_lighting_led_std", + # Plan names (brand names, same in DE) + "sup_basic_name", "sup_growth_name", "sup_pro_name", + "suppliers_basic_name", "suppliers_growth_name", "suppliers_pro_name", + "dir_card_featured", "dir_card_growth", "dir_cat_software", + # Supplier boost option names + "sup_boost_logo", "sup_boost_sticky", "sup_boosts_h3", + # Comparison table headers that use English terms in DE + "sup_cmp_th_ads", "sup_cmp_th_us", + # Problem section heading — "Google Ads" is a brand name + "sup_prob_ads_h3", "suppliers_problem_2_h3", + # Budget/lead labels that are English in DE + "sup_lead_budget", "suppliers_leads_budget", + # UI chrome that stays English in DE + "nav_admin", "nav_dashboard", "nav_feedback", + # Country names that are the same + "country_uk", "country_us", + "dir_country_CN", "dir_country_PT", "dir_country_TH", + # Optional annotation + "q9_company_note", +} + + +def test_en_de_key_parity(): + """EN and DE must have identical key sets.""" + en_keys = set(_TRANSLATIONS["en"].keys()) + de_keys = set(_TRANSLATIONS["de"].keys()) + en_only = en_keys - de_keys + de_only = de_keys - en_keys + assert not en_only, f"Keys in EN but not DE: {sorted(en_only)}" + assert not de_only, f"Keys in DE but not EN: {sorted(de_only)}" + + +def test_all_values_non_empty(): + """No translation value should be an empty string.""" + for lang in SUPPORTED_LANGS: + for key, value in _TRANSLATIONS[lang].items(): + assert value, f"Empty value for key {key!r} in lang {lang!r}" + + +def test_no_untranslated_copy_paste(): + """No key should have an identical EN and DE value (catches missed translations). + + Some keys are exempt — see _IDENTICAL_VALUE_ALLOWLIST. + """ + en = _TRANSLATIONS["en"] + de = _TRANSLATIONS["de"] + violations = [] + for key in en: + if key in _IDENTICAL_VALUE_ALLOWLIST: + continue + if en[key] == de[key]: + violations.append((key, en[key])) + assert not violations, ( + f"Keys with identical EN/DE values (likely untranslated): " + + ", ".join(f"{k!r}={v!r}" for k, v in violations[:10]) + + (f" ... and {len(violations) - 10} more" if len(violations) > 10 else "") + ) + + +def test_calc_item_names_key_parity(): + """EN and DE calc item names must have identical key sets.""" + en_keys = set(_CALC_ITEM_NAMES["en"].keys()) + de_keys = set(_CALC_ITEM_NAMES["de"].keys()) + assert en_keys == de_keys, ( + f"Calc item key mismatch — " + f"EN-only: {sorted(en_keys - de_keys)}, DE-only: {sorted(de_keys - en_keys)}" + ) + + +def test_calc_item_names_non_empty(): + """No calc item name should be empty.""" + for lang in SUPPORTED_LANGS: + for key, value in _CALC_ITEM_NAMES[lang].items(): + assert value, f"Empty calc item name for key {key!r} in lang {lang!r}"