{
  "app.title": "Media Server",
  "auth.message": "Enter your API token to connect to the media server.",
  "auth.placeholder": "Enter API Token",
  "auth.connect": "Connect",
  "auth.help": "To get your token, run:",
  "auth.logout": "Logout",
  "auth.logout.title": "Clear saved token",
  "auth.invalid": "Invalid token. Please try again.",
  "auth.cleared": "Token cleared. Please enter a new token.",
  "auth.required": "Please enter a token",
  "player.theme": "Toggle theme",
  "accent.custom": "Custom",
  "player.locale": "Change language",
  "player.previous": "Previous",
  "player.play": "Play/Pause",
  "player.next": "Next",
  "player.mute": "Mute",
  "player.status.connected": "Connected",
  "player.status.disconnected": "Disconnected",
  "player.no_media": "No media playing",
  "player.kicker": "Now Playing",
  "player.modes": "Modes",
  "header.connected": "Connected",
  "header.volume": "Vol. I",
  "header.edition": "Studio Reference",
  "header.edition_sub": "Studio Reference Edition",
  "meta.state": "State",
  "meta.source": "Source",
  "player.title_unavailable": "Title unavailable",
  "player.source": "Source:",
  "player.unknown_source": "Unknown",
  "player.vinyl": "Vinyl mode",
  "player.visualizer": "Audio visualizer",
  "player.background": "Dynamic background",
  "player.fullscreen": "Fullscreen player",
  "player.fullscreen.exit": "Exit fullscreen",
  "player.fullscreen.exit_short": "Exit",
  "state.playing": "Playing",
  "state.paused": "Paused",
  "state.stopped": "Stopped",
  "state.idle": "Idle",
  "scripts.quick_actions": "Quick Actions",
  "scripts.no_scripts": "No scripts configured",
  "scripts.management": "Script Management",
  "scripts.add": "Add",
  "scripts.table.name": "Name",
  "scripts.table.label": "Label",
  "scripts.table.command": "Command",
  "scripts.table.timeout": "Timeout",
  "scripts.table.actions": "Actions",
  "scripts.empty": "No scripts configured. Click 'Add' to create one.",
  "scripts.dialog.add": "Add Script",
  "scripts.dialog.edit": "Edit Script",
  "scripts.field.name": "Script Name *",
  "scripts.field.label": "Label",
  "scripts.field.command": "Command *",
  "scripts.field.description": "Description",
  "scripts.field.icon": "Icon (MDI)",
  "scripts.field.timeout": "Timeout (seconds)",
  "scripts.placeholder.name": "Only letters, numbers, and underscores allowed",
  "scripts.placeholder.label": "Human-readable name",
  "scripts.placeholder.command": "e.g., shutdown /s /t 0",
  "scripts.placeholder.description": "What does this script do?",
  "scripts.placeholder.icon": "e.g., mdi:power",
  "scripts.button.cancel": "Cancel",
  "scripts.button.save": "Save",
  "scripts.button.edit": "Edit",
  "scripts.button.delete": "Delete",
  "scripts.msg.executed": "{name} executed successfully",
  "scripts.msg.execute_failed": "Failed to execute {name}",
  "scripts.msg.execute_error": "Error executing {name}",
  "scripts.msg.created": "Script created successfully",
  "scripts.msg.updated": "Script updated successfully",
  "scripts.msg.create_failed": "Failed to create script",
  "scripts.msg.update_failed": "Failed to update script",
  "scripts.msg.deleted": "Script deleted successfully",
  "scripts.msg.delete_failed": "Failed to delete script",
  "scripts.msg.not_found": "Script not found",
  "scripts.msg.load_failed": "Failed to load script details",
  "scripts.msg.list_failed": "Failed to load scripts",
  "scripts.confirm.delete": "Are you sure you want to delete the script \"{name}\"?",
  "scripts.execution.title": "Execution Result",
  "scripts.execution.output": "Output",
  "scripts.execution.error_output": "Error Output",
  "scripts.execution.close": "Close",
  "scripts.confirm.unsaved": "You have unsaved changes. Are you sure you want to discard them?",
  "scripts.field.parameters": "Parameters",
  "scripts.params.add": "+ Add",
  "scripts.params.remove": "Remove parameter",
  "scripts.params.required": "Required",
  "scripts.params.name_placeholder": "param_name",
  "scripts.params.description_placeholder": "Parameter description",
  "scripts.params.default_placeholder": "Default",
  "scripts.params.options_placeholder": "option1, option2, ...",
  "scripts.params.execute": "Execute",
  "callbacks.management": "Callback Management",
  "callbacks.description": "Callbacks are scripts triggered automatically by media control events (play, pause, stop, etc.)",
  "callbacks.add": "Add",
  "callbacks.table.event": "Event",
  "callbacks.table.command": "Command",
  "callbacks.table.timeout": "Timeout",
  "callbacks.table.actions": "Actions",
  "callbacks.empty": "No callbacks configured. Click 'Add' to create one.",
  "callbacks.dialog.add": "Add Callback",
  "callbacks.dialog.edit": "Edit Callback",
  "callbacks.field.event": "Event *",
  "callbacks.field.command": "Command *",
  "callbacks.field.timeout": "Timeout (seconds)",
  "callbacks.field.workdir": "Working Directory",
  "callbacks.placeholder.event": "Select event...",
  "callbacks.placeholder.command": "e.g., shutdown /s /t 0",
  "callbacks.placeholder.workdir": "Optional",
  "callbacks.button.cancel": "Cancel",
  "callbacks.button.save": "Save",
  "callbacks.button.edit": "Edit",
  "callbacks.button.delete": "Delete",
  "callbacks.event.on_play": "on_play - After play succeeds",
  "callbacks.event.on_pause": "on_pause - After pause succeeds",
  "callbacks.event.on_stop": "on_stop - After stop succeeds",
  "callbacks.event.on_next": "on_next - After next track succeeds",
  "callbacks.event.on_previous": "on_previous - After previous track succeeds",
  "callbacks.event.on_volume": "on_volume - After volume change",
  "callbacks.event.on_mute": "on_mute - After mute toggle",
  "callbacks.event.on_seek": "on_seek - After seek succeeds",
  "callbacks.event.on_turn_on": "on_turn_on - Callback-only action",
  "callbacks.event.on_turn_off": "on_turn_off - Callback-only action",
  "callbacks.event.on_toggle": "on_toggle - Callback-only action",
  "callbacks.msg.created": "Callback created successfully",
  "callbacks.msg.updated": "Callback updated successfully",
  "callbacks.msg.create_failed": "Failed to create callback",
  "callbacks.msg.update_failed": "Failed to update callback",
  "callbacks.msg.deleted": "Callback deleted successfully",
  "callbacks.msg.delete_failed": "Failed to delete callback",
  "callbacks.msg.not_found": "Callback not found",
  "callbacks.msg.load_failed": "Failed to load callback details",
  "callbacks.msg.list_failed": "Failed to load callbacks",
  "callbacks.confirm.delete": "Are you sure you want to delete the callback \"{name}\"?",
  "callbacks.confirm.unsaved": "You have unsaved changes. Are you sure you want to discard them?",
  "tab.player": "Now Spinning",
  "tab.browser": "Library",
  "tab.quick_access": "Quick Access",
  "tab.settings": "Settings",
  "tab.display": "Display",
  "settings.section.scripts": "Scripts",
  "settings.section.callbacks": "Callbacks",
  "settings.section.links": "Links",
  "settings.section.audio": "Audio",
  "settings.audio.description": "Select which audio output device to capture for the visualizer.",
  "settings.audio.device": "Loopback Device",
  "settings.audio.auto": "Auto-detect",
  "settings.audio.status_active": "Capturing audio",
  "settings.audio.status_available": "Available, not capturing",
  "settings.audio.status_unavailable": "Unavailable",
  "settings.audio.device_changed": "Audio device changed",
  "settings.audio.device_change_failed": "Failed to change audio device",
  "quick_access.no_items": "No quick actions or links configured",
  "display.loading": "Loading monitors...",
  "display.error": "Failed to load monitors",
  "display.no_monitors": "No monitors detected",
  "display.power_on": "Turn on",
  "display.power_off": "Turn off",
  "display.primary": "Primary",
  "display.brightness": "Brightness",
  "display.contrast": "Contrast",
  "display.tuning": "Picture tuning",
  "display.input_source": "Input",
  "display.color_preset": "Color temp",
  "display.picture_mode": "Picture mode",
  "display.msg.contrast_failed": "Failed to set contrast",
  "display.msg.input_changed": "Input source switched",
  "display.msg.input_failed": "Failed to switch input source",
  "display.msg.color_changed": "Color preset applied",
  "display.msg.color_failed": "Failed to apply color preset",
  "display.msg.mode_changed": "Picture mode applied",
  "display.msg.mode_failed": "Failed to apply picture mode",
  "display.msg.power_on": "Monitor turned on",
  "display.msg.power_off": "Monitor turned off",
  "display.msg.power_failed": "Failed to change monitor power",
  "execution.result": "Execution Result",
  "execution.executing": "Executing",
  "execution.status": "Status",
  "execution.exit_code": "Exit Code",
  "execution.duration": "Duration",
  "execution.success": "Success",
  "execution.failed": "Failed",
  "execution.running": "Running...",
  "execution.no_output": "(no output)",
  "browser.title": "Media Browser",
  "browser.home": "Home",
  "browser.manage_folders": "Manage Folders",
  "browser.select_folder": "Select a folder...",
  "browser.select_folder_option": "Select a folder...",
  "browser.no_folder_selected": "Select a folder to browse media files",
  "browser.no_items": "No media files found in this folder",
  "browser.view_grid": "Grid view",
  "browser.view_compact": "Compact view",
  "browser.view_list": "List view",
  "browser.search": "Search...",
  "browser.items_per_page": "Items per page:",
  "browser.page": "Page",
  "browser.previous": "Previous",
  "browser.next": "Next",
  "browser.download": "Download",
  "browser.play_success": "Playing {filename}",
  "browser.play_error": "Failed to play file",
  "browser.play_all": "Play All",
  "browser.play_all_success": "Playing {count} files",
  "browser.play_all_error": "Failed to play folder",
  "browser.error_loading": "Error loading directory",
  "browser.error_loading_folders": "Failed to load media folders",
  "browser.manage_folders_hint": "Folder management is disabled. Set media_folders_management: true in config.yaml to enable.",
  "browser.unavailable": "Unavailable",
  "browser.folder_available": "Available",
  "browser.folder_unavailable": "Unavailable (path not reachable)",
  "browser.folder_disabled": "disabled",
  "browser.folder_edit": "Edit folder",
  "browser.folder_delete": "Delete folder",
  "browser.folder_created": "Media folder created successfully",
  "browser.folder_updated": "Media folder updated successfully",
  "browser.folder_deleted": "Media folder deleted successfully",
  "browser.folder_save_error": "Failed to save media folder",
  "browser.folder_delete_error": "Failed to delete media folder",
  "browser.folder_confirm_delete": "Are you sure you want to delete the folder \"{name}\"?",
  "browser.folders_description": "Media folders available for browsing. Folders on network shares show availability status.",
  "browser.folders_empty": "No media folders configured. Click \"+\" to add one.",
  "browser.folders_table.id": "ID",
  "browser.folders_table.label": "Label",
  "browser.folders_table.path": "Path",
  "browser.folders_table.status": "Status",
  "browser.folders_table.actions": "Actions",
  "settings.section.media_folders": "Media Folders",
  "browser.folder_dialog.title_add": "Add Media Folder",
  "browser.folder_dialog.title_edit": "Edit Media Folder",
  "browser.folder_dialog.folder_id": "Folder ID *",
  "browser.folder_dialog.folder_id_help": "Alphanumeric and underscore only",
  "browser.folder_dialog.label": "Label *",
  "browser.folder_dialog.label_help": "Display name for this folder",
  "browser.folder_dialog.path": "Path *",
  "browser.folder_dialog.path_help": "Absolute path to media directory",
  "browser.folder_dialog.enabled": "Enabled",
  "browser.folder_dialog.cancel": "Cancel",
  "browser.folder_dialog.save": "Save",
  "browser.list_header.name": "Name",
  "browser.list_header.bitrate": "Bitrate",
  "browser.list_header.duration": "Duration",
  "browser.list_header.size": "Size",
  "browser.showing_items": "Showing {from}\u2013{to} of {total}",
  "browser.download_error": "Failed to download file",
  "connection.reconnecting": "Connection lost. Reconnecting (attempt {attempt})...",
  "connection.lost": "Connection lost. Server may be unavailable.",
  "connection.reconnect": "Reconnect",
  "dialog.cancel": "Cancel",
  "dialog.confirm": "Confirm",
  "links.description": "Quick links displayed as icons in the header bar. Click an icon to open the URL in a new tab.",
  "links.empty": "No links configured. Click 'Add' to create one.",
  "links.table.name": "Name",
  "links.table.url": "URL",
  "links.table.label": "Label",
  "links.table.actions": "Actions",
  "links.dialog.add": "Add Link",
  "links.dialog.edit": "Edit Link",
  "links.field.name": "Link Name *",
  "links.field.url": "URL *",
  "links.field.icon": "Icon (MDI)",
  "links.field.label": "Label",
  "links.field.description": "Description",
  "links.placeholder.name": "Only letters, numbers, and underscores allowed",
  "links.placeholder.url": "https://example.com",
  "links.placeholder.icon": "mdi:link",
  "links.placeholder.label": "Tooltip text",
  "links.placeholder.description": "What does this link point to?",
  "links.button.cancel": "Cancel",
  "links.button.save": "Save",
  "links.button.edit": "Edit",
  "links.button.delete": "Delete",
  "links.msg.created": "Link created successfully",
  "links.msg.updated": "Link updated successfully",
  "links.msg.create_failed": "Failed to create link",
  "links.msg.update_failed": "Failed to update link",
  "links.msg.deleted": "Link deleted successfully",
  "links.msg.delete_failed": "Failed to delete link",
  "links.msg.not_found": "Link not found",
  "links.msg.load_failed": "Failed to load link details",
  "links.confirm.delete": "Are you sure you want to delete the link \"{name}\"?",
  "links.confirm.unsaved": "You have unsaved changes. Are you sure you want to discard them?",
  "about.button_title": "About",
  "about.title": "About",
  "about.created_by": "Created by",
  "about.email": "Email",
  "about.repository": "Repository",
  "about.source_code": "Source Code",
  "dialog.close": "Close",
  "update.available": "Update available: v{version}",
  "update.view_release": "View Release",
  "tab.foreground": "Foreground",
  "foreground.kicker": "Foreground",
  "foreground.loading": "Waiting for foreground signal…",
  "foreground.no_process": "No foreground process",
  "foreground.unavailable": "Foreground tracking unavailable on this platform",
  "foreground.process": "Process",
  "foreground.window_title": "Window title",
  "foreground.executable": "Executable",
  "foreground.pid": "PID",
  "foreground.monitor": "Monitor {n}",
  "foreground.started": "Started",
  "foreground.geometry": "Geometry",
  "foreground.platform": "Platform",
  "foreground.fullscreen": "Fullscreen",
  "foreground.minimized": "Minimized",
  "foreground.windowed": "Windowed",
  "foreground.browser": "Browser",
  "foreground.page_title": "Page title",
  "foreground.url": "URL",
  "foreground.badge.title": "View foreground process",
  "foreground.ago.seconds": "{n}s ago",
  "foreground.ago.minutes": "{n}m ago",
  "foreground.ago.hours": "{n}h {m}m ago",
  "foreground.ago.days": "{n}d ago"
}
