{ "permissions": { "title": "Permissions Management", "subtitle": "Permission Matrix — Role-based access control", "loading": "Loading permissions...", "error_title": "Failed to load permissions", "retry": "Retry", "save_changes": "Save Changes", "discard": "Discard", "modified_count": "{count} changes", "domain_filter": "Domain Filter (Rows)", "role_filter": "Role Filter (Columns)", "select_all": "Select All", "deselect_all": "Deselect All", "all_domains": "All", "permission": "Permission", "no_permissions": "No permissions in this domain.", "current_tier": "Current Package", "expires": "Expires", "superadmin": "Superadmin", "superadmin_desc": "Full system access — users, billing, robots and system configuration.", "garages": "Garages", "garages_desc": "Garage-level access — vehicle management, service booking, customer data.", "feature_flags": "Feature Flags", "feature_flags_desc": "Subscription features — based on your current plan ({tier}).", "rbac_title": "RBAC Permission Matrix", "rbac_desc": "Role-based access control — which roles can perform which admin actions.", "action": "Action" }, "packages": { "title": "Package Management", "subtitle": "Manage subscription packages and features — Free, Premium, Enterprise", "loading": "Loading packages...", "retry": "Retry", "create_new": "New Package", "no_packages": "No packages yet", "no_packages_desc": "Create your first subscription package to get started.", "create_first": "Create First Package", "popular": "Popular", "fallback_badge": "Fallback", "trial_badge": "Trial", "month": "mo", "feature_flags": "Available Features", "edit": "Edit", "duplicate": "Duplicate", "delete": "Delete", "set_as_default": "Set as Default", "set_as_default_success": "set as default package!", "edit_title": "Edit Package", "create_title": "Create Package", "cancel": "Cancel", "save": "Save Changes", "create": "Create", "save_success": "Package updated successfully!", "delete_title": "Delete Package", "delete_confirm": "Are you sure you want to delete \"{name}\"?", "delete_btn": "Delete", "allowances": "Allowances", "max_vehicles": "Max Vehicles", "max_garages": "Max Garages", "max_users": "Max Users", "monthly_credits": "Monthly Credits", "tier_level": "Level", "form_name": "System Name", "form_name_placeholder": "e.g. premium_2024", "form_display_name": "Display Name", "form_display_name_placeholder": "e.g. Premium Plus", "form_type": "Type", "type_private": "Private", "type_corporate": "Corporate", "form_tier_level": "Tier Level", "form_tier_level_hint": "Higher number = more features and higher rank", "form_monthly_price": "Monthly Price", "form_yearly_price": "Yearly Price", "form_currency": "Currency", "form_subtitle": "Subtitle / Description", "form_subtitle_placeholder": "e.g. Ideal for small businesses", "form_badge": "Badge Text", "form_badge_placeholder": "e.g. Most Popular", "form_is_custom": "Custom Package (not public)", "singleton_rules": "Singleton Rules", "form_is_default_fallback": "Default Fallback Package — expired subscriptions fall back to this", "form_trial_days": "Trial Days on Signup", "form_trial_days_hint": "New organizations get this many free days. Only one package can have > 0.", "per_region_pricing": "Per-Region Pricing", "smart_calculator": "Smart Price Calculator", "calc_net_price": "Net Price", "calc_vat_rate": "VAT Rate", "calc_currency": "Currency", "calc_net": "Net", "calc_vat": "VAT", "calc_gross": "Gross", "calc_apply": "Apply to selected region", "add_zone": "Add New Zone", "add_zone_select": "Select country code...", "add_zone_already_exists": "This region already exists in the package pricing!" }, "garages": { "title": "Garages CRM", "subtitle": "Garage list, package management and status changes", "total_garages": "Total Garages", "private_garages": "Private Garages", "corporate_garages": "Corporate Garages", "search_placeholder": "Search by name, contact or email...", "all_tiers": "All packages", "all_types": "All types", "type_individual": "Private (Individual)", "type_corporate": "Corporate", "company_name": "Company Name", "email": "Email", "status": "Status", "current_package": "Current Package", "expiration_date": "Expiration Date", "actions": "Actions", "active": "Active", "inactive": "Inactive", "suspended": "Suspended", "change_package": "Change Package", "manage_subscription": "Manage Subscription", "view": "View", "activate": "Activate", "deactivate": "Deactivate", "no_results": "No garages match your search.", "loading": "Loading garages...", "retry": "Retry", "members": "members", "free_fallback": "Free / Fallback", "expires": "Expires", "select_package": "Select Package", "select_package_placeholder": "Select a subscription package...", "custom_expiration": "Custom Expiration Date", "optional": "optional", "custom_expiration_hint": "Leave empty for default duration (e.g. 30 days). For 2-5 year B2B deals, set a custom date!", "cancel": "Cancel", "save": "Save", "saving": "Saving...", "subscription_updated": "subscription updated successfully!", "view_details": "Details", "indefinite": "Indefinite", "addons_title": "Add-ons", "addon_vehicles": "Extra Vehicle", "addon_branches": "Extra Branch", "addon_users": "Extra Employee", "active_addons": "Active Add-ons", "no_active_addons": "No active add-ons", "addon_vehicles_expiration": "Extra Vehicle Expiration", "addon_branches_expiration": "Extra Branch Expiration", "addon_users_expiration": "Extra Employee Expiration", "addon_expiration_hint": "If empty, existing expiration dates remain.", "details": { "loading": "Loading garage details...", "retry": "Retry", "back": "Back to garages", "company_info": "Company Info", "company_name": "Company Name", "display_name": "Display Name", "org_type": "Organization Type", "tax_number": "Tax Number", "reg_number": "Registration Number", "created_at": "Created At", "address": "Address", "subscription_info": "Subscription Status", "tier_name": "Package", "tier_level": "Level", "level_n": "Level {n}", "expires_at": "Expires", "asset_limit": "Vehicle Limit", "vehicles": "vehicles", "no_subscription": "No active subscription", "contact_info": "Contact Info", "contact_name": "Contact Name", "contact_role": "Role", "contact_department": "Department", "contact_phone": "Phone", "no_contact": "No primary contact person", "edit_details": "Edit Details", "save": "Save", "generalTab": "General", "employeesTab": "Employees", "fleetTab": "Fleet", "analyticsTab": "Analytics", "subscriptionTab": "Subscription", "editBasicTab": "Basic Info", "editContactTab": "Contact", "editAddressTab": "Addresses", "zip": "ZIP Code", "city": "City", "street_name": "Street", "street_type": "Street Type", "house_number": "House Number", "coming_soon": "This feature will be available soon...", "missing_data_title": "Missing Data", "missing_data_desc": "The garage profile is incomplete. Please fill in the missing fields.", "missing_data_activation_required": "To activate the garage, the following data must be provided:", "missing_tax_number": "Tax Number", "missing_billing": "Billing Address", "missing_contact_email": "Contact Email", "missing_contact_phone": "Contact Phone", "missing_data_count": "{count} fields missing", "contact_person_name": "Contact Person Name", "contact_email": "Contact Email", "contact_phone": "Contact Phone", "billing_address": "Billing Address", "billing_zip": "ZIP Code", "billing_city": "City", "billing_street_name": "Street", "billing_street_type": "Street Type", "billing_house_number": "House Number", "notification_address": "Notification Address", "notification_zip": "ZIP Code", "notification_city": "City", "notification_street_name": "Street", "notification_street_type": "Street Type", "notification_house_number": "House Number", "tab_basic": "Basic Info", "tab_contact": "Contact", "tab_addresses": "Addresses", "basic_info": "Basic Info", "contact_section": "Contact Person", "addresses_section": "Addresses", "vehicles_used": "Vehicles", "branches_used": "Branches", "employees_used": "Employees", "branches": "branches", "employees": "employees", "status": "Status", "subscription_history": "Subscription History", "history_date": "Date", "history_package": "Package", "history_action": "Action", "history_status": "Status", "no_subscription_history": "No subscription history yet." }, "analytics": { "ltv": "Lifetime Value (LTV)", "mrr": "Monthly Revenue (MRR)", "monthly_recurring": "Monthly recurring revenue", "outstanding": "Outstanding", "all_settled": "All invoices settled", "earned_credits": "Earned Credits", "contribution_xp": "XP earned from platform contributions", "invited_companies": "Invited Companies", "companies_joined": "Companies joined via your invite", "validated_garages": "Validated Garages", "garages_confirmed": "Garages successfully verified", "utilization": "Utilization", "vehicle_quota": "Vehicle Quota", "employee_quota": "Employee Quota", "utilized": "utilized", "marketplace_engagement": "Marketplace & Engagement", "avg_rating": "Average Rating", "reviews": "Reviews", "reviews_count": "reviews", "last_activity": "Last Activity", "last_login_mock": "2 hours ago", "services_30d": "Services Completed (30 days)" }, "employees": { "title": "Employees", "total_count": "{count} employees", "name": "Name", "email_phone": "Email / Phone", "role": "Role", "status": "Status", "actions": "Actions", "edit_role": "Edit", "remove": "Remove", "no_employees": "No employees assigned to this garage.", "edit_role_title": "Edit Employee Role", "editRoleTitle": "Edit Employee Role", "editRoleFor": "Change role for {name}", "cancel": "Cancel", "save": "Save Changes", "saveRole": "Save Role", "saving": "Saving...", "status_active": "Active", "status_inactive": "Inactive", "remove_title": "Remove Employee", "removeTitle": "Remove Employee", "remove_confirm": "Are you sure you want to remove \"{name}\" from this garage?", "removeConfirm": "Are you sure you want to remove \"{name}\" from this garage?", "remove_btn": "Remove", "removing": "Removing...", "add_employee": "Add Employee", "addTitle": "Add New Employee", "email": "Email Address", "emailPlaceholder": "Enter email address...", "roleMember": "Member", "roleManager": "Manager", "roleAdmin": "Admin", "roleOwner": "Owner", "add": "Add Employee", "adding": "Adding..." }, "fleet": { "title": "Fleet", "total_vehicles": "{count} vehicles total", "plate": "Plate", "brand": "Brand", "model": "Model", "brand_model": "Brand & Model", "year": "Year", "status": "Status", "vin": "VIN", "no_vehicles": "No vehicles assigned to this garage yet.", "no_fleet_access": "You don't have permission to view fleet data." } }, "gamification": { "badges": { "title": "Badges", "subtitle": "Badge Management — CRUD", "loading": "Loading badges...", "error": "Failed to load badges.", "retry": "Retry", "create": "New Badge", "no_items": "No badges yet.", "id": "ID", "name": "Name", "description": "Description", "icon": "Icon", "actions": "Actions", "edit": "Edit", "delete": "Delete", "cancel": "Cancel", "save": "Save", "create_title": "Create Badge", "edit_title": "Edit Badge", "name_placeholder": "Badge name", "desc_placeholder": "Badge description", "icon_placeholder": "Icon URL", "icon_hint": "Optional. The icon URL for the badge.", "icon_preview": "Icon preview", "create_btn": "Create", "delete_title": "Delete Badge", "delete_confirm": "Are you sure you want to delete this badge?", "delete_btn": "Delete", "created": "Badge created!", "updated": "Badge updated!", "deleted": "Badge deleted!", "save_error": "Failed to save badge.", "delete_error": "Failed to delete badge.", "unknown_error": "Unknown error" }, "competitions": { "title": "Competitions", "subtitle": "Seasonal competition management", "loading": "Loading competitions...", "error": "Failed to load competitions.", "retry": "Retry", "create": "New Competition", "no_items": "No competitions created yet.", "create_first": "Create First Competition", "season_filter": "Season Filter:", "all_seasons": "All Seasons", "active_badge": "(Active)", "status_active": "Active", "status_draft": "Draft", "status_completed": "Completed", "status_cancelled": "Cancelled", "view_rules": "View Rules", "edit": "Edit", "cancel": "Cancel", "save": "Save", "create_title": "Create Competition", "edit_title": "Edit Competition", "name": "Name", "name_placeholder": "e.g. Q1 Service Submission Contest", "description": "Description", "desc_placeholder": "Competition description...", "season": "Season", "select_season": "Select a season", "start_date": "Start Date", "end_date": "End Date", "status": "Status", "rules": "Rules (JSON)", "rules_placeholder": "type: service_submission, points_multiplier: 1.5", "invalid_json": "Invalid JSON format!", "create_btn": "Create", "season_id_label": "Season ID:", "save_error": "Failed to save competition." }, "config": { "title": "System Config", "subtitle": "Gamification master configuration editor", "loading": "Loading configuration...", "error": "Failed to load configuration.", "last_save": "Last saved:", "saving": "Saving...", "save": "Save Configuration", "section_xp": "XP Logic", "section_conversion": "Conversion Logic", "section_penalty": "Penalty Logic", "section_rewards": "Level Rewards", "calculator": "Impact Calculator", "calculator_desc": "Adjust parameters to see estimated impact", "estimated_results": "Estimated Results", "daily_xp": "Daily XP", "xp_for_level": "XP Needed for Level Up", "social_to_credit": "Social → Credit", "days_to_level": "Days to Level Up", "raw_json": "Raw JSON Editor", "apply_json": "Apply JSON", "updated": "Configuration updated!", "save_error": "Failed to save configuration.", "json_applied": "JSON applied to form fields!", "invalid_json": "Invalid JSON: " }, "dashboard": { "title": "Gamification HQ", "subtitle": "Gamification system overview dashboard", "loading": "Loading dashboard...", "error": "Failed to load dashboard data.", "total_users": "Total Users", "active_season": "Active Season", "pending_contributions": "Pending Contributions", "xp_earned_today": "XP Earned Today", "none": "None", "quick_actions": "Quick Actions", "manage_point_rules": "Manage Point Rules", "manage_badges": "Manage Badges", "manage_seasons": "Manage Seasons", "recent_ledger": "Recent Ledger Entries", "no_ledger": "No ledger entries yet.", "top_5": "Top 5 Leaderboard", "full_leaderboard": "Full Leaderboard →", "no_leaderboard": "No leaderboard data yet.", "level": "Level", "xp": "XP", "points": "points" }, "leaderboard": { "title": "Leaderboard", "subtitle": "Gamification leaderboard admin view", "search": "Search", "level": "Level", "min_xp": "Min XP", "sort": "Sort", "sort_xp": "By XP", "sort_points": "By Points", "sort_social": "By Social Points", "sort_level": "By Level", "filter": "Filter", "reset": "Reset", "descending": "Descending", "ascending": "Ascending", "user": "user", "loading": "Loading leaderboard...", "error": "Failed to load leaderboard.", "retry": "Retry", "no_results": "No results match your filters.", "no_results_hint": "Try different filter criteria.", "user_col": "User", "email": "Email", "xp": "XP", "level": "Level", "points": "Points", "social": "Social", "penalty": "Penalty", "restriction": "Restriction", "discoveries": "Discoveries", "services": "Services", "updated": "Last Updated", "actions": "Actions", "details": "Details", "prev": "Previous", "next": "Next", "page_of": "/ page", "restriction_mild": "Mild", "restriction_moderate": "Moderate", "restriction_severe": "Severe" }, "ledger": { "title": "Points Ledger", "subtitle": "Gamification points ledger browser", "loading": "Loading ledger...", "error": "Failed to load ledger.", "user_id": "User ID", "date_from": "Date From", "date_to": "Date To", "reason": "Reason (text)", "search": "Search", "clear": "Clear", "csv": "CSV", "no_results": "No results match your filters.", "no_results_hint": "Try different filter criteria.", "id": "ID", "user": "User", "points": "Points", "penalty": "Penalty", "xp": "XP", "reason": "Reason", "source": "Source", "date": "Date", "prev": "Previous", "next": "Next", "of": "of", "showing": "showing", "filtered": "(filtered)", "no_csv_data": "No data for CSV export.", "csv_downloaded": "CSV download started." }, "levels": { "title": "Levels", "subtitle": "Level configuration management — CRUD", "loading": "Loading levels...", "error": "Failed to load level configurations.", "retry": "Retry", "create": "New Level", "no_items": "No level configurations yet.", "level": "Level", "rank": "Rank", "min_points": "Min Points", "type": "Type", "actions": "Actions", "penalty": "Penalty", "normal": "Normal", "tree_diagram": "Level Tree Diagram", "no_tree_data": "No levels to display.", "points": "points", "edit_title": "Edit Level", "create_title": "Create Level", "level_number": "Level Number", "rank_name": "Rank Name", "min_points_label": "Minimum Points", "is_penalty": "Penalty Level", "cancel": "Cancel", "save": "Save", "saving": "Saving...", "updated": "Level updated!", "created": "Level created!", "duplicate_level": "A configuration with this level number already exists.", "save_error": "Failed to save level." }, "params": { "title": "System Parameters", "subtitle": "Gamification category system parameters", "loading": "Loading parameters...", "error": "Failed to load system parameters.", "retry": "Retry", "no_items": "No gamification system parameters.", "key": "Key", "value": "Value", "category": "Category", "scope": "Scope", "scope_id": "Scope ID", "actions": "Actions", "edit": "Edit", "edit_title": "Edit Parameter", "value_label": "Value", "value_placeholder": "Parameter value (JSON or plain text)", "json_detected": "🔹 JSON format detected", "text_value": "🔸 Text value", "cancel": "Cancel", "save": "Save", "saving": "Saving...", "invalid_json": "Invalid JSON format: ", "save_error": "Failed to save parameter.", "updated": "updated!" }, "point_rules": { "title": "Point Rules", "subtitle": "Gamification point rules management — CRUD", "loading": "Loading point rules...", "error": "Failed to load point rules.", "retry": "Retry", "create": "New Point Rule", "no_items": "No point rules yet. Create one with the button above!", "id": "ID", "action_key": "Action Key", "points": "Points", "description": "Description", "status": "Status", "actions": "Actions", "active": "Active", "inactive": "Inactive", "edit": "Edit", "delete": "Delete (soft-delete)", "edit_title": "Edit Point Rule", "create_title": "New Point Rule", "action_key_label": "Action Key", "action_key_placeholder": "e.g. service_submitted", "points_label": "Point Value", "points_placeholder": "0", "description_label": "Description", "description_placeholder": "Short description of the rule...", "is_active": "Active", "cancel": "Cancel", "save": "Save", "saving": "Saving...", "updated": "Point rule updated!", "created": "Point rule created!", "deleted": "Point rule deactivated!", "duplicate_key": "A rule with this action key already exists.", "save_error": "Failed to save point rule.", "delete_title": "Delete Point Rule", "delete_confirm": "Are you sure you want to deactivate the rule", "delete_btn": "Delete", "deleting": "Deleting..." }, "seasons": { "title": "Seasons", "subtitle": "Gamification season management", "loading": "Loading seasons...", "error": "Failed to load seasons.", "retry": "Retry", "create": "New Season", "no_items": "No seasons created yet.", "create_first": "Create First Season", "active": "Active", "inactive": "Inactive", "created_at": "Created:", "activate": "Activate", "edit": "Edit", "edit_title": "Edit Season", "create_title": "New Season", "name": "Name", "name_placeholder": "e.g. 2026 Q1 Season", "start_date": "Start Date", "end_date": "End Date", "activate_on_create": "Activate on creation", "cancel": "Cancel", "save": "Save", "create_btn": "Create", "activate_title": "Activate Season", "activate_confirm": "Are you sure you want to activate", "activate_warning": "This will deactivate all other seasons.", "activating": "Activating...", "activate_btn": "Activate", "save_error": "Failed to save season." }, "users": { "title": "Gamification Users", "subtitle": "User gamification statistics management", "loading": "Loading users...", "error": "Failed to load user statistics.", "retry": "Retry", "no_results": "No user statistics to display.", "level": "Level", "all_levels": "All Levels", "level_n": "Level {n}", "min_xp": "Minimum XP", "max_xp": "Maximum XP", "penalty": "Penalty", "any": "Any", "only_penalized": "Only penalized", "only_clean": "Only clean", "filter": "Filter", "reset": "Reset", "count": "users", "user_id": "User ID", "xp": "XP", "level": "Level", "points": "Points", "penalty": "Penalty", "restriction": "Restriction", "services": "Services", "discoveries": "Discoveries", "updated": "Last Updated", "actions": "Actions", "details": "Details", "prev": "Previous", "next": "Next", "none": "None", "restriction_mild": "Mild", "restriction_moderate": "Moderate", "restriction_severe": "Severe" }, "user_detail": { "back": "Back to list", "title": "User Gamification Details", "id_label": "ID:", "loading": "Loading user...", "error": "Failed to load user data.", "retry": "Retry", "not_found": "User not found.", "total_xp": "Total XP", "level": "Level", "total_points": "Total Points", "social_points": "Social Points", "penalty_points": "Penalty Points", "restriction_level": "Restriction Level", "penalty_quota": "Penalty Quota", "banned_until": "Banned Until", "no": "No", "services": "Services", "discovered_places": "Discovered Places", "validated_places": "Validated Places", "added_providers": "Added Providers", "penalty_form_title": "Assign Penalty", "penalty_points_label": "Penalty Points", "penalty_reason_label": "Reason", "penalty_reason_placeholder": "Reason for penalty...", "penalty_submit": "Assign Penalty", "penalty_submitting": "Submitting...", "penalty_success": "Penalty successfully assigned: {amount} points.", "penalty_error": "Failed to assign penalty.", "reward_form_title": "Assign Reward", "reward_xp_label": "XP Reward", "reward_social_label": "Social Points Reward", "reward_reason_label": "Reason", "reward_reason_placeholder": "Reason for reward...", "reward_submit": "Assign Reward", "reward_submitting": "Submitting...", "reward_success": "Reward successfully assigned: {xp} XP, {social} social points.", "reward_error": "Failed to assign reward.", "ledger_title": "Points Ledger", "ledger_count": "entries", "ledger_loading": "Loading...", "ledger_empty": "No ledger entries for this user yet.", "ledger_date": "Date", "ledger_points": "Points", "ledger_penalty": "Penalty", "ledger_xp": "XP", "ledger_reason": "Reason", "ledger_source": "Source" } }, "users": { "title": "User Management", "subtitle": "User list, search, filters and bulk actions", "loading": "Loading users...", "retry": "Retry", "search_placeholder": "Search by email, name or phone...", "all_statuses": "All statuses", "status_active": "Active", "status_inactive": "Inactive", "status_deleted": "Deleted", "status_banned": "Banned", "all_roles": "All roles", "role_user": "User", "role_admin": "Admin", "role_staff": "Staff", "role_superadmin": "Superadmin", "all_plans": "All plans", "plan_free": "Free", "plan_premium": "Premium", "plan_enterprise": "Enterprise", "total_users": "Total Users", "active_users": "Active Users", "deleted_users": "Deleted Users", "banned_users": "Banned Users", "new_today": "New Today", "filtered_results": "Filtered results", "selected_count": "{count} user(s) selected", "bulk_activate": "Activate", "bulk_deactivate": "Deactivate", "clear_selection": "Clear", "email": "Email", "name": "Name", "role": "Role", "status": "Status", "package": "Package", "registration": "Registration", "language": "Language", "actions": "Actions", "view": "View", "activate": "Activate", "deactivate": "Deactivate", "no_results": "No users match your search.", "showing": "Showing", "prev": "Previous", "next": "Next", "details": { "loading": "Loading user details...", "retry": "Retry", "back": "Back to Users", "edit": "Edit User", "edit_user": "Edit User", "profile_tab": "Profile", "memberships_tab": "Memberships", "account_info": "Account Information", "user_id": "User ID", "registration_date": "Registration Date", "last_login": "Last Login", "ui_mode": "UI Mode", "region": "Region", "currency": "Currency", "subscription_info": "Subscription Information", "subscription_expires": "Expires At", "scope_level": "Scope Level", "scope_id": "Scope ID", "max_vehicles": "Max Vehicles", "max_garages": "Max Garages", "personal_info": "Personal Information", "last_name": "Last Name", "first_name": "First Name", "phone": "Phone", "birth_place": "Birth Place", "birth_date": "Birth Date", "mothers_name": "Mother's Name", "mothers_first_name": "Mother's First Name", "address": "Address", "zip": "ZIP Code", "city": "City", "street": "Street", "house_number": "House Number", "no_person_record": "No personal information record found for this user.", "memberships": "Organization Memberships", "memberships_count": "{count} membership(s)", "no_memberships": "This user is not a member of any organization.", "org_name": "Organization", "org_role": "Role", "member_status": "Status", "joined_at": "Joined", "verified": "Verified", "verified_yes": "Yes", "verified_no": "No", "preferred_language": "Preferred Language", "is_active": "Active", "is_vip": "VIP", "cancel": "Cancel", "save": "Save Changes", "saving": "Saving..." } } }