szolgáltatók beálltásai, szerkesztése , létrehozása

This commit is contained in:
Roo
2026-06-17 11:52:25 +00:00
parent 213ba3b0f1
commit bf3a971ff1
56 changed files with 14421 additions and 1512 deletions

View File

@@ -0,0 +1,40 @@
"""
Constants Package
=================
Static dictionaries for vehicle features, drive types, etc.
"""
from app.constants.vehicle_features import (
CAR_FEATURES,
CAR_DRIVE_TYPES,
CAR_TRANSMISSION_TYPES,
CAR_AC_TYPES,
CAR_BODY_TYPES,
AC_CONNECTOR_TYPES,
DC_CONNECTOR_TYPES,
MOTORCYCLE_STROKES,
MOTORCYCLE_COOLING,
MOTORCYCLE_MIXTURE,
MOTORCYCLE_FEATURES,
get_all_feature_keys,
get_feature_label,
get_features_by_category,
get_motorcycle_feature_label,
)
__all__ = [
"CAR_FEATURES",
"CAR_DRIVE_TYPES",
"CAR_TRANSMISSION_TYPES",
"CAR_AC_TYPES",
"CAR_BODY_TYPES",
"AC_CONNECTOR_TYPES",
"DC_CONNECTOR_TYPES",
"MOTORCYCLE_STROKES",
"MOTORCYCLE_COOLING",
"MOTORCYCLE_MIXTURE",
"MOTORCYCLE_FEATURES",
"get_all_feature_keys",
"get_feature_label",
"get_features_by_category",
"get_motorcycle_feature_label",
]

View File

