rustpbx 0.4.4

A SIP PBX implementation in Rust
Documentation
[queue]
# Sidebar
sidebar_name = "Queues"

# Page titles & headings
title = "Queues"
subtitle = "Service queues"
subtitle_desc = "Create voice queues, manage hold music, and configure fallback behaviors."

# List page actions
reload_queues = "Reload from files"
export_all = "Export all"
new_queue = "New queue"

# Stats cards
total_queues = "Total queues"
active = "Active"
paused = "Paused"

# Filter / search
all_statuses = "All statuses"
search_placeholder = "Search by name or note"

# Table columns
col_queue = "Queue"
col_hold_treatment = "Hold treatment"
col_targets = "Targets"
col_fallback = "Fallback"
col_prompts = "Prompts"
col_updated = "Updated"
col_actions = "Actions"

# Table states
loading = "Loading queues…"
no_queues = "No queues found. Create one to get started."

# Status labels
status_active = "Active"
status_paused = "Paused"

# Pagination
showing = "Showing"
of = "of"
prev = "Prev"
next = "Next"
page = "Page"

# Row actions (sr-only)
view_queue = "View queue"
export_queue = "Export queue"
delete_queue = "Delete queue"

# Confirm dialogs
delete_confirm_title = "Delete queue"
delete_confirm_msg = "Delete queue {name}? This cannot be undone."
delete_confirm_label = "Delete"
reload_confirm_title = "Reload queues"
reload_confirm_msg = "Reload queue configurations from files? This will apply exported changes to the running system."
reload_confirm_label = "Reload"
export_all_confirm_title = "Export all queues"
export_all_confirm_msg = "Generate updated queue configuration files for every queue? Existing files will be replaced."
export_confirm_label = "Export"

# Flash messages
queue_deleted = "Queue deleted."
queues_reloaded = "Reloaded {count} route rules."
queues_exported_n = "Exported {count} queue file."
queues_exported_n_plural = "Exported {count} queue files."
queues_exported = "Queues exported."
queue_exported_to = "Queue exported to {path}."
queue_exported = "Queue exported."

# Error messages
load_error = "Unable to load queues"
file_queues_title = "File-based queues (read-only)"
file_queues_notice = "These queues are loaded from .toml configuration files and cannot be edited through the GUI."
delete_error = "Failed to delete queue"
export_error = "Failed to export queue"
export_all_error = "Failed to export queues"
reload_error = "Failed to reload queues"

# Hold summaries (JS)
hold_immediate_passthrough = "Answer immediately · passthrough ringback"
hold_immediate_audio = "Answer immediately · hold audio preferred"
hold_default = "Default hold tone"
hold_immediate = "Answer immediately · passthrough ringback"

# Target summaries (JS)
targets_route_trunks = "Route trunks (no inline targets)"
targets_parallel = "Parallel"
targets_sequential = "Sequential"
targets_timeout = "{timeout}s timeout"
targets_count = "{count} target"
targets_count_plural = "{count} targets"
targets_configure = "Configure inline SIP URIs per queue if needed"

# Fallback summaries (JS)
fallback_continue = "Continue waiting"
fallback_redirect = "Redirect to {uri}"
fallback_play = "Play {file} ({code})"
fallback_fail = "Fail {code}"
fallback_custom = "Custom failure action"

# ── Detail / form page ──────────────────────────────────────────────────────

detail_back = "Back to queues"
detail_subtitle_create = "Publish a new voice queue with hold prompts and failure handling."
detail_subtitle_edit = "Update hold flow, fallback action, and status for this queue."
detail_summary_title = "Queue summary"
detail_name_label = "Name"
detail_updated_label = "Last updated"

# Tabs
tab_overview = "Overview"
tab_targets = "Targets"
tab_fallback = "Fallback"
tab_voice_prompts = "Voice Prompts"

# Overview section
section_basics = "Queue basics"
field_name = "Queue name"
field_name_placeholder = "support-primary"
field_name_hint = "Used in routing destinations."
field_status = "Status"
field_status_hint = "Paused queues remain available for edits but will not receive calls."
field_description = "Description"
field_description_placeholder = "Internal notes for operators."
field_accept_immediately = "Accept immediately"
field_accept_immediately_label = "Bridge caller to agent before hold audio"
field_passthrough_ringback = "Remote ringback handling"
field_passthrough_ringback_desc = "Allow downstream color ring tones to replace hold audio while waiting for agents. Leave unchecked to keep playing queue hold music."
field_tags = "Tags (comma separated)"
field_tags_placeholder = "premium, apac, vip"

