pub fn get(key: &str) -> Option<&'static str> {
    Some(match key {
        // ── Topbar ──────────────────────────────────────────────────────────
        "search_placeholder" => "Search devices\u{2026}",
        "tooltip_credentials" => "Credentials",
        "tooltip_theme" => "Theme",
        "tooltip_language" => "Language",
        "tooltip_help" => "Help",

        // ── Sidebar ─────────────────────────────────────────────────────────
        "sidebar_title" => "Devices",
        "filter_placeholder" => "Name or address\u{2026}",
        "no_devices" => "No devices found.\nClick Scan to discover.",
        "no_manual_devices" => "No manual devices.\nClick Add to create one.",
        "no_matches" => "No matches.",
        "filter_status_tooltip" => "Filter by authentication status",
        "filter_status_all" => "All",
        "filter_status_ok" => "Logged in",
        "filter_status_failed" => "Auth failed",
        "filter_status_unknown" => "Unverified",
        "filter_sort_tooltip" => "Sort devices",
        "filter_sort_default" => "Default order",
        "filter_sort_name" => "By name",
        "filter_sort_ip" => "By IP",
        "devtab_discovered" => "Discovered",
        "devtab_manual" => "Manual",
        "btn_scan_label" => "Scan",
        "btn_scanning" => "Scanning\u{2026}",
        "btn_scanning_tooltip" => "A scan is already in progress.",
        "btn_retry" => "Retry",
        "addr_err_empty" => "Address is required.",
        "addr_err_ip" => "IP octets must be 0–255.",
        "addr_err_port" => "Port must be between 1 and 65535.",
        "addr_err_hostname" => "Hostname can only contain letters, digits, hyphens, and dots.",
        "addr_err_no_host" => "Address has no host.",
        "net_disabled_by_dhcp" => "Disabled while DHCP is on.",
        "btn_add_label" => "Add",

        // ── Device Panel ────────────────────────────────────────────────────
        "select_device" => "\u{2190} Select a device",
        "section_general" => "General",
        "nav_settings" => "Settings",
        "nav_events" => "Events",
        "nav_osd" => "OSD",
        "nav_io_control" => "IO Control",
        // ── IO Control view ────────────────────────────────────────────
        "io_control" => "IO Control",
        "io_relay_outputs" => "Relay Outputs",
        "io_digital_inputs" => "Digital Inputs",
        "io_input_hint" => "Live state arrives via the Events tab",
        "io_no_relays" => "No relay outputs reported by this device.",
        "io_no_inputs" => "No digital inputs reported by this device.",
        "io_relays_unsupported" => "This device doesn't support relay output control.",
        "io_inputs_unsupported" => "This device doesn't expose digital inputs.",
        "io_mode" => "Mode",
        "io_mode_bistable" => "Bistable (latching)",
        "io_mode_monostable" => "Monostable (pulse)",
        "io_idle_state" => "Idle",
        "io_idle_closed" => "Closed",
        "io_idle_open" => "Open",
        "io_idle_unknown" => "Unknown",
        "io_delay_time" => "Pulse",
        "io_delay_hint" => "ISO 8601 duration, e.g. PT1S",
        "io_activate" => "Activate",
        "io_deactivate" => "Deactivate",
        "io_pulse" => "Pulse",
        "io_edit" => "Edit",
        "io_activated" => "Relay activated.",
        "io_deactivated" => "Relay deactivated.",
        "io_pulse_sent" => "Pulse triggered.",
        "io_pulse_failed" => "Pulse failed",
        "io_set_state_failed" => "Could not change relay state",
        "io_settings_saved" => "Relay settings saved.",
        "io_settings_failed" => "Could not save relay settings",
        "io_confirm_save_title" => "Save relay settings?",
        "io_confirm_save_msg" => "Update this relay's mode and idle state on the device.",
        "nav_video_encoder" => "Video",
        "ve_no_encoder" => "This profile has no video encoder configuration.",
        "ve_encoding" => "Encoding",
        "ve_resolution" => "Resolution",
        "ve_frame_rate" => "Frame rate (fps)",
        "ve_bitrate" => "Bitrate (kbps)",
        "ve_gov_length" => "GOV length",
        "ve_quality" => "Quality",
        "ve_profile" => "Codec profile",
        "ve_save" => "Save",
        "ve_saved" => "Video encoder settings saved",
        "osd_add" => "Add OSD",
        "osd_empty" => "No OSDs configured for this profile.",
        "osd_create" => "Create OSD",
        "osd_edit" => "Edit OSD",
        "osd_col_type" => "Type",
        "osd_col_position" => "Position",
        "osd_col_content" => "Content",
        "osd_field_text_type" => "Text type",
        "osd_field_text" => "Text",
        "osd_field_date_format" => "Date format",
        "osd_field_time_format" => "Time format",
        "osd_field_position" => "Position",
        "osd_field_font_size" => "Font size",
        "osd_saved" => "OSD saved",
        "osd_deleted" => "OSD deleted",
        "osd_delete_title" => "Delete OSD",
        "osd_delete_confirm" => "Delete this on-screen display element?",
        "osd_quota_full" => "This OSD type has reached the camera's per-type limit.",
        "profile_create" => "New profile",
        "profile_name_placeholder" => "Profile name",
        "profile_created" => "Profile created",
        "profile_delete" => "Delete profile",
        "profile_delete_title" => "Delete profile",
        "profile_delete_confirm" => "Delete profile \"{name}\"? Fixed profiles can't be removed.",
        "profile_deleted" => "Profile deleted",
        "events_status_connecting" => "Connecting…",
        "events_status_connected" => "Connected",
        "events_status_error" => "Error",
        "events_pause" => "Pause",
        "events_resume" => "Resume",
        "events_clear" => "Clear",
        "events_empty" => "No events received yet.",
        "events_col_time" => "Time",
        "events_col_topic" => "Topic",
        "events_col_data" => "Data",
        "events_col_utc" => "UTC time",
        "events_col_op" => "Op",
        "events_col_source" => "Source",
        "events_show_details" => "Show details",
        "events_topics" => "Topics",
        "events_topics_all" => "All",
        "events_topics_none" => "None",
        "events_topics_empty" => "Camera advertises no topics.",
        "events_search_placeholder" => "Search…",
        "events_empty_filtered" => "No events match the current search.",
        "no_profiles" => "No profiles available.",
        "nav_live_video" => "Live video",
        "nav_imaging" => "Imaging settings",
        "nav_ptz" => "PTZ control",

        // ── Main Content ────────────────────────────────────────────────────
        "app_name" => "OxDM",
        "app_subtitle" => "ONVIF Device Manager",
        "about_tagline" => "oxvif Device Manager \u{2014} a modern take on ONVIF Device Manager (ODM)",
        "welcome_hint" => "Select a device from the left panel,\nor click  \u{27F3} Scan  to discover devices on the network.",

        // ── Settings Tabs ───────────────────────────────────────────────────
        "tab_identification" => "Identification",
        "tab_network" => "Network",
        "tab_time" => "Time",
        "tab_users" => "Users",
        "tab_maintenance" => "Maintenance",
        "tab_health" => "Health",

        // ── Status Bar ──────────────────────────────────────────────────────
        "status_devices" => "devices",
        "status_device" => "device",
        "status_online" => "online",
        "status_scanning" => "Scanning\u{2026}",
        "status_ws_discovery" => "WS-Discovery",

        // ── Theme names ─────────────────────────────────────────────────────
        "theme_dark" => "Dark",
        "theme_light" => "Light",
        "theme_classic" => "Classic (ODM)",

        // ── Buttons (shared) ────────────────────────────────────────────────
        "btn_cancel" => "Cancel",
        "btn_close" => "Close",
        "snapshot_save" => "Save snapshot",
        "snapshot_save_no_image" => "No snapshot available yet.",
        "snapshot_saved" => "Snapshot saved",
        "snapshot_save_failed" => "Save failed",
        "about_open_logs" => "Open log folder",
        "about_github" => "GitHub",
        "about_log_dir" => "Logs:",
        "about_shortcuts" => "Keyboard shortcuts",
        "shortcut_focus_search" => "Focus device search",
        "shortcut_scan" => "Start a discovery scan",
        "shortcut_nav_devices" => "Move device selection",
        "shortcut_close_modal" => "Close the open dialog",
        "about_log_to_file" => "Save logs to disk",
        "about_log_takes_effect" => "(takes effect on next launch)",
        "about_tls_strict" => "Reject self-signed TLS certs (HTTPS snapshots)",
        "about_tls_strict_hint" => "Most cameras use self-signed certs — leave off unless you know yours is properly signed.",
        "btn_save" => "Save",
        "btn_confirm" => "Confirm",
        "btn_add_short" => "Add",

        // ── Log viewer ──────────────────────────────────────────────────────
        "logs_title" => "Logs",
        "logs_filter_placeholder" => "Filter\u{2026}",
        "logs_refresh" => "Refresh",
        "logs_no_dir" => "Could not locate the log directory.",
        "logs_empty" => "No log file yet. Enable \"Save logs to disk\" in About, then restart.",
        "logs_read_failed" => "Could not read the log file.",
        "logs_no_match" => "No lines match the filter.",

        // ── Credentials ─────────────────────────────────────────────────────
        "not_logged_in" => "Not Login",
        "cred_global_title" => "Global Credentials",
        "cred_global_hint" => "Default username and password used for all discovered devices.",
        "cred_username" => "Username",
        "cred_password" => "Password",

        // ── Add Device ──────────────────────────────────────────────────────
        "add_device_title" => "Add Device",
        "add_device_addr" => "IP address or ONVIF URL",
        "add_device_addr_hint" => "192.168.1.100",
        "add_device_addr_auto" => "Just enter the IP \u{2014} the ONVIF path is added automatically.",
        "add_device_name" => "Display name",
        "add_device_name_hint" => "Optional",
        "add_device_custom_creds" => "Custom credentials",
        "scan_none" => "No devices found. Try adding manually or check network settings.",

        // ── Context Menu ────────────────────────────────────────────────────
        "ctx_copy_addr" => "Copy address",
        "ctx_copied" => "Copied to clipboard.",
        "ctx_delete" => "Delete",
        "ctx_delete_confirm" => "Delete device \"{name}\"?",
        "ctx_add_manual" => "Add to Manual",
        "ctx_added_manual" => "Device added to Manual list.",
        "ctx_edit" => "Edit",

        // ── Edit Device ─────────────────────────────────────────────────────
        "edit_device_title" => "Edit Device",
        "edit_device_cred_hint" => "Leave empty to use global",
        "edit_device_cred_fallback" => "Empty fields fall back to the global credentials.",
        "edit_device_saved" => "Device updated.",
        "add_device_ok" => "Device added.",
        "cred_saved" => "Credentials saved.",
        "scan_found" => "Found {n} device(s).",

        // ── Live Video ──────────────────────────────────────────────────────
        "live_video_no_device" => "Select a device to start streaming.",
        "live_mode_snapshot" => "Snapshot",
        "live_mode_snapshot_hint" => "Lightweight ~5 fps snapshot loop. Works on every camera.",
        "live_mode_rtsp" => "RTSP",
        "live_mode_rtsp_hint" => "Real-fps RTSP via go2rtc bridge. Higher CPU; needs the bundled go2rtc binary.",
        "live_h265_tip" => "H.265 camera? Install ffmpeg (so go2rtc can transcode) or the Microsoft Store HEVC Video Extensions. H.264 cameras need neither.",
        "live_video_no_profile" => "Select a profile from the device panel.",
        "live_video_no_backend" => "No video backend installed.",
        "live_video_error" => "Failed to start the stream.",

        // ── PTZ ─────────────────────────────────────────────────────────────
        "ptz_zoom" => "Zoom",
        "ptz_speed" => "Speed",
        "ptz_home" => "Home",
        "ptz_home_ok" => "Moving to home position\u{2026}",
        "ptz_stop" => "Stop",
        "ptz_presets" => "Presets",
        "ptz_no_presets" => "No presets saved.",
    "ptz_preset_search_placeholder" => "Search presets…",
    "ptz_presets_no_match" => "No presets match.",
        "ptz_unavailable" => "PTZ not supported by this device.",
        "ptz_focus" => "Focus",
        "ptz_focus_near" => "Near",
        "ptz_focus_far" => "Far",
        "ptz_focus_auto" => "Auto",
        "ptz_focus_manual" => "Manual",
        "ptz_preset_new_placeholder" => "New preset name\u{2026}",
        "ptz_preset_save_hint" => "Save current position as a new preset.",
        "ptz_preset_saved" => "Preset saved.",
        "ptz_preset_removed" => "Preset removed.",

        // ── Shared ──────────────────────────────────────────────────────────
        "loading" => "Loading\u{2026}",
        "yes" => "Yes",
        "no" => "No",
        "enabled" => "Enabled",
        "disabled" => "Disabled",

        // ── Identification tab ──────────────────────────────────────────────
        "prop_manufacturer" => "Manufacturer",
        "prop_model" => "Model",
        "prop_firmware" => "Firmware",
        "prop_serial" => "Serial number",
        "prop_hardware_id" => "Hardware ID",
        "prop_scopes" => "Other scopes",
        "id_editable_scopes" => "Editable scopes",
        "id_name" => "Name",
        "id_location" => "Location",
        "id_scopes_saved" => "Device name and location saved.",

        // ── Time tab ────────────────────────────────────────────────────────
        "time_sync_section" => "Sync",
        "time_edit_section" => "Set time",
        "time_sync_pc" => "Sync from PC",
        "time_sync_pc_hint" => "Set clock to this PC's current UTC time (Manual mode).",
        "time_use_ntp" => "Use NTP",
        "time_use_ntp_hint" => "Switch to NTP; configure the NTP server in the Network tab.",
        "time_apply_tz" => "Apply TZ/DST",
        "time_apply_tz_hint" => "Send the timezone and DST flag above without changing the clock.",
        "time_saved" => "Time settings saved.",
        "tz_current_prefix" => "Current: ",
        "tz_custom" => "Custom\u{2026}",
        "tz_custom_label" => "Custom POSIX TZ",
        "prop_utc_time" => "UTC time",
        "prop_local_time" => "Local time",
        "prop_timezone" => "Timezone",
        "prop_dst" => "Daylight savings",

        // ── Network tab ─────────────────────────────────────────────────────
        "net_hostname" => "Hostname",
        "net_interface" => "Interface",
        "net_gateway" => "Gateway",
        "net_protocols" => "Protocols",
        "net_saved" => "Network settings saved.",
        "net_saved_reboot" => "Saved — the device requires a reboot for the change to take effect.",
        "net_iface_enabled" => "Enabled",
        "net_iface_prefix" => "Prefix length",
        "net_iface_confirm_title" => "Change interface settings?",
        "net_iface_confirm_msg" => "Changing IP, prefix, or DHCP on this interface may disconnect the device from this app. Continue?",

        // ── Users tab ───────────────────────────────────────────────────────
        "user_name" => "Username",
        "user_level" => "Level",
        "user_none" => "No users found.",
        "user_add_section" => "Add user",
        "user_add" => "Add",
        "user_created" => "User created.",
        "user_updated" => "User updated.",
        "user_deleted" => "User deleted.",
        "user_delete_title" => "Delete user?",
        "user_delete_confirm" => "Delete user '{name}'? This cannot be undone.",
        "user_edit_pw_placeholder" => "New password (blank = keep)",
        "user_create_needs_fields" => "Username and password are required.",
        "btn_edit" => "Edit",
        "btn_delete" => "Delete",

        // ── Maintenance tab ─────────────────────────────────────────────────
        "maint_reboot" => "Reboot",
        "maint_reboot_desc" => "Restart the device. This may take a few minutes.",
        "maint_reboot_confirm" => "Are you sure you want to reboot this device?",
        "maint_factory_reset" => "Factory reset",
        "maint_factory_reset_desc" => "Restore all settings to factory defaults. This cannot be undone.",
        "maint_factory_reset_confirm" => "This will erase all settings. Are you sure?",
        "maint_factory_reset_ok" => "Factory reset initiated.",

        // ── Health check ────────────────────────────────────────────────────
        "health_run" => "Run health check",
        "health_running" => "Running health check\u{2026}",
        "health_empty" => "Run a read-only conformance check against this device.",
        "health_pass" => "pass",
        "health_warn" => "warn",
        "health_fail" => "fail",
        "health_skip" => "skip",
        "health_profiles" => "Profiles",
        "health_conformant" => "conformant",
        "health_partial" => "partial",
        "health_unsupported" => "unsupported",
        "health_missing" => "missing",
        "health_save_baseline" => "Save as baseline",
        "health_baseline_saved" => "Baseline saved.",
        "health_baseline_save_failed" => "Failed to save baseline",
        "health_baseline_loaded" => "baseline",
        "health_diff_title" => "Diff vs baseline",
        "health_diff_none" => "no changes since baseline",
        "health_diff_flipped_fail" => "flipped \u{2192} FAIL",
        "health_diff_flipped_pass" => "recovered",
        "health_diff_added" => "new",
        "health_diff_removed" => "removed",
        "health_diff_slowed" => "slowed",

        // ── Imaging ─────────────────────────────────────────────────────────
        "img_basic" => "Basic",
        "img_brightness" => "Brightness",
        "img_contrast" => "Contrast",
        "img_saturation" => "Saturation",
        "img_sharpness" => "Sharpness",
        "img_exposure" => "Exposure",
        "img_white_balance" => "White Balance",
        "img_backlight" => "Backlight Compensation",
        "img_wdr" => "Wide Dynamic Range",
        "img_ir_cut" => "IR Cut Filter",
        "img_focus" => "Focus",
        "img_mode" => "Mode",
        "img_level" => "Level",
        "img_saved" => "Imaging settings saved.",
        "img_manual_group" => "Manual exposure & focus",
        "img_exposure_priority" => "Exposure priority",
        "img_exposure_time" => "Exposure time (s)",
        "img_exposure_gain" => "Gain (dB)",
        "img_exposure_iris" => "Iris (F)",
        "img_wb_cr_gain" => "WB Cr gain",
        "img_wb_cb_gain" => "WB Cb gain",
        "img_focus_near" => "Focus near limit",
        "img_focus_far" => "Focus far limit",
        "btn_apply" => "Apply",

        // ── Network IPv6 panel ──────────────────────────────────────────────
        "net_ipv6" => "IPv6",
        "net_ipv6_enabled" => "IPv6 enabled",
        "net_ipv6_dhcp" => "Acquire via DHCPv6",
        "net_ipv6_manual" => "Manual IPv6 address",
        "net_mtu" => "MTU (bytes)",
        "net_save_v6" => "Save IPv6",

        _ => return None,
    })
}