@@ -0,0 +1,759 @@
"""
Vehicle Features & EV Constants
================================
Centralized dictionaries for car-specific dropdowns, EV connector types,
and categorized feature lists. All data is stored in the `individual_equipment`
JSONB column on the Asset model.
Usage:
from app.constants.vehicle_features import (
CAR_DRIVE_TYPES, CAR_TRANSMISSION_TYPES, CAR_AC_TYPES,
CAR_BODY_TYPES, CAR_FEATURES, AC_CONNECTOR_TYPES, DC_CONNECTOR_TYPES,
MOTORCYCLE_STROKES, MOTORCYCLE_COOLING, MOTORCYCLE_MIXTURE,
MOTORCYCLE_FEATURES,
LCV_BODY_TYPES, LCV_FEATURES,
HGV_TRANSMISSION_TYPES, HGV_PTO_TYPES, HGV_BODY_TYPES, HGV_FEATURES,
)
"""
# ──────────────────────────────────────────────────────────────────────
# CAR-SPECIFIC DROPDOWNS (only shown when vehicle_class == 'personal')
# ──────────────────────────────────────────────────────────────────────
CAR_DRIVE_TYPES: dict[str, str] = {
"fwd": "Elsőkerék (FWD)",
"rwd": "Hátsókerék (RWD)",
"awd": "Összkerék (AWD / 4×4)",
"4wd": "Összkerék (4WD / kapcsolható)",
}
CAR_TRANSMISSION_TYPES: dict[str, str] = {
"manual": "Manuális",
"automatic": "Automata",
"sequential": "Szekvenciális",
"cvt": "CVT (Fokozatmentes)",
"dct": "DCT (Dupla kuplungos)",
"semi_auto": "Félautomata",
}
CAR_AC_TYPES: dict[str, str] = {
"manual": "Manuális klíma",
"automatic": "Automata klíma",
"dual_zone": "Kétzónás automata klíma",
"tri_zone": "Háromzónás automata klíma",
"quad_zone": "Négyzónás automata klíma",
}
CAR_BODY_TYPES: dict[str, str] = {
"sedan": "Szedán",
"hatchback": "Ferdehátú (Hatchback)",
"wagon": "Kombi (Estate)",
"coupe": "Coupé",
"convertible": "Kabrió (Convertible)",
"suv": "SUV / Szabadidő-autó",
"mpv": "MPV (Egyterű)",
"pickup": "Pickup",
"van": "Furgon (Van)",
}
# ──────────────────────────────────────────────────────────────────────
# CAR FEATURES / EXTRAS (categorized)
# Stored in individual_equipment.car_specs.features as a list of keys.
# ──────────────────────────────────────────────────────────────────────
CAR_FEATURES: dict[str, dict[str, str]] = {
"technical": {
"abs": "ABS",
"esp": "ESP (Menetstabilizáló)",
"traction_control": "Kipörgésgátló (TCS)",
"hill_assist": "Hegymeneti tartó",
"hill_descent": "Lejtmenetvezérlő",
"lane_assist": "Sávtartó asszisztens",
"blind_spot": "Holtpont-figyelő",
"adaptive_cruise": "Adaptív tempomat (ACC)",
"parking_sensors_front": "Első parkolóérzékelők",
"parking_sensors_rear": "Hátsó parkolóérzékelők",
"rear_camera": "Tolatókamera",
"360_camera": "360°-os kamera",
"auto_parking": "Automatikus parkolóasszisztens",
"start_stop": "Start-Stop rendszer",
"keyless_go": "Kulcs nélküli indítás (Keyless Go)",
"night_vision": "Éjjellátó (Night Vision)",
"traffic_sign_recognition": "Táblafelismerő rendszer",
"driver_alert": "Fáradtságfigyelő",
"emergency_brake": "Vészfék asszisztens",
"cross_traffic_alert": "Keresztirányú forgalom figyelő",
},
"interior": {
"leather_seats": "Bőrülés",
"heated_seats_front": "Első ülésfűtés",
"heated_seats_rear": "Hátsó ülésfűtés",
"ventilated_seats": "Szellőztetett ülések",
"massage_seats": "Masszázsülés",
"electric_seats": "Elektromos ülésállítás",
"memory_seats": "Ülésmemória",
"sport_seats": "Sportülés",
"heated_steering": "Fűthető kormány",
"ambient_lighting": "Hangulatvilágítás (Ambient Light)",
"panoramic_roof": "Panorámatető",
"sunroof": "Napfénytető",
"auto_dim_mirror": "Automatikusan sötétedő belső tükör",
"electric_steering_adjust": "Elektromos kormányállítás",
"rear_blind": "Hátsó roló",
"rear_side_blinds": "Hátsó oldalsó rolók",
"digital_instrument_cluster": "Digitális műszeregység",
"head_up_display": "Head-Up Display (HUD)",
},
"exterior": {
"alloy_wheels": "Könnyűfém felni",
"roof_rails": "Tetősín (Roof Rails)",
"tow_bar": "Vontatóhorog (vonóhorog)",
"tinted_windows": "Sötétített üvegek",
"privacy_glass": "Privacy Glass",
"led_headlights": "LED fényszóró",
"adaptive_headlights": "Adaptív fényszóró (AFS)",
"fog_lights": "Ködlámpa",
"cornering_lights": "Kanyarvilágítás",
"rain_sensor": "Esőérzékelő",
"light_sensor": "Fényérzékelő",
"auto_wipers": "Automatikus ablaktörlő",
"electric_trunk": "Elektromos csomagtérajtó",
"hands_free_trunk": "Kihangosítható csomagtérajtó (Hands-Free)",
"side_steps": "Oldallépcső",
"mudguards": "Sárvédő",
},
"multimedia": {
"navigation": "Navigáció (GPS)",
"apple_carplay": "Apple CarPlay",
"android_auto": "Android Auto",
"bluetooth": "Bluetooth",
"usb_charging": "USB töltőcsatlakozó",
"wireless_charging": "Vezeték nélküli töltő",
"dab_radio": "DAB+ digitális rádió",
"premium_sound": "Prémium hangrendszer",
"subwoofer": "Mélynyomó (Subwoofer)",
"rear_entertainment": "Hátsó szórakoztató rendszer",
"wifi_hotspot": "WiFi Hotspot",
"voice_control": "Hangvezérlés",
"gesture_control": "Gesztusvezérlés",
},
"other": {
"spare_tire": "Pótkerék",
"tire_repair_kit": "Kerékpár-javító készlet",
"first_aid_kit": "Elsősegély csomag",
"warning_triangle": "Figyelmeztető háromszög",
"fire_extinguisher": "Tűzoltó készülék",
"winter_tires": "Téli gumi",
"cargo_net": "Csomagtér háló",
"cargo_cover": "Csomagtér takaró",
"pet_barrier": "Kutya rács / elválasztó",
"roof_box": "Tetős doboz",
"bike_rack": "Kerékpártartó",
"ski_rack": "Sítartó",
},
}
# ──────────────────────────────────────────────────────────────────────
# EV-SPECIFIC CONNECTOR TYPES
# Stored in individual_equipment.ev_specs
# ──────────────────────────────────────────────────────────────────────
AC_CONNECTOR_TYPES: dict[str, str] = {
"type1": "Type 1 (SAE J1772)",
"type2": "Type 2 (Mennekes)",
"type3": "Type 3 (SCAME)",
"gb_t": "GB/T (Kínai szabvány)",
}
DC_CONNECTOR_TYPES: dict[str, str] = {
"ccs": "CCS (Combined Charging System)",
"chademo": "CHAdeMO",
"tesla_supercharger": "Tesla Supercharger",
"gb_t_dc": "GB/T DC (Kínai gyorstöltő)",
"nacs": "NACS (Tesla North American)",
}
# ──────────────────────────────────────────────────────────────────────
# MOTORCYCLE-SPECIFIC DROPDOWNS
# ──────────────────────────────────────────────────────────────────────
MOTORCYCLE_STROKES: dict[str, str] = {
"2_stroke": "2 ütemű",
"4_stroke": "4 ütemű",
"electric": "Elektromos",
}
MOTORCYCLE_COOLING: dict[str, str] = {
"air": "Levegőhűtés",
"liquid": "Vízhűtés",
"oil": "Olajhűtés",
"air_oil": "Levegő/Olaj hűtés",
}
MOTORCYCLE_MIXTURE: dict[str, str] = {
"carburetor": "Karburátor",
"injection": "Befecskendezés",
}
# ──────────────────────────────────────────────────────────────────────
# MOTORCYCLE FEATURES / EXTRAS (categorized)
# Stored in individual_equipment.motorcycle_specs.features as a list of keys.
# ──────────────────────────────────────────────────────────────────────
MOTORCYCLE_FEATURES: dict[str, dict[str, str]] = {
"technical": {
"dual_front_disc": "Dupla tárcsafék elöl",
"front_disc": "Tárcsafék elöl",
"rear_disc": "Tárcsafék hátul",
"chip_tuning": "Chiptuning",
"electronic_suspension": "Elektromos futómű állítás",
"onboard_computer": "Fedélzeti computer",
"metal_brake_line": "Fém fékcső",
"rev_counter": "Fordulatszámmérő",
"immobiliser": "Immobiliser",
"catalyst": "Katalizátor",
"electric_starter": "Önindító",
"all_wheel_drive": "Összkerékhajtás",
"alarm": "Riasztó",
"sport_exhaust": "Sport kipufogó",
"sport_air_filter": "Sport légszűrő",
"cruise_control": "Tempomat",
"turbo": "Turbó",
"12v_system": "12 V rendszer",
"heated_grip": "Markolat fűtés",
"abs": "ABS (blokkolásgátló)",
"seat_belt": "Biztonsági öv",
"dtc": "DTC",
"fog_light": "Ködlámpa",
"airbag": "Légzsák",
"xenon_headlight": "Xenon fényszóró",
},
"frame_body": {
"full_extra": "Full extra",
"leather_seat": "Bőrülés",
"heated_seat": "Fűthető ülés",
"backrest": "Háttámla",
"center_stand": "Középsztender",
"footrest": "Lábtartó",
"windshield": "Motoros szélvédő",
"plexiglass": "Plexi",
"tank_pad": "Tankpad",
"tank_protector_leather": "Tankvédő bőr",
"seat_height_adjust": "Ülésmagasság állítás",
"crash_bar": "Bukócső / bukógomba",
"hand_guards": "Kézvédők",
"heated_mirror": "Fűthető tükör",
"tow_hitch": "Vonóhorog",
},
"luggage": {
"factory_cases": "Gyári dobozok",
"rear_case": "Hátsó doboz",
"side_cases": "Oldalsó dobozok",
"lockable_case": "Zárható doboz",
"side_bag": "Oldaltáska",
"tank_bag": "Tank táska",
"bag_holder_bracket": "Táskatartó konzol",
"fork_bag": "Villatáska",
},
"multimedia": {
"cd_player": "CD tár",
"gps_navigation": "GPS (navigáció)",
"hi_fi": "Hi-Fi",
"radio": "Rádiós magnó",
"info_display": "Információs kijelző",
},
"other": {
"under_warranty": "Garanciális",
"us_model": "Amerikai modell",
"immediate_takeover": "Azonnal elvihető",
"showroom_vehicle": "Bemutató jármű",
"orderable": "Rendelhető",
"car_trade_in_possible": "Autóbeszámítás lehetséges",
"first_owner": "Első tulajdonostól",
"garage_kept": "Garázsban tartott",
"female_owner": "Hölgy tulajdonostól",
"low_mileage": "Keveset futott",
"second_owner": "Második tulajdonostól",
"motorcycle_trade_in_possible": "Motorbeszámítás lehetséges",
"track_fairing": "Pályaidom",
"regularly_maintained": "Rendszeresen karbantartott",
"service_book": "Szervizkönyv",
"title_certificate": "Törzskönyv",
},
}
# ──────────────────────────────────────────────────────────────────────
# LCV-SPECIFIC BODY TYPES
# Shown when vehicle_class == 'lcv'
# ──────────────────────────────────────────────────────────────────────
LCV_BODY_TYPES: dict[str, str] = {
"closed_van": "Zárt furgon",
"pickup": "Pickup",
"double_cab_chassis": "Dupla kabin alváz",
"single_cab_chassis": "Egyes kabin alváz",
"box_tail_lift": "Dobozos raktér emelővel",
"tipper": "Billenős plató",
"dropside": "Billenő oldalfalú plató",
"refrigerated_van": "Hűtött furgon",
"crew_cab_pickup": "Crew Cab Pickup",
"window_van": "Ablakos furgon",
"combi_van": "Combi furgon",
"platform_truck": "Platós teherautó",
}
# ──────────────────────────────────────────────────────────────────────
# LCV FEATURES / EXTRAS (categorized)
# Stored in individual_equipment.lcv_specs.features as a list of keys.
# ──────────────────────────────────────────────────────────────────────
LCV_FEATURES: dict[str, dict[str, str]] = {
"technical": {
"abs": "ABS",
"asr": "ASR (Kipörgésgátló)",
"gps_tracker": "GPS nyomkövető",
"immobiliser": "Immobiliser",
"alarm": "Riasztó",
"cruise_control": "Tempomat",
"parking_sensors_rear": "Hátsó parkolóérzékelők",
},
"interior": {
"curtain_airbag": "Függönylégzsák",
"rear_side_airbag": "Hátsó oldallégzsák",
"switchable_airbag": "Kikapcsolható utaslégzsák",
"side_airbag": "Oldallégzsák",
"passenger_airbag": "Utaslégzsák",
"driver_airbag": "Vezető légzsák",
"roll_bar": "Bukókeret",
"cargo_tie_down": "Rögzítő pontok a raktérben",
"isofix": "Isofix gyerekülés rögzítés",
"full_extra": "Full extra",
"auxiliary_heating": "Kiegészítő fűtés (Webasto)",
"leather_interior": "Bőr belső",
"heated_seat": "Fűthető ülés",
"partition_wall": "Válaszfal",
"seat_height_adjustment": "Ülésmagasság állítás",
"adjustable_steering_wheel": "Állítható kormány",
"central_locking": "Központi zár",
"trip_computer": "Fedélzeti számítógép",
"power_steering": "Szervokormány",
},
"exterior": {
"power_windows": "Elektromos ablakemelő",
"power_mirrors": "Elektromos tükör állítás",
"heated_mirrors": "Fűthető tükör",
"alloy_wheels": "Könnyűfém felni",
"tinted_glass": "Sötétített üvegek",
"tow_bar": "Vontatóhorog",
"sunroof": "Napfénytető",
"fog_lights": "Ködlámpa",
"xenon_headlights": "Xenon fényszóró",
},
"multimedia": {
"cd_changer": "CD váltó",
"cd_radio": "CD rádió",
"gps": "GPS navigáció",
"hifi": "Hi-Fi hangrendszer",
"radio_cassette": "Rádiós kazettás magnó",
},
}
# ──────────────────────────────────────────────────────────────────────
# HGV-SPECIFIC DROPDOWNS (shown when vehicle_class == 'hgv')
# ──────────────────────────────────────────────────────────────────────
HGV_TRANSMISSION_TYPES: dict[str, str] = {
"manual": "Manuális",
"manual_async": "Manuális (aszinkron)",
"semi_auto": "Félautomata",
"auto": "Automata",
"manual_split": "Manuális felezős",
"semi_auto_split": "Félautomata felezős",
"auto_split": "Automata felezős",
"cvt": "Fokozatmentes (CVT)",
}
HGV_PTO_TYPES: dict[str, str] = {
"front": "Első kihajtás (Front)",
"engine_mounted": "Motorra szerelt (Engine-mounted)",
"gearbox_mounted": "Váltóra szerelt (Gearbox-mounted)",
}
# ── HGV Body Types (unified with frontend i18n keys) ──
HGV_BODY_TYPES: dict[str, str] = {
# ── Alváz / Fülke típusok ──
"chassis": "Alváz (csak futómű)",
"chassis_cab": "Alvázas fülkés (Chassis Cab)",
"double_cab": "Duplakabinos (Double Cab)",
"triple_cab": "Triplakabinos (Triple Cab)",
"crew_cab": "Crew Cab",
"sleeper_cab": "Alvófülkés (Sleeper Cab)",
"day_cab": "Nappali fülke (Day Cab)",
"glider_kit": "Glider Kit (felújított)",
"semi_glazed": "Félig üvegezett (Semi-Glazed)",
"fully_glazed": "Körben üvegezett (Fully Glazed)",
# ── Billenős / Borítás ──
"tipper": "Billenős (Tipper)",
"tipper_3_way": "3 irányba billenő",
"tipper_double": "Kétoldalt billenő",
"tipper_trailer": "Billenős pótkocsi",
"tipper_mining": "Bányászati billenő (Mining Tipper)",
"tipper_grain": "Gabonás billenő (Grain Tipper)",
"dump_truck": "Billenős teherautó (Dump Truck)",
# ── Dobozos / Ponyvás ──
"box": "Dobozos (Box)",
"box_tail_lift": "Dobozos emelőhátfalas (Box with Tail Lift)",
"box_insulated": "Szigetelt dobozos (Insulated Box)",
"box_curtain_side": "Függönyoldalas dobozos",
"curtain_sider": "Ponyvás (Curtain Sider)",
"curtain_sider_roller": "Ponyvás rolós (Roller Curtain)",
"roller_shutter": "Redőnyös (Roller Shutter)",
# ── Platós ──
"flatbed": "Platós (Flatbed)",
"flatbed_stake": "Rakodóléces platós",
"flatbed_dropside": "Billenő oldalfalú platós",
"flatbed_crane": "Platós darugémes (Flatbed with Crane)",
"flatbed_tail_lift": "Platós emelőhátfalas (Flatbed with Tail Lift)",
# ── Hűtött ──
"refrigerated": "Hűtős (Refrigerated / Reefer)",
"refrigerated_trailer": "Hűtött pótkocsi",
# ── Tartályos ──
"tanker": "Tartályos (Tanker)",
"tanker_fuel": "Üzemanyag szállító (Fuel Tanker)",
"tanker_milk": "Tej szállító tartály",
"tanker_chemical": "Vegyi anyag szállító tartály",
"tanker_powder": "Poranyag szállító tartály",
"tanker_bitumen": "Bitumenes tartály (Bitumen Tanker)",
"tanker_gas": "Gázszállító tartály (Gas Tanker)",
"tanker_food": "Élelmiszer tartály (Food Tanker)",
"tanker_water": "Víztartály (Water Tanker)",
# ── Nyergesvontató / Vontató ──
"tractor_unit": "Nyergesvontató (Tractor Unit)",
"tractor_unit_4x2": "Vontató 4x2",
"tractor_unit_6x2": "Vontató 6x2",
"tractor_unit_6x4": "Vontató 6x4",
"tractor_unit_8x4": "Vontató 8x4",
# ── Félpótkocsi / Nyerges szerelvények ──
"semi_trailer": "Nyerges szerelvény (Semi-Trailer)",
"semi_trailer_curtain": "Függönyoldalas félpótkocsi",
"semi_trailer_box": "Dobozos félpótkocsi",
"semi_trailer_tipper": "Billenős félpótkocsi",
"semi_trailer_tanker": "Tartályos félpótkocsi",
"semi_trailer_flatbed": "Platós félpótkocsi",
"semi_trailer_low_loader": "Mélyágyas félpótkocsi",
"semi_trailer_car_transporter": "Autószállító félpótkocsi",
"semi_tipper": "Nyerges billenő (Semi-Tipper)",
"semi_refrigerated": "Nyerges hűtős (Semi-Reefer)",
"semi_tanker": "Nyerges tartály (Semi-Tanker)",
"semi_flatbed": "Nyerges platós (Semi-Flatbed)",
"semi_curtain": "Nyerges ponyvás (Semi-Curtain)",
"semi_log": "Nyerges rönkszállító (Semi-Timber)",
"semi_container": "Nyerges konténerszállító (Semi-Container)",
# ── Konténer / Csereszekrény ──
"container": "Konténer",
"container_carrier": "Konténerszállító (Container Carrier)",
"swap_body": "Cserélhető felépítmény",
"swap_body_bdf": "Csereszekrényes BDF (Swap Body)",
"hook_lift": "Emelőhorgos (Hook Lift)",
# ── Darus / Speciális ──
"crane": "Daru",
"crane_truck": "Darugémes teherautó (Crane Truck)",
"crane_trailer": "Darus pótkocsi",
"auto_crane": "Autódaru (Auto Crane)",
"ladder_truck": "Létrás (Ladder Truck)",
# ── Tűzoltó / Mentő ──
"fire_truck": "Tűzoltó (Fire Truck)",
"fire_truck_aerial": "Léptetőkosaras tűzoltó",
"ambulance": "Mentő (Ambulance)",
"hearse": "Halottas (Hearse)",
# ── Páncélozott / Pénzszállító ──
"armored": "Pénzszállító / páncélozott (Armored)",
"cash_transit": "Pénzszállító (Cash-in-Transit)",
# ── Állatszállító ──
"livestock": "Élőállat-szállító (Livestock)",
"poultry": "Baromfi szállító (Poultry)",
"horse_transporter": "Lószállító (Horse Transporter)",
# ── Járműszállító ──
"car_transporter": "Járműszállító (Car Transporter)",
"boat_transporter": "Hajószállító (Boat Transporter)",
"quad_transporter": "Quad / motorszállító (Quad Transporter)",
# ── Egyéb speciális ──
"mobile_shop": "Mozgóbolt (Mobile Shop)",
"workshop": "Műhelykocsi (Workshop)",
"tow_truck": "Mentő / Szállító (Wrecker / Recovery)",
"wrecker": "Mentő / szállító (Wrecker / Recovery)",
"street_sweeper": "Utcaseprő",
"refuse_truck": "Szemetes (Refuse Truck)",
"concrete_mixer": "Betonszállító (Concrete Mixer)",
"concrete_pump": "Betonszivattyú (Concrete Pump)",
"timber_truck": "Faszállító (Timber Truck)",
"log_trailer": "Farönk szállító pótkocsi (Log Trailer)",
"clothing_transporter": "Ruhaszállító (Clothing Transporter)",
"military": "Harci jármű (Military)",
# ── Egyéb ──
"other": "Egyéb (Other)",
}
# ──────────────────────────────────────────────────────────────────────
# HGV FEATURES / EXTRAS (categorized)
# Stored in individual_equipment.hgv_specs.features as a list of keys.
# ──────────────────────────────────────────────────────────────────────
HGV_FEATURES: dict[str, dict[str, str]] = {
"technical_work": {
# ═══════════════════════════════════════════════
# 1. Hajtás & Fékrendszer (Drivetrain & Brakes)
# ═══════════════════════════════════════════════
"diff_lock": "Differenciálzár (Diff Lock)",
"diff_lock_front": "Első differenciálzár",
"diff_lock_rear": "Hátsó differenciálzár",
"diff_lock_center": "Központi differenciálzár",
"diff_lock_full": "Teljes differenciálzár",
"cross_axle_lock": "Kereszttengely differenciálzár",
"retarder": "Retarder (Lejtőfékező)",
"engine_brake": "Motorfék (Engine Brake)",
"exhaust_brake": "Kipufogófék (Exhaust Brake)",
"auxiliary_brake": "Segédfék",
"abs": "ABS (Blokkolásgátló)",
"ebs": "EBS (Elektronikus fékrendszer)",
"esp": "ESP (Menetstabilizáló)",
"traction_control": "Kipörgésgátló (ASR/TCS)",
"roll_stability": "Borulásgátló (RSP)",
"stability_control": "Stabilitás szabályzó (ESP)",
"hill_holder": "Hegymeneti tartó (Hill Holder)",
"hill_descent": "Lejtmenetvezérlő (Hill Descent)",
"hill_descent_control": "Lejtmenetvezérlő",
# ═══════════════════════════════════════════════
# 2. Vezetéstámogató rendszerek (ADAS)
# ═══════════════════════════════════════════════
"adaptive_cruise": "Adaptív tempomat (ACC)",
"lane_departure": "Sávelhagyás figyelő (LDWS)",
"lane_assist": "Sávtartó asszisztens",
"blind_spot": "Holtpont-figyelő (Blind Spot)",
"blind_spot_monitor": "Holtpont figyelő",
"collision_warning": "Ütközés figyelmeztető",
"emergency_brake": "Vészfék asszisztens (AEBS)",
"emergency_brake_assist": "Vészfék asszisztens",
"traffic_sign": "Táblafelismerő rendszer",
"traffic_sign_recognition": "Táblafelismerő",
"driver_alert": "Fáradtságfigyelő (Driver Alert)",
"crosswind_assist": "Keresztszél asszisztens",
"tyre_pressure_monitor": "Guminyomás monitor (TPMS)",
"tire_pressure": "Guminyomás-figyelő (TPMS)",
# ═══════════════════════════════════════════════
# 3. Flotta Adminisztráció & Mérés
# ═══════════════════════════════════════════════
"tachograph": "Menetíró (Tachograph)",
"digital_tachograph": "Digitális menetíró",
"smart_tachograph": "Smart Tachográf (G2V2)",
"gps_tracker": "GPS nyomkövető",
"fleet_management": "Flottamenedzsment rendszer",
"fuel_monitoring": "Üzemanyag monitorozás",
"fuel_card_reader": "Üzemanyagkártya-olvasó",
"onboard_scale": "Fedélzeti mérleg (Onboard Scale)",
"weigh_in_motion": "Menet közbeni mérlegelés",
"eco_driving": "Eco Driving asszisztens",
"load_securing": "Rakományrögzítő rendszer",
# ═══════════════════════════════════════════════
# 4. Látás & Kamerák
# ═══════════════════════════════════════════════
"reverse_camera": "Tolatókamera",
"rear_camera": "Hátsó kamera",
"front_camera": "Első kamera",
"side_camera": "Oldalsó kamera",
"360_camera": "360°-os kamera",
"parking_sensors": "Parkolóérzékelők",
"front_parking_sensors": "Első parkolóérzékelők",
"rear_parking_sensors": "Hátsó parkolóérzékelők",
"side_parking_sensors": "Oldalsó parkolóérzékelők",
# ═══════════════════════════════════════════════
# 5. Kötelező tartozékok & Egyéb
# ═══════════════════════════════════════════════
"fire_extinguisher": "Tűzoltó készülék",
"first_aid_kit": "Elsősegély csomag",
"warning_triangle": "Figyelmeztető háromszög",
"wheel_chocks": "Ékek (kerékrögzítő)",
"reflective_vest": "Reflexiós mellény",
"roof_hatch": "Tetőablak",
"roof_ladder": "Tetőlétra",
"mudguards": "Sárvédők",
"spare_wheel": "Pótkerék",
"snow_chains": "Hólánc",
"toolbox": "Szerszámos láda",
"work_lights": "Munkalámpák",
"beacon": "Figyelmeztető lámpa",
"reverse_alarm": "Tolatási hangjelző",
"side_underrun": "Oldalsó aláfutásgátló",
"rear_underrun": "Hátsó aláfutásgátló",
},
# ═══════════════════════════════════════════════════════════════
# CABIN (Fülke)
# ═══════════════════════════════════════════════════════════════
"cabin": {
# ═══════════════════════════════════════════════
# 1. Klíma & Fűtés
# ═══════════════════════════════════════════════
"air_conditioner": "Klíma (légkondícionáló)",
"automatic_ac": "Automata klíma",
"dual_zone_ac": "Kétzónás klíma",
"parking_heater": "Parkfűtés (Webasto/Eberspächer)",
"auxiliary_heater": "Kiegészítő fűtés",
"night_heater": "Éjszakai fűtés (állóhelyi fűtés)",
"engine_preheater": "Motor előmelegítő",
"roof_vent": "Tetőszellőző",
"power_vent": "Elektromos tetőszellőző",
# ═══════════════════════════════════════════════
# 2. Alvás & Életvitel
# ═══════════════════════════════════════════════
"sleeper_cabin": "Hálófülke",
"single_bunk": "Egyágyas fekhely",
"double_bunk": "Kétágyas fekhely",
"upper_bunk": "Felső ágy",
"lower_bunk": "Alsó ágy",
"fridge": "Hűtőszekrény",
"freezer": "Fagyasztó",
"microwave": "Mikrohullámú sütő",
"coffee_machine": "Kávéfőző",
"water_heater": "Vízmelegítő",
"cabin_table": "Fülke asztal",
"curtain_set": "Függönykészlet",
"sun_visor": "Napszemüvegtartó / napellenző",
"cabin_lighting": "Fülke világítás",
"led_cabin_lighting": "LED fülke világítás",
"reading_light": "Olvasólámpa",
# ═══════════════════════════════════════════════
# 3. Kényelem & Ergonómia
# ═══════════════════════════════════════════════
"driver_seat_suspension": "Légrugós vezetőülés",
"passenger_seat": "Utasülés",
"passenger_seat_swivel": "Forgatható utasülés",
"seat_heating": "Ülésfűtés",
"seat_ventilation": "Ülésszellőzés",
"armrest": "Karfák",
"adjustable_steering": "Állítható kormány",
"electric_windows": "Elektromos ablakok",
"central_locking": "Központi zár",
"storage_box": "Tároló doboz",
"wardrobe": "Gardrób / ruhatároló",
"bed_extension": "Ágy kihúzó panel",
"privacy_curtain": "Adatvédő függöny",
"insulation_package": "Hang- és hőszigetelés csomag",
},
# ═══════════════════════════════════════════════════════════════
# MULTIMEDIA (Multimédia)
# ═══════════════════════════════════════════════════════════════
"multimedia": {
"navigation": "Navigáció",
"apple_carplay": "Apple CarPlay",
"android_auto": "Android Auto",
"bluetooth": "Bluetooth",
"usb_charging": "USB töltő",
"wireless_charging": "Vezeték nélküli töltő",
"dab_radio": "DAB+ digitális rádió",
"cb_radio": "CB rádió",
"satellite_radio": "Műholdas rádió",
"digital_tv": "Digitális TV",
"dvb_t": "DVB-T (földi digitális TV)",
"dvb_s": "DVB-S (műholdas TV)",
"premium_sound": "Prémium hangrendszer",
"subwoofer": "Mélysugárzó",
"rear_entertainment": "Hátsó szórakoztató rendszer",
"wifi_hotspot": "WiFi hotspot",
},
}
# ═══════════════════════════════════════════════════════════════════
# HELPER FUNCTIONS
# ═══════════════════════════════════════════════════════════════════
def get_all_feature_keys() -> list[str]:
"""Return all possible feature keys across all vehicle types."""
keys: list[str] = []
for category in CAR_FEATURES.values():
keys.extend(category.keys())
for category in MOTORCYCLE_FEATURES.values():
keys.extend(category.keys())
for category in LCV_FEATURES.values():
keys.extend(category.keys())
for category in HGV_FEATURES.values():
keys.extend(category.keys())
return list(set(keys))
def get_feature_label(key: str, lang: str = "hu") -> str:
"""Look up a feature label by key across all vehicle type dictionaries."""
hu_labels: dict[str, dict[str, str]] = {
"car": CAR_FEATURES,
"motorcycle": MOTORCYCLE_FEATURES,
"lcv": LCV_FEATURES,
"hgv": HGV_FEATURES,
}
for vehicle_type, categories in hu_labels.items():
for category_key, features in categories.items():
if key in features:
return features[key]
return key
def get_features_by_category(
vehicle_type: str, category: str
) -> dict[str, str]:
"""Return features for a specific vehicle type and category."""
mapping: dict[str, dict[str, dict[str, str]]] = {
"car": CAR_FEATURES,
"motorcycle": MOTORCYCLE_FEATURES,
"lcv": LCV_FEATURES,
"hgv": HGV_FEATURES,
}
vehicle_features = mapping.get(vehicle_type, {})
return vehicle_features.get(category, {})
def get_motorcycle_feature_label(key: str) -> str:
"""Look up a motorcycle feature label by key."""
for category in MOTORCYCLE_FEATURES.values():
if key in category:
return category[key]
return key
def get_lcv_feature_label(key: str) -> str:
"""Look up an LCV feature label by key."""
for category in LCV_FEATURES.values():
if key in category:
return category[key]
return key
def get_hgv_feature_label(key: str) -> str:
"""Look up an HGV feature label by key."""
for category in HGV_FEATURES.values():
if key in category:
return category[key]
return key