# Hold section
section_hold = "Hold treatment"
section_hold_desc = "Upload prompts separately and reference the storage path here. Leave blank to fall back to config/sounds/phone-calling.wav."
hold_enable_label = "Play custom hold audio"
hold_audio_file = "Audio file path"
hold_audio_file_placeholder = "sounds/hold.wav"
hold_loop = "Loop playback"

# Targets section
section_targets = "Agent dialing strategy"
section_targets_desc = "Define how this queue rings SIP targets in sequence or in parallel before falling back."
field_dial_mode = "Dial mode"
dial_sequential = "Sequential (hunt)"
dial_parallel = "Parallel (blast)"
field_ring_timeout = "Ring timeout (seconds)"
field_ring_timeout_placeholder = "0"
field_ring_timeout_hint = "Set to zero to inherit the route timeout."
field_acd_policy = "ACD policy"
field_acd_policy_placeholder = "Select an ACD policy"
field_acd_policy_hint = "Optional: policy used for agent ordering and queue dispatch."
dial_targets_title = "Dial targets"
add_target = "Add target"
add_skill_group_target = "Add skill group"
no_targets = "No targets defined. Add SIP URIs to ring from this queue."
target_uri = "Target URI"
target_uri_placeholder = "sip:agent@pbx.local"
target_skill_group = "Skill Group"
skill_group_select_placeholder = "Select a skill group"
target_label = "Label (optional)"
target_label_placeholder = "Tier 1"
remove_target = "Remove"

# Fallback section
section_fallback = "Fallback behavior"
section_fallback_desc = "Choose what happens when no agents are available. By default the system plays sounds/unavailable-phone.wav before hanging up."
fallback_none = "Continue waiting"
fallback_redirect_opt = "Redirect to SIP URI"
fallback_queue_opt = "Send to another queue"
fallback_skill_group_opt = "Skill group"
fallback_failure_opt = "Return failure prompt/code"
fallback_redirect_label = "Redirect target (SIP URI)"
fallback_redirect_placeholder = "sip:backup@pbx.local"
fallback_code_label = "SIP failure code"
fallback_code_placeholder = "486"
fallback_reason_label = "Failure reason"
fallback_reason_placeholder = "All agents busy"
fallback_prompt_label = "Failure prompt audio"
fallback_prompt_placeholder = "sounds/queue-full.wav"
fallback_prompt_hint = "Optional audio clip to play before hanging up."
fallback_queue_label = "Queue file path"
fallback_queue_placeholder = "3-support.generated.toml"
fallback_queue_hint = "Provide the generated queue TOML file (relative to config/queue)."
fallback_skill_group_label = "Skill group"
fallback_skill_group_placeholder = "Select a skill group"
fallback_skill_group_hint = "Route to agents matching this skill group."

# Voice Prompts
section_voice_prompts = "Voice Prompts"
section_voice_prompts_desc = "Configure built-in voice prompts that are played during queue events (transfer, busy, no-answer, off-hours)."
vp_none = "Disabled"
vp_chinese = "Chinese (zh-CN)"
vp_english = "English (en-US)"
vp_custom = "Custom URL / path"
vp_url_placeholder = "https://example.com/prompt.wav or sounds/prompt.wav"
vp_download = "Download"
vp_downloading = "Downloading..."
vp_preview = "Preview"
vp_transfer = "Transfer prompt"
vp_transfer_desc = "Played before connecting the caller to an agent. e.g. \"Hold on, transferring your call\""
vp_busy = "Busy prompt"
vp_busy_desc = "Played when all agents are busy. e.g. \"Sorry, all agents are busy\""
vp_off_hours = "Off-hours prompt"
vp_off_hours_desc = "Played when the queue is outside business hours. e.g. \"Sorry, it's non-working hours\""
vp_no_answer = "No-answer prompt"
vp_no_answer_desc = "Played when all agents are unreachable (no answer). e.g. \"Sorry, the agent didn't answer\""

# Form footer
save_hint = "Queue changes apply instantly after saving."
btn_cancel = "Cancel"
btn_save = "Save changes"
btn_create = "Create queue"

# JS messages
queue_updated = "Queue updated."
queue_created = "Queue created."
save_failed = "Failed to save queue"