Files
service-finder/backend/app/constants/vehicle_features.py
2026-06-23 21:11:21 +00:00

689 lines
32 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
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",
"sport_exhaust": "Sport kipufogó",
"sport_air_filter": "Sport légszűrő",
"turbo": "Turbó",
"12v_system": "12 V rendszer",
"heated_grip": "Markolat fűtés",
"seat_belt": "Biztonsági öv",
"dtc": "DTC",
},
"frame_body": {
"leather_seat": "Bőrü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",
},
"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",
"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",
"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": {
"asr": "ASR (Kipörgésgátló)",
"immobiliser": "Immobiliser",
},
"interior": {
"roll_bar": "Bukókeret",
"cargo_tie_down": "Rögzítő pontok a raktérben",
"auxiliary_heating": "Kiegészítő fűtés (Webasto)",
"leather_interior": "Bőr belső",
"partition_wall": "Válaszfal",
"seat_height_adjustment": "Ülésmagasság állítás",
"adjustable_steering_wheel": "Állítható kormány",
},
"exterior": {
"power_mirrors": "Elektromos tükör állítás",
},
"multimedia": {},
}
# ──────────────────────────────────────────────────────────────────────
# 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",
"ebs": "EBS (Elektronikus fékrendszer)",
"esp": "ESP (Menetstabilizáló)",
"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)",
# ═══════════════════════════════════════════════
# 2. Vezetéstámogató rendszerek (ADAS)
# ═══════════════════════════════════════════════
"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ő",
"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)",
"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",
"front_camera": "Első kamera",
"side_camera": "Oldalsó 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
# ═══════════════════════════════════════════════
"wheel_chocks": "Ékek (kerékrögzítő)",
"roof_hatch": "Tetőablak",
"roof_ladder": "Tetőlétra",
"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",
"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": {
"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)",
},
}
# ═══════════════════════════════════════════════════════════════════
# 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