admin_szolgáltatók_
This commit is contained in:
35
frontend_admin/i18n/locales/en/badges.json
Normal file
35
frontend_admin/i18n/locales/en/badges.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
38
frontend_admin/i18n/locales/en/competitions.json
Normal file
38
frontend_admin/i18n/locales/en/competitions.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"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."
|
||||
}
|
||||
26
frontend_admin/i18n/locales/en/config.json
Normal file
26
frontend_admin/i18n/locales/en/config.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"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: "
|
||||
}
|
||||
23
frontend_admin/i18n/locales/en/dashboard.json
Normal file
23
frontend_admin/i18n/locales/en/dashboard.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
49
frontend_admin/i18n/locales/en/gamification_user_detail.json
Normal file
49
frontend_admin/i18n/locales/en/gamification_user_detail.json
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
35
frontend_admin/i18n/locales/en/gamification_users.json
Normal file
35
frontend_admin/i18n/locales/en/gamification_users.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"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",
|
||||
"points": "Points",
|
||||
"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"
|
||||
}
|
||||
24
frontend_admin/i18n/locales/en/garages-analytics.json
Normal file
24
frontend_admin/i18n/locales/en/garages-analytics.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"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)"
|
||||
}
|
||||
83
frontend_admin/i18n/locales/en/garages-details.json
Normal file
83
frontend_admin/i18n/locales/en/garages-details.json
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"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": "Contact 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",
|
||||
"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."
|
||||
}
|
||||
37
frontend_admin/i18n/locales/en/garages-employees.json
Normal file
37
frontend_admin/i18n/locales/en/garages-employees.json
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"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..."
|
||||
}
|
||||
13
frontend_admin/i18n/locales/en/garages-fleet.json
Normal file
13
frontend_admin/i18n/locales/en/garages-fleet.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"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."
|
||||
}
|
||||
53
frontend_admin/i18n/locales/en/garages.json
Normal file
53
frontend_admin/i18n/locales/en/garages.json
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"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."
|
||||
}
|
||||
40
frontend_admin/i18n/locales/en/leaderboard.json
Normal file
40
frontend_admin/i18n/locales/en/leaderboard.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"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",
|
||||
"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"
|
||||
}
|
||||
29
frontend_admin/i18n/locales/en/ledger.json
Normal file
29
frontend_admin/i18n/locales/en/ledger.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"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",
|
||||
"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",
|
||||
"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."
|
||||
}
|
||||
32
frontend_admin/i18n/locales/en/levels.json
Normal file
32
frontend_admin/i18n/locales/en/levels.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"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."
|
||||
}
|
||||
68
frontend_admin/i18n/locales/en/packages.json
Normal file
68
frontend_admin/i18n/locales/en/packages.json
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"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!"
|
||||
}
|
||||
26
frontend_admin/i18n/locales/en/params.json
Normal file
26
frontend_admin/i18n/locales/en/params.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"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!"
|
||||
}
|
||||
28
frontend_admin/i18n/locales/en/permissions.json
Normal file
28
frontend_admin/i18n/locales/en/permissions.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
40
frontend_admin/i18n/locales/en/point_rules.json
Normal file
40
frontend_admin/i18n/locales/en/point_rules.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"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..."
|
||||
}
|
||||
84
frontend_admin/i18n/locales/en/providers.json
Normal file
84
frontend_admin/i18n/locales/en/providers.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"title": "Service Providers",
|
||||
"subtitle": "Provider list, moderation and management",
|
||||
"detail_title": "Provider Details",
|
||||
"back_to_list": "Back to providers",
|
||||
"loading": "Loading provider...",
|
||||
"error": "Failed to load provider.",
|
||||
"not_found": "Provider not found.",
|
||||
"status_pending": "Pending Provider",
|
||||
"status_approved": "Approved Provider",
|
||||
"status_rejected": "Rejected Provider",
|
||||
"status_flagged": "Flagged Provider",
|
||||
"status_pending_desc": "This provider is awaiting moderation. You can approve or reject it.",
|
||||
"status_approved_desc": "This provider has been approved and is available to users.",
|
||||
"status_rejected_desc": "This provider has been rejected and is not available.",
|
||||
"status_flagged_desc": "This provider has been flagged and its approval has been revoked.",
|
||||
"basic_info": "Basic Information",
|
||||
"name": "Name",
|
||||
"category": "Category",
|
||||
"source": "Source",
|
||||
"validation_score": "Validation Score",
|
||||
"created_at": "Created At",
|
||||
"submitted_by": "Submitted by User ID",
|
||||
"address_info": "Address Information",
|
||||
"full_address": "Full Address",
|
||||
"city": "City",
|
||||
"zip": "ZIP Code",
|
||||
"street_name": "Street",
|
||||
"street_type": "Street Type",
|
||||
"house_number": "House Number",
|
||||
"plus_code": "Plus Code",
|
||||
"contact_info": "Contact Information",
|
||||
"phone": "Phone",
|
||||
"email": "Email",
|
||||
"website": "Website",
|
||||
"moderation_actions": "Moderation Actions",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"flag": "Flag",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete (Soft Delete)",
|
||||
"delete_btn": "Delete",
|
||||
"reject_title": "Reject Provider",
|
||||
"reject_confirm": "Are you sure you want to reject {name}?",
|
||||
"reject_reason_label": "Reason (optional)",
|
||||
"reject_reason_placeholder": "Enter the reason for rejection...",
|
||||
"reject_btn": "Reject",
|
||||
"flag_title": "Flag Provider",
|
||||
"flag_confirm": "Are you sure you want to flag {name}? This will revoke its approval.",
|
||||
"flag_reason_label": "Reason (optional)",
|
||||
"flag_reason_placeholder": "Enter the reason for flagging...",
|
||||
"flag_btn": "Flag",
|
||||
"edit_title": "Edit Provider",
|
||||
"edit_desc": "Edit details for {name}.",
|
||||
"edit_name_label": "Name",
|
||||
"edit_category_label": "Category",
|
||||
"edit_category_placeholder": "e.g. Auto Repair, Tire Service",
|
||||
"edit_city_label": "City",
|
||||
"edit_zip_label": "ZIP Code",
|
||||
"edit_street_name_label": "Street",
|
||||
"edit_street_type_label": "Street Type",
|
||||
"edit_street_type_placeholder": "e.g. Street, Avenue, Road",
|
||||
"edit_house_number_label": "House Number",
|
||||
"edit_plus_code_label": "Plus Code",
|
||||
"edit_plus_code_placeholder": "e.g. 8FV9+QX Budapest",
|
||||
"edit_phone_label": "Phone",
|
||||
"edit_email_label": "Email",
|
||||
"edit_website_label": "Website",
|
||||
"edit_website_placeholder": "https://...",
|
||||
"edit_cancel": "Cancel",
|
||||
"edit_save": "Save Changes",
|
||||
"edit_saving": "Saving...",
|
||||
"edit_no_changes": "No changes made.",
|
||||
"edit_success": "Successfully updated",
|
||||
"edit_error": "Error: {detail}",
|
||||
"evidence_image": "Evidence Image",
|
||||
"retry": "Retry",
|
||||
"no_changes": "No changes made.",
|
||||
"approved_success": "\"{name}\" approved successfully",
|
||||
"rejected_success": "\"{name}\" rejected",
|
||||
"flagged_success": "\"{name}\" flagged",
|
||||
"deleted_success": "\"{name}\" deleted",
|
||||
"unknown_error": "Unknown error"
|
||||
}
|
||||
31
frontend_admin/i18n/locales/en/seasons.json
Normal file
31
frontend_admin/i18n/locales/en/seasons.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"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."
|
||||
}
|
||||
52
frontend_admin/i18n/locales/en/user_detail.json
Normal file
52
frontend_admin/i18n/locales/en/user_detail.json
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"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..."
|
||||
}
|
||||
46
frontend_admin/i18n/locales/en/users.json
Normal file
46
frontend_admin/i18n/locales/en/users.json
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
Reference in New Issue
Block a user