@escalated-dev/escalated 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +125 -2
  3. package/package.json +40 -5
  4. package/src/components/ActiveChatsPanel.vue +246 -0
  5. package/src/components/ActivityTimeline.stories.js +55 -0
  6. package/src/components/ActivityTimeline.vue +83 -66
  7. package/src/components/AdminDashboard.stories.js +1423 -0
  8. package/src/components/AgentLoadIndicator.stories.js +37 -0
  9. package/src/components/AgentLoadIndicator.vue +49 -0
  10. package/src/components/AgentPerformanceCard.vue +44 -0
  11. package/src/components/ArticleEditor.vue +82 -0
  12. package/src/components/AssigneeSelect.vue +37 -23
  13. package/src/components/AttachmentList.vue +65 -37
  14. package/src/components/AuditLogEntry.vue +95 -0
  15. package/src/components/BulkActionBar.vue +166 -97
  16. package/src/components/CategoryTree.vue +89 -0
  17. package/src/components/ChartWidget.vue +46 -0
  18. package/src/components/ChatActionBar.vue +226 -0
  19. package/src/components/ChatBubble.vue +162 -0
  20. package/src/components/ChatComposer.vue +308 -0
  21. package/src/components/ChatQueue.vue +222 -0
  22. package/src/components/ChatThread.vue +197 -0
  23. package/src/components/CollisionWarning.stories.js +30 -0
  24. package/src/components/CollisionWarning.vue +68 -0
  25. package/src/components/ConditionalFieldRules.vue +135 -0
  26. package/src/components/ContextPanel.vue +66 -0
  27. package/src/components/ContextPanelSection.vue +65 -0
  28. package/src/components/CustomFieldRenderer.vue +159 -0
  29. package/src/components/EscalatedLayout.vue +424 -70
  30. package/src/components/FileDropzone.vue +57 -41
  31. package/src/components/FollowButton.stories.js +30 -0
  32. package/src/components/FollowButton.vue +88 -63
  33. package/src/components/KeyboardShortcutHelp.vue +213 -123
  34. package/src/components/KnowledgePanel.vue +122 -0
  35. package/src/components/KpiCard.stories.js +32 -0
  36. package/src/components/KpiCard.vue +88 -0
  37. package/src/components/MacroDropdown.vue +150 -90
  38. package/src/components/MentionDropdown.vue +154 -0
  39. package/src/components/MetricComparison.vue +89 -0
  40. package/src/components/PercentileChart.vue +67 -0
  41. package/src/components/PeriodSelector.vue +98 -0
  42. package/src/components/PermissionMatrix.vue +107 -0
  43. package/src/components/PinnedNotes.vue +129 -90
  44. package/src/components/PluginSlot.vue +68 -62
  45. package/src/components/PresenceIndicator.vue +138 -28
  46. package/src/components/PriorityBadge.stories.js +33 -0
  47. package/src/components/PriorityBadge.vue +46 -39
  48. package/src/components/QuickFilters.vue +65 -49
  49. package/src/components/ReplyComposer.vue +207 -30
  50. package/src/components/ReplyThread.vue +111 -21
  51. package/src/components/ReportChart.vue +395 -0
  52. package/src/components/ReportExportButton.vue +108 -0
  53. package/src/components/SatisfactionRating.vue +180 -128
  54. package/src/components/SaveViewDialog.vue +172 -0
  55. package/src/components/SavedViewSidebar.vue +208 -0
  56. package/src/components/ScheduleEditor.vue +104 -0
  57. package/src/components/SideConversation.vue +165 -0
  58. package/src/components/SideConversationList.vue +147 -0
  59. package/src/components/SkillTagManager.vue +79 -0
  60. package/src/components/SlaComplianceChart.vue +46 -0
  61. package/src/components/SlaTimer.stories.js +35 -0
  62. package/src/components/SlaTimer.vue +62 -49
  63. package/src/components/SnoozeButton.vue +247 -0
  64. package/src/components/StatsCard.stories.js +24 -0
  65. package/src/components/StatsCard.vue +18 -6
  66. package/src/components/StatusBadge.stories.js +53 -0
  67. package/src/components/StatusBadge.vue +78 -46
  68. package/src/components/TagSelect.vue +84 -53
  69. package/src/components/TicketFilters.vue +247 -46
  70. package/src/components/TicketLinkPanel.vue +193 -0
  71. package/src/components/TicketList.vue +536 -74
  72. package/src/components/TicketMergeDialog.vue +157 -0
  73. package/src/components/TicketSidebar.vue +167 -99
  74. package/src/components/TicketSplitDialog.vue +98 -0
  75. package/src/components/TicketTypeSelector.vue +21 -0
  76. package/src/components/TotpInput.stories.js +9 -0
  77. package/src/components/TotpInput.vue +81 -0
  78. package/src/components/TwoFactorSetup.vue +113 -0
  79. package/src/components/VariableTokenInput.vue +111 -0
  80. package/src/components/WorkflowActionConfig.vue +287 -0
  81. package/src/components/WorkflowActionList.vue +350 -0
  82. package/src/components/WorkflowConditionBuilder.vue +265 -0
  83. package/src/components/WorkflowTriggerSelector.vue +125 -0
  84. package/src/composables/useChat.js +187 -0
  85. package/src/composables/useDebouncedSearch.js +38 -0
  86. package/src/composables/useI18n.js +80 -80
  87. package/src/composables/useKeyboardShortcuts.js +46 -46
  88. package/src/composables/useMentions.js +134 -0
  89. package/src/composables/usePluginExtensions.js +159 -67
  90. package/src/composables/usePluginHooks.js +65 -0
  91. package/src/composables/useRealtime.js +182 -0
  92. package/src/defineEscalatedPlugin.js +76 -50
  93. package/src/index.js +77 -28
  94. package/src/locales/ar.json +727 -0
  95. package/src/locales/de.json +678 -430
  96. package/src/locales/en.json +717 -430
  97. package/src/locales/es.json +679 -430
  98. package/src/locales/fr.json +680 -431
  99. package/src/locales/index.js +12 -2
  100. package/src/locales/it.json +727 -0
  101. package/src/locales/ja.json +727 -0
  102. package/src/locales/ko.json +727 -0
  103. package/src/locales/nl.json +727 -0
  104. package/src/locales/pl.json +727 -0
  105. package/src/locales/pt-BR.json +727 -0
  106. package/src/locales/ru.json +727 -0
  107. package/src/locales/tr.json +727 -0
  108. package/src/locales/zh-CN.json +727 -0
  109. package/src/pages/Admin/ApiTokens/Index.vue +381 -217
  110. package/src/pages/Admin/AuditLog/Index.vue +154 -0
  111. package/src/pages/Admin/BusinessHours/Form.vue +172 -0
  112. package/src/pages/Admin/BusinessHours/Index.vue +113 -0
  113. package/src/pages/Admin/CannedResponses/Index.vue +82 -25
  114. package/src/pages/Admin/Capacity/Index.vue +134 -0
  115. package/src/pages/Admin/CustomFields/Form.vue +195 -0
  116. package/src/pages/Admin/CustomFields/Index.vue +134 -0
  117. package/src/pages/Admin/CustomObjects/Form.vue +202 -0
  118. package/src/pages/Admin/CustomObjects/Index.vue +127 -0
  119. package/src/pages/Admin/CustomObjects/Records.vue +228 -0
  120. package/src/pages/Admin/Departments/Form.vue +35 -11
  121. package/src/pages/Admin/Departments/Index.vue +74 -21
  122. package/src/pages/Admin/EscalationRules/Form.vue +86 -25
  123. package/src/pages/Admin/EscalationRules/Index.vue +158 -37
  124. package/src/pages/Admin/Import/Connect.vue +95 -0
  125. package/src/pages/Admin/Import/Index.vue +102 -0
  126. package/src/pages/Admin/Import/Mapping.vue +110 -0
  127. package/src/pages/Admin/Import/Progress.vue +153 -0
  128. package/src/pages/Admin/Import/Review.vue +76 -0
  129. package/src/pages/Admin/KnowledgeBase/Articles/Form.vue +142 -0
  130. package/src/pages/Admin/KnowledgeBase/Articles/Index.vue +195 -0
  131. package/src/pages/Admin/KnowledgeBase/Categories/Index.vue +193 -0
  132. package/src/pages/Admin/Macros/Index.vue +448 -287
  133. package/src/pages/Admin/Plugins/Index.vue +327 -197
  134. package/src/pages/Admin/Reports/AgentDetail.vue +132 -0
  135. package/src/pages/Admin/Reports/AgentMetrics.vue +115 -0
  136. package/src/pages/Admin/Reports/AgentRanking.vue +246 -0
  137. package/src/pages/Admin/Reports/Cohorts.vue +180 -0
  138. package/src/pages/Admin/Reports/Comparison.vue +141 -0
  139. package/src/pages/Admin/Reports/CsatReport.vue +127 -0
  140. package/src/pages/Admin/Reports/Dashboard.vue +226 -0
  141. package/src/pages/Admin/Reports/ResolutionTimes.vue +164 -0
  142. package/src/pages/Admin/Reports/ResponseTimes.vue +164 -0
  143. package/src/pages/Admin/Reports/SlaReport.vue +162 -0
  144. package/src/pages/Admin/Reports/SlaTrends.vue +183 -0
  145. package/src/pages/Admin/Reports.vue +206 -101
  146. package/src/pages/Admin/Roles/Form.vue +71 -0
  147. package/src/pages/Admin/Roles/Index.vue +122 -0
  148. package/src/pages/Admin/Settings/CsatSettings.vue +165 -0
  149. package/src/pages/Admin/Settings/DataRetention.vue +182 -0
  150. package/src/pages/Admin/Settings/EmailSettings.vue +243 -0
  151. package/src/pages/Admin/Settings/Sandbox.vue +135 -0
  152. package/src/pages/Admin/Settings/SsoSettings.vue +218 -0
  153. package/src/pages/Admin/Settings/TwoFactor.vue +110 -0
  154. package/src/pages/Admin/Settings.vue +847 -99
  155. package/src/pages/Admin/Skills/Form.vue +53 -0
  156. package/src/pages/Admin/Skills/Index.vue +94 -0
  157. package/src/pages/Admin/SlaPolicies/Form.vue +62 -19
  158. package/src/pages/Admin/SlaPolicies/Index.vue +85 -23
  159. package/src/pages/Admin/Statuses/Form.vue +114 -0
  160. package/src/pages/Admin/Statuses/Index.vue +153 -0
  161. package/src/pages/Admin/Tags/Index.vue +121 -35
  162. package/src/pages/Admin/Tickets/Index.vue +96 -9
  163. package/src/pages/Admin/Tickets/Show.vue +130 -37
  164. package/src/pages/Admin/Webhooks/DeliveryLog.vue +120 -0
  165. package/src/pages/Admin/Webhooks/Form.vue +110 -0
  166. package/src/pages/Admin/Webhooks/Index.vue +136 -0
  167. package/src/pages/Admin/Workflows/Builder.vue +207 -0
  168. package/src/pages/Admin/Workflows/Index.vue +235 -0
  169. package/src/pages/Admin/Workflows/Logs.vue +286 -0
  170. package/src/pages/Agent/Dashboard.vue +311 -186
  171. package/src/pages/Agent/TicketIndex.vue +80 -6
  172. package/src/pages/Agent/TicketShow.vue +399 -60
  173. package/src/pages/Customer/Create.vue +37 -10
  174. package/src/pages/Customer/Index.vue +9 -2
  175. package/src/pages/Customer/KnowledgeBase/Article.vue +129 -0
  176. package/src/pages/Customer/KnowledgeBase/Index.vue +151 -0
  177. package/src/pages/Customer/Show.vue +69 -63
  178. package/src/pages/Guest/Create.vue +40 -15
  179. package/src/pages/Guest/Show.vue +124 -93
  180. package/src/plugin.js +111 -1
  181. package/src/utils/constants.js +30 -0
  182. package/src/utils/formatting.js +35 -0
  183. package/src/utils/mentionHighlight.js +24 -0
  184. package/src/utils/sanitizeHtml.js +78 -64
  185. package/src/widget/EscalatedWidget.vue +804 -0
  186. package/src/widget/index.js +254 -0
  187. package/src/pages/Admin/Plugins.vue +0 -129
@@ -1,442 +1,691 @@
1
1
  {
2
- "nav": {
3
- "admin": "Administración",
4
- "admin_badge": "ADMIN",
5
- "agent_panel": "Panel de Agente",
6
- "back_to_app": "Volver a la App",
7
- "my_tickets": "Mis Tickets",
8
- "dashboard": "Panel",
9
- "tickets": "Tickets",
10
- "reports": "Informes",
11
- "departments": "Departamentos",
12
- "sla_policies": "Políticas de SLA",
13
- "escalation_rules": "Reglas de Escalamiento",
14
- "tags": "Etiquetas",
15
- "canned_responses": "Respuestas Predefinidas",
16
- "macros": "Macros",
17
- "api_tokens": "Tokens de API",
18
- "plugins": "Plugins",
19
- "settings": "Configuración"
20
- },
21
- "status": {
22
- "open": "Abierto",
23
- "in_progress": "En Progreso",
24
- "waiting_on_customer": "Esperando al Cliente",
25
- "waiting_on_agent": "Esperando al Agente",
26
- "escalated": "Escalado",
27
- "resolved": "Resuelto",
28
- "closed": "Cerrado",
29
- "reopened": "Reabierto"
30
- },
31
- "priority": {
32
- "low": "Baja",
33
- "medium": "Media",
34
- "high": "Alta",
35
- "urgent": "Urgente",
36
- "critical": "Crítica"
37
- },
38
- "activity": {
39
- "status_changed": "cambió el estado",
40
- "assigned": "asignó el ticket",
41
- "unassigned": "desasignó el ticket",
42
- "priority_changed": "cambió la prioridad",
43
- "tag_added": "agregó etiqueta",
44
- "tag_removed": "eliminó etiqueta",
45
- "escalated": "escaló el ticket",
46
- "sla_breached": "SLA incumplido",
47
- "replied": "respondió",
48
- "note_added": "agregó nota",
49
- "department_changed": "cambió el departamento",
50
- "reopened": "reabrió el ticket",
51
- "resolved": "resolvió el ticket",
52
- "closed": "cerró el ticket",
53
- "system": "Sistema",
54
- "no_activity": "No hay actividad aún.",
55
- "to": "a",
56
- "assigned_to": "asignado a"
57
- },
58
- "ticket": {
59
- "reference": "Referencia",
60
- "subject": "Asunto",
61
- "requester": "Solicitante",
62
- "status": "Estado",
63
- "priority": "Prioridad",
64
- "assignee": "Asignado",
65
- "last_reply": "Última Respuesta",
66
- "unknown": "Desconocido",
67
- "unassigned": "Sin Asignar",
68
- "no_tickets": "No se encontraron tickets.",
69
- "details": "Detalles",
70
- "department": "Departamento",
71
- "created": "Creado",
72
- "activity": "Actividad",
73
- "conversation": "Conversación",
74
- "by": "por",
75
- "assign_to_me": "Asignarme",
76
- "close_ticket": "Cerrar Ticket",
77
- "reopen": "Reabrir",
78
- "all_tickets": "Todos los Tickets",
79
- "ticket_queue": "Cola de Tickets",
80
- "my_tickets": "Mis Tickets",
81
- "new_ticket": "Nuevo Ticket",
82
- "create_ticket": "Crear Ticket",
83
- "submit_ticket": "Enviar Ticket",
84
- "no_replies": "No hay respuestas aún.",
85
- "ticket_closed_no_replies": "Este ticket está cerrado. No se pueden agregar más respuestas."
86
- },
87
- "bulk": {
88
- "tickets_selected": ":count ticket(s) seleccionado(s)",
89
- "status_placeholder": "Estado...",
90
- "priority_placeholder": "Prioridad...",
91
- "assign_placeholder": "Asignar a...",
92
- "department_placeholder": "Departamento...",
93
- "delete": "Eliminar",
94
- "deselect_all": "Deseleccionar Todo"
95
- },
96
- "filter": {
97
- "search_tickets": "Buscar tickets...",
98
- "all_statuses": "Todos los Estados",
99
- "all_priorities": "Todas las Prioridades",
100
- "all_agents": "Todos los Agentes",
101
- "all_departments": "Todos los Departamentos",
102
- "following": "Siguiendo"
103
- },
104
- "quick_filter": {
105
- "my_tickets": "Mis Tickets",
106
- "unassigned": "Sin Asignar",
107
- "urgent_plus": "Urgente+",
108
- "sla_breaching": "SLA en Riesgo",
109
- "following": "Siguiendo"
110
- },
111
- "reply": {
112
- "reply": "Responder",
113
- "internal_note": "Nota Interna",
114
- "note_visibility": "Esta nota solo es visible para los agentes.",
115
- "placeholder": "Escribe tu respuesta...",
116
- "canned_responses": "Respuestas predefinidas...",
117
- "add_note": "Agregar Nota",
118
- "send_reply": "Enviar Respuesta",
119
- "pinned": "Fijado",
120
- "unpin": "Desfijar",
121
- "pin": "Fijar",
122
- "write_internal_note": "Escribe una nota interna..."
123
- },
124
- "rating": {
125
- "customer_rating": "Valoración del Cliente",
126
- "how_was_experience": "¿Cómo fue tu experiencia?",
127
- "terrible": "Terrible",
128
- "poor": "Mala",
129
- "okay": "Aceptable",
130
- "good": "Buena",
131
- "excellent": "Excelente",
132
- "feedback_placeholder": "¿Algún comentario adicional? (opcional)",
133
- "thank_you": "¡Gracias por tu valoración!",
134
- "submit_rating": "Enviar Valoración",
135
- "customer_satisfaction": "Satisfacción del Cliente"
136
- },
137
- "keyboard": {
138
- "title": "Atajos de Teclado",
139
- "list_view": "Vista de Lista",
140
- "detail_view": "Vista de Detalle",
141
- "global": "Global",
142
- "move_down": "Mover abajo",
143
- "move_up": "Mover arriba",
144
- "toggle_select": "Alternar selección",
145
- "open_ticket": "Abrir ticket",
146
- "reply": "Responder",
147
- "internal_note": "Nota interna",
148
- "change_status": "Cambiar estado",
149
- "change_priority": "Cambiar prioridad",
150
- "follow_unfollow": "Seguir/dejar de seguir",
151
- "show_help": "Mostrar esta ayuda",
152
- "esc_to_close": "Presiona Esc para cerrar"
153
- },
154
- "sla": {
155
- "overdue": "Vencido",
156
- "breached": "SLA Incumplido",
157
- "first_response": "Primera Respuesta",
158
- "resolution": "Resolución"
159
- },
160
- "follow": {
161
- "following": "Siguiendo",
162
- "follow": "Seguir"
163
- },
164
- "file": {
165
- "drop_or_browse": "Arrastra archivos aquí o :link",
166
- "browse": "explora"
167
- },
168
- "macro": {
169
- "apply_macro": "Aplicar Macro",
170
- "macros": "Macros",
171
- "no_macros": "No hay macros disponibles"
172
- },
173
- "form": {
174
- "name": "Nombre",
175
- "description": "Descripción",
176
- "slug": "Slug",
177
- "auto_generated": "Se genera automáticamente si está vacío",
178
- "active": "Activo",
179
- "update": "Actualizar",
180
- "create": "Crear",
181
- "save": "Guardar",
182
- "cancel": "Cancelar",
183
- "edit": "Editar",
184
- "delete": "Eliminar",
185
- "actions": "Acciones",
186
- "order": "Orden",
187
- "value": "Valor",
188
- "yes": "Sí",
189
- "no": "No",
190
- "confirm": "Confirmar",
191
- "none": "Ninguno",
192
- "general": "General",
193
- "shared": "Compartido",
194
- "private": "Privado",
195
- "color": "Color",
196
- "title": "Título",
197
- "copy": "Copiar",
198
- "dismiss": "Descartar",
199
- "saved": "Guardado.",
200
- "saving": "Guardando...",
201
- "creating": "Creando...",
202
- "submitting": "Enviando...",
203
- "sending": "Enviando...",
204
- "uploading": "Subiendo...",
205
- "copied": "¡Copiado!",
206
- "subject": "Asunto",
207
- "priority": "Prioridad",
208
- "department": "Departamento",
209
- "attachments": "Adjuntos"
210
- },
211
- "presence": {
212
- "also_viewing": "También viendo: :names"
213
- },
214
- "pinned_notes": {
215
- "title": "Notas Fijadas",
216
- "unpin": "Desfijar"
217
- },
218
- "admin": {
219
- "settings": {
220
- "title": "Configuración",
221
- "general": "General",
222
- "guest_tickets": "Tickets de Invitados",
223
- "guest_tickets_desc": "Permitir que los visitantes envíen tickets sin iniciar sesión",
224
- "allow_customer_close": "Permitir Cierre por Cliente",
225
- "allow_customer_close_desc": "Permitir que los clientes cierren sus propios tickets",
226
- "auto_close": "Cerrar automáticamente tickets resueltos después de",
227
- "auto_close_desc": "Días después de la resolución antes del cierre automático (0 para desactivar)",
228
- "days": "días",
229
- "limits": "Límites",
230
- "max_attachments": "Máximo de adjuntos por respuesta",
231
- "max_attachment_size": "Tamaño máximo de adjunto",
232
- "tickets": "Tickets",
233
- "reference_prefix": "Prefijo de Referencia",
234
- "reference_prefix_desc": "Prefijo para las referencias de tickets (ej. ESC genera ESC-00001)",
235
- "inbound_email": "Correo Entrante",
236
- "inbound_email_desc": "Permitir crear y responder tickets por correo electrónico",
237
- "email_provider": "Proveedor de Correo",
238
- "email_provider_desc": "Cómo se reciben los correos entrantes",
239
- "support_email": "Dirección de Correo de Soporte",
240
- "support_email_desc": "La dirección de correo a la que los clientes enviarán sus emails (ej. soporte@ejemplo.com)",
241
- "signing_key": "Clave de Firma",
242
- "webhook_url": "URL del Webhook",
243
- "mailgun_webhook_desc": "Configura esta URL en tu panel de Mailgun",
244
- "inbound_token": "Token de Entrada",
245
- "postmark_webhook_desc": "Configura esta URL en la configuración de tu servidor Postmark",
246
- "region": "Región",
247
- "topic_arn": "ARN del Tema",
248
- "ses_webhook_desc": "Configura esta URL como punto de conexión de tu suscripción SNS",
249
- "host": "Host",
250
- "port": "Puerto",
251
- "encryption": "Cifrado",
252
- "username": "Usuario",
253
- "password": "Contraseña",
254
- "mailbox": "Buzón",
255
- "save_settings": "Guardar Configuración"
2
+ "nav": {
3
+ "admin": "Administración",
4
+ "admin_badge": "ADMIN",
5
+ "agent_panel": "Panel de Agente",
6
+ "back_to_app": "Volver a la App",
7
+ "my_tickets": "Mis Tickets",
8
+ "dashboard": "Panel",
9
+ "tickets": "Tickets",
10
+ "reports": "Informes",
11
+ "departments": "Departamentos",
12
+ "sla_policies": "Políticas de SLA",
13
+ "escalation_rules": "Reglas de Escalamiento",
14
+ "tags": "Etiquetas",
15
+ "canned_responses": "Respuestas Predefinidas",
16
+ "macros": "Macros",
17
+ "api_tokens": "Tokens de API",
18
+ "plugins": "Plugins",
19
+ "settings": "Configuración"
256
20
  },
257
- "reports": {
258
- "title": "Informes",
259
- "last_days": "Últimos :count días",
260
- "total_tickets": "Total de Tickets",
261
- "resolved": "Resueltos",
262
- "avg_first_response": "Tiempo Promedio de Primera Respuesta",
263
- "sla_breaches": "Incumplimientos de SLA",
264
- "by_status": "Por Estado",
265
- "by_priority": "Por Prioridad",
266
- "no_data": "No hay datos de tickets para este período",
267
- "no_ratings": "No hay valoraciones para este período",
268
- "ratings_count": "(:count valoraciones)"
21
+ "status": {
22
+ "open": "Abierto",
23
+ "in_progress": "En Progreso",
24
+ "waiting_on_customer": "Esperando al Cliente",
25
+ "waiting_on_agent": "Esperando al Agente",
26
+ "escalated": "Escalado",
27
+ "resolved": "Resuelto",
28
+ "closed": "Cerrado",
29
+ "reopened": "Reabierto"
269
30
  },
270
- "departments": {
271
- "title": "Departamentos",
272
- "add": "Agregar Departamento",
273
- "edit_title": "Editar Departamento",
274
- "new_title": "Nuevo Departamento",
275
- "tickets": "Tickets",
276
- "agents": "Agentes",
277
- "no_departments": "No hay departamentos aún",
278
- "no_departments_desc": "Crea tu primer departamento para organizar los tickets",
279
- "confirm_delete": "¿Eliminar este departamento?"
31
+ "priority": {
32
+ "low": "Baja",
33
+ "medium": "Media",
34
+ "high": "Alta",
35
+ "urgent": "Urgente",
36
+ "critical": "Crítica"
280
37
  },
281
- "sla_policies": {
282
- "title": "Políticas de SLA",
283
- "add": "Agregar Política",
284
- "edit_title": "Editar Política de SLA",
285
- "new_title": "Nueva Política de SLA",
286
- "default": "Predeterminada",
287
- "business_hours": "Horario Laboral",
288
- "business_hours_only": "Solo horario laboral",
289
- "default_policy": "Política predeterminada",
290
- "first_response_hours": "Horas de Primera Respuesta (por prioridad)",
291
- "resolution_hours": "Horas de Resolución (por prioridad)",
292
- "no_policies": "No hay políticas de SLA aún",
293
- "no_policies_desc": "Define objetivos de tiempo de respuesta y resolución",
294
- "confirm_delete": "¿Eliminar esta política de SLA?"
38
+ "activity": {
39
+ "status_changed": "cambió el estado",
40
+ "assigned": "asignó el ticket",
41
+ "unassigned": "desasignó el ticket",
42
+ "priority_changed": "cambió la prioridad",
43
+ "tag_added": "agregó etiqueta",
44
+ "tag_removed": "eliminó etiqueta",
45
+ "escalated": "escaló el ticket",
46
+ "sla_breached": "SLA incumplido",
47
+ "replied": "respondió",
48
+ "note_added": "agregó nota",
49
+ "department_changed": "cambió el departamento",
50
+ "reopened": "reabrió el ticket",
51
+ "resolved": "resolvió el ticket",
52
+ "closed": "cerró el ticket",
53
+ "system": "Sistema",
54
+ "no_activity": "No hay actividad aún.",
55
+ "to": "a",
56
+ "assigned_to": "asignado a"
295
57
  },
296
- "escalation_rules": {
297
- "title": "Reglas de Escalamiento",
298
- "add": "Agregar Regla",
299
- "edit_title": "Editar Regla de Escalamiento",
300
- "new_title": "Nueva Regla de Escalamiento",
301
- "trigger": "Disparador",
302
- "trigger_type": "Tipo de Disparador",
303
- "time_based": "Basado en Tiempo",
304
- "sla_breach": "Incumplimiento de SLA",
305
- "priority_based": "Basado en Prioridad",
306
- "conditions": "Condiciones",
307
- "add_short": "+ Agregar",
308
- "status": "Estado",
309
- "priority": "Prioridad",
310
- "assignment": "Asignación",
311
- "age_hours": "Antigüedad (horas)",
312
- "no_response_hours": "Sin Respuesta (horas)",
313
- "sla_breached": "SLA Incumplido",
314
- "escalate": "Escalar",
315
- "change_priority": "Cambiar Prioridad",
316
- "assign_to": "Asignar A",
317
- "change_department": "Cambiar Departamento",
318
- "no_rules": "No hay reglas de escalamiento aún",
319
- "no_rules_desc": "Configura el escalamiento automático para tickets vencidos",
320
- "confirm_delete": "¿Eliminar esta regla de escalamiento?"
58
+ "ticket": {
59
+ "reference": "Referencia",
60
+ "subject": "Asunto",
61
+ "requester": "Solicitante",
62
+ "status": "Estado",
63
+ "priority": "Prioridad",
64
+ "assignee": "Asignado",
65
+ "last_reply": "Última Respuesta",
66
+ "unknown": "Desconocido",
67
+ "unassigned": "Sin Asignar",
68
+ "no_tickets": "No se encontraron tickets.",
69
+ "details": "Detalles",
70
+ "department": "Departamento",
71
+ "created": "Creado",
72
+ "activity": "Actividad",
73
+ "conversation": "Conversación",
74
+ "by": "por",
75
+ "assign_to_me": "Asignarme",
76
+ "close_ticket": "Cerrar Ticket",
77
+ "reopen": "Reabrir",
78
+ "all_tickets": "Todos los Tickets",
79
+ "ticket_queue": "Cola de Tickets",
80
+ "my_tickets": "Mis Tickets",
81
+ "new_ticket": "Nuevo Ticket",
82
+ "create_ticket": "Crear Ticket",
83
+ "submit_ticket": "Enviar Ticket",
84
+ "no_replies": "No hay respuestas aún.",
85
+ "ticket_closed_no_replies": "Este ticket está cerrado. No se pueden agregar más respuestas."
321
86
  },
322
- "canned_responses": {
323
- "title": "Respuestas Predefinidas",
324
- "add": "Agregar Respuesta",
325
- "title_placeholder": "Título",
326
- "body_placeholder": "Cuerpo de la respuesta...",
327
- "category_placeholder": "Categoría (opcional)",
328
- "no_responses": "No hay respuestas predefinidas aún",
329
- "no_responses_desc": "Crea plantillas reutilizables para respuestas comunes",
330
- "confirm_delete": "¿Eliminar esta respuesta predefinida?"
87
+ "bulk": {
88
+ "tickets_selected": ":count ticket(s) seleccionado(s)",
89
+ "status_placeholder": "Estado...",
90
+ "priority_placeholder": "Prioridad...",
91
+ "assign_placeholder": "Asignar a...",
92
+ "department_placeholder": "Departamento...",
93
+ "delete": "Eliminar",
94
+ "deselect_all": "Deseleccionar Todo"
331
95
  },
332
- "tags": {
333
- "title": "Etiquetas",
334
- "add": "Agregar Etiqueta",
335
- "no_tags": "No hay etiquetas aún",
336
- "no_tags_desc": "Crea etiquetas para categorizar y filtrar tickets",
337
- "confirm_delete": "¿Eliminar esta etiqueta?"
96
+ "filter": {
97
+ "search_tickets": "Buscar tickets...",
98
+ "all_statuses": "Todos los Estados",
99
+ "all_priorities": "Todas las Prioridades",
100
+ "all_agents": "Todos los Agentes",
101
+ "all_departments": "Todos los Departamentos",
102
+ "following": "Siguiendo"
338
103
  },
339
- "macros": {
340
- "title": "Macros",
341
- "subtitle": "Las macros automatizan acciones repetitivas en los tickets.",
342
- "create_macro": "Crear Macro",
343
- "update_macro": "Actualizar Macro",
344
- "shared_label": "Compartida con todos los agentes",
345
- "add_action": "+ Agregar Acción",
346
- "no_actions": "No hay acciones aún. Agrega acciones para definir lo que hace esta macro.",
347
- "set_status": "Establecer Estado",
348
- "set_priority": "Establecer Prioridad",
349
- "assign_to": "Asignar A",
350
- "add_tags": "Agregar Etiquetas",
351
- "move_to_department": "Mover a Departamento",
352
- "send_reply": "Enviar Respuesta",
353
- "add_internal_note": "Agregar Nota Interna",
354
- "select_status": "Seleccionar estado...",
355
- "select_priority": "Seleccionar prioridad...",
356
- "agent_placeholder": "ID o correo del agente",
357
- "tags_placeholder": "Nombres de etiquetas separados por comas",
358
- "department_placeholder": "ID o nombre del departamento",
359
- "reply_placeholder": "Mensaje de respuesta...",
360
- "note_placeholder": "Contenido de la nota...",
361
- "no_macros": "No hay macros aún",
362
- "no_macros_desc": "Crea macros para automatizar acciones repetitivas en tickets",
363
- "creator": "Creador",
364
- "confirm_delete": "¿Eliminar esta macro? Esta acción no se puede deshacer."
104
+ "quick_filter": {
105
+ "my_tickets": "Mis Tickets",
106
+ "unassigned": "Sin Asignar",
107
+ "urgent_plus": "Urgente+",
108
+ "sla_breaching": "SLA en Riesgo",
109
+ "following": "Siguiendo"
365
110
  },
366
- "api_tokens": {
367
- "title": "Tokens de API",
368
- "subtitle": "Administra tokens de API para aplicaciones de escritorio e integraciones externas.",
369
- "create_token": "Crear Token",
370
- "api_disabled": "La API REST está actualmente deshabilitada. Configura ESCALATED_API_ENABLED=true en tu archivo .env para habilitarla.",
371
- "token_created": "¡Token creado! Cópialo ahora, no se mostrará de nuevo.",
372
- "new_token": "Nuevo Token de API",
373
- "token_name": "Nombre del Token",
374
- "token_name_placeholder": "ej. App de Escritorio - Portátil del Trabajo",
375
- "user": "Usuario",
376
- "select_user": "Seleccionar usuario...",
377
- "abilities": "Permisos",
378
- "expires_in": "Expira En (días)",
379
- "no_expiration": "Dejar vacío para que no expire",
380
- "last_used": "Último Uso",
381
- "expires": "Expira",
382
- "never": "Nunca",
383
- "expired": "Expirado",
384
- "revoke": "Revocar",
385
- "no_tokens": "No se han creado tokens de API aún.",
386
- "confirm_revoke": "¿Estás seguro de que deseas revocar este token? Esta acción no se puede deshacer."
111
+ "reply": {
112
+ "reply": "Responder",
113
+ "internal_note": "Nota Interna",
114
+ "note_visibility": "Esta nota solo es visible para los agentes.",
115
+ "placeholder": "Escribe tu respuesta...",
116
+ "canned_responses": "Respuestas predefinidas...",
117
+ "add_note": "Agregar Nota",
118
+ "send_reply": "Enviar Respuesta",
119
+ "pinned": "Fijado",
120
+ "unpin": "Desfijar",
121
+ "pin": "Fijar",
122
+ "write_internal_note": "Escribe una nota interna..."
387
123
  },
388
- "plugins": {
389
- "title": "Plugins",
390
- "upload": "Subir Plugin",
391
- "plugin_zip": "Archivo ZIP del Plugin",
392
- "installed": "Plugins Instalados",
393
- "no_plugins": "No hay plugins instalados",
394
- "no_plugins_alt": "No hay plugins instalados aún.",
395
- "no_plugins_desc": "Sube un archivo ZIP de plugin para extender Escalated con funcionalidad personalizada.",
396
- "active": "Activo",
397
- "inactive": "Inactivo",
398
- "installed_date": "Instalado :date",
399
- "menu_items": ":count elemento(s) de menú",
400
- "widgets": ":count widget(s)",
401
- "page_components": ":count componente(s) de página",
402
- "confirm_delete": "¿Estás seguro de que deseas eliminar este plugin? Esta acción no se puede deshacer."
124
+ "rating": {
125
+ "customer_rating": "Valoración del Cliente",
126
+ "how_was_experience": "¿Cómo fue tu experiencia?",
127
+ "terrible": "Terrible",
128
+ "poor": "Mala",
129
+ "okay": "Aceptable",
130
+ "good": "Buena",
131
+ "excellent": "Excelente",
132
+ "feedback_placeholder": "¿Algún comentario adicional? (opcional)",
133
+ "thank_you": "¡Gracias por tu valoración!",
134
+ "submit_rating": "Enviar Valoración",
135
+ "customer_satisfaction": "Satisfacción del Cliente"
136
+ },
137
+ "keyboard": {
138
+ "title": "Atajos de Teclado",
139
+ "list_view": "Vista de Lista",
140
+ "detail_view": "Vista de Detalle",
141
+ "global": "Global",
142
+ "move_down": "Mover abajo",
143
+ "move_up": "Mover arriba",
144
+ "toggle_select": "Alternar selección",
145
+ "open_ticket": "Abrir ticket",
146
+ "reply": "Responder",
147
+ "internal_note": "Nota interna",
148
+ "change_status": "Cambiar estado",
149
+ "change_priority": "Cambiar prioridad",
150
+ "follow_unfollow": "Seguir/dejar de seguir",
151
+ "show_help": "Mostrar esta ayuda",
152
+ "esc_to_close": "Presiona Esc para cerrar"
153
+ },
154
+ "sla": {
155
+ "overdue": "Vencido",
156
+ "breached": "SLA Incumplido",
157
+ "first_response": "Primera Respuesta",
158
+ "resolution": "Resolución"
159
+ },
160
+ "follow": {
161
+ "following": "Siguiendo",
162
+ "follow": "Seguir"
163
+ },
164
+ "file": {
165
+ "drop_or_browse": "Arrastra archivos aquí o :link",
166
+ "browse": "explora"
167
+ },
168
+ "macro": {
169
+ "apply_macro": "Aplicar Macro",
170
+ "macros": "Macros",
171
+ "no_macros": "No hay macros disponibles"
172
+ },
173
+ "form": {
174
+ "name": "Nombre",
175
+ "description": "Descripción",
176
+ "slug": "Slug",
177
+ "auto_generated": "Se genera automáticamente si está vacío",
178
+ "active": "Activo",
179
+ "update": "Actualizar",
180
+ "create": "Crear",
181
+ "save": "Guardar",
182
+ "cancel": "Cancelar",
183
+ "edit": "Editar",
184
+ "delete": "Eliminar",
185
+ "actions": "Acciones",
186
+ "order": "Orden",
187
+ "value": "Valor",
188
+ "yes": "Sí",
189
+ "no": "No",
190
+ "confirm": "Confirmar",
191
+ "none": "Ninguno",
192
+ "general": "General",
193
+ "shared": "Compartido",
194
+ "private": "Privado",
195
+ "color": "Color",
196
+ "title": "Título",
197
+ "copy": "Copiar",
198
+ "dismiss": "Descartar",
199
+ "saved": "Guardado.",
200
+ "saving": "Guardando...",
201
+ "creating": "Creando...",
202
+ "submitting": "Enviando...",
203
+ "sending": "Enviando...",
204
+ "uploading": "Subiendo...",
205
+ "copied": "¡Copiado!",
206
+ "subject": "Asunto",
207
+ "priority": "Prioridad",
208
+ "department": "Departamento",
209
+ "attachments": "Adjuntos"
210
+ },
211
+ "presence": {
212
+ "also_viewing": "También viendo: :names"
213
+ },
214
+ "pinned_notes": {
215
+ "title": "Notas Fijadas",
216
+ "unpin": "Desfijar"
217
+ },
218
+ "admin": {
219
+ "settings": {
220
+ "title": "Configuración",
221
+ "general": "General",
222
+ "guest_tickets": "Tickets de Invitados",
223
+ "guest_tickets_desc": "Permitir que los visitantes envíen tickets sin iniciar sesión",
224
+ "allow_customer_close": "Permitir Cierre por Cliente",
225
+ "allow_customer_close_desc": "Permitir que los clientes cierren sus propios tickets",
226
+ "auto_close": "Cerrar automáticamente tickets resueltos después de",
227
+ "auto_close_desc": "Días después de la resolución antes del cierre automático (0 para desactivar)",
228
+ "days": "días",
229
+ "limits": "Límites",
230
+ "max_attachments": "Máximo de adjuntos por respuesta",
231
+ "max_attachment_size": "Tamaño máximo de adjunto",
232
+ "tickets": "Tickets",
233
+ "reference_prefix": "Prefijo de Referencia",
234
+ "reference_prefix_desc": "Prefijo para las referencias de tickets (ej. ESC genera ESC-00001)",
235
+ "inbound_email": "Correo Entrante",
236
+ "inbound_email_desc": "Permitir crear y responder tickets por correo electrónico",
237
+ "email_provider": "Proveedor de Correo",
238
+ "email_provider_desc": "Cómo se reciben los correos entrantes",
239
+ "support_email": "Dirección de Correo de Soporte",
240
+ "support_email_desc": "La dirección de correo a la que los clientes enviarán sus emails (ej. soporte@ejemplo.com)",
241
+ "signing_key": "Clave de Firma",
242
+ "webhook_url": "URL del Webhook",
243
+ "mailgun_webhook_desc": "Configura esta URL en tu panel de Mailgun",
244
+ "inbound_token": "Token de Entrada",
245
+ "postmark_webhook_desc": "Configura esta URL en la configuración de tu servidor Postmark",
246
+ "region": "Región",
247
+ "topic_arn": "ARN del Tema",
248
+ "ses_webhook_desc": "Configura esta URL como punto de conexión de tu suscripción SNS",
249
+ "host": "Host",
250
+ "port": "Puerto",
251
+ "encryption": "Cifrado",
252
+ "username": "Usuario",
253
+ "password": "Contraseña",
254
+ "mailbox": "Buzón",
255
+ "save_settings": "Guardar Configuración"
256
+ },
257
+ "reports": {
258
+ "title": "Informes",
259
+ "last_days": "Últimos :count días",
260
+ "total_tickets": "Total de Tickets",
261
+ "resolved": "Resueltos",
262
+ "avg_first_response": "Tiempo Promedio de Primera Respuesta",
263
+ "sla_breaches": "Incumplimientos de SLA",
264
+ "by_status": "Por Estado",
265
+ "by_priority": "Por Prioridad",
266
+ "no_data": "No hay datos de tickets para este período",
267
+ "no_ratings": "No hay valoraciones para este período",
268
+ "ratings_count": "(:count valoraciones)",
269
+ "advanced_reports": "Informes Avanzados",
270
+ "sla_trends": "Tendencias de Incumplimiento SLA",
271
+ "response_times": "Análisis de Tiempo de Primera Respuesta",
272
+ "resolution_times": "Análisis de Tiempo de Resolución",
273
+ "agent_ranking": "Ranking de Rendimiento de Agentes",
274
+ "agent_detail": "Detalle del Agente",
275
+ "cohorts": "Análisis de Cohortes",
276
+ "comparison": "Comparación de Períodos",
277
+ "overview": "Resumen",
278
+ "agents": "Agentes",
279
+ "sla": "SLA",
280
+ "csat": "CSAT",
281
+ "export": "Exportar",
282
+ "export_csv": "Exportar como CSV",
283
+ "export_json": "Exportar como JSON",
284
+ "period_custom": "Personalizado",
285
+ "period_apply": "Aplicar",
286
+ "period_start": "Inicio",
287
+ "period_end": "Fin",
288
+ "total_breaches": "Total de Incumplimientos",
289
+ "breach_rate": "Tasa de Incumplimiento",
290
+ "frt_breaches": "Incumplimientos de Primera Respuesta",
291
+ "resolution_breaches_label": "Incumplimientos de Resolución",
292
+ "breach_count_over_time": "Incumplimientos en el Tiempo",
293
+ "frt_vs_resolution": "Primera Respuesta vs Resolución",
294
+ "breach_by_department": "Tasa por Departamento",
295
+ "breach_by_priority": "Tasa por Prioridad",
296
+ "at_risk": "En Riesgo - Próximo Incumplimiento SLA",
297
+ "critical": "Crítico",
298
+ "warning": "Advertencia",
299
+ "watch": "Vigilancia",
300
+ "hours_remaining": ":count h restantes",
301
+ "no_at_risk": "No hay tickets en riesgo de incumplimiento SLA.",
302
+ "no_at_risk": "No hay tickets en riesgo.",
303
+ "avg_frt": "Promedio de Primera Respuesta",
304
+ "median_frt": "Mediana de Primera Respuesta",
305
+ "p90_frt": "P90 Primera Respuesta",
306
+ "under_target": "Bajo Objetivo",
307
+ "frt_distribution": "Distribución de Primera Respuesta",
308
+ "avg_frt_trend": "Tendencia Promedio de Primera Respuesta",
309
+ "frt_by_department": "Primera Respuesta por Departamento",
310
+ "frt_by_priority": "Primera Respuesta por Prioridad",
311
+ "frt_by_agent": "Primera Respuesta por Agente",
312
+ "avg_resolution": "Promedio de Resolución",
313
+ "median_resolution": "Mediana de Resolución",
314
+ "p90_resolution": "P90 Resolución",
315
+ "resolution_distribution": "Distribución de Tiempo de Resolución",
316
+ "resolution_trend": "Tendencia Promedio de Resolución",
317
+ "resolution_by_department": "Resolución por Departamento",
318
+ "resolution_by_channel": "Resolución por Canal",
319
+ "resolution_by_agent": "Resolución por Agente",
320
+ "composite_score": "Puntuación",
321
+ "resolution_rate": "Tasa de Resolución %",
322
+ "volume": "Volumen",
323
+ "trend": "Tendencia",
324
+ "top_performers": "Mejores Rendimientos",
325
+ "needs_attention": "Necesita Atención",
326
+ "back_to_rankings": "Volver al Ranking",
327
+ "response_percentiles": "Percentiles de Tiempo de Respuesta",
328
+ "productivity": "Productividad (Respuestas y Resoluciones por Día)",
329
+ "productivity": "Productividad",
330
+ "workload_over_time": "Carga de Trabajo en el Tiempo",
331
+ "csat_breakdown": "Desglose de CSAT",
332
+ "by_tag": "Por Etiqueta",
333
+ "by_department": "Por Departamento",
334
+ "by_channel": "Por Canal",
335
+ "by_type": "Por Tipo",
336
+ "no_cohort_data": "No hay datos para este tipo de cohorte.",
337
+ "current_period": "Período Actual",
338
+ "previous_period": "Período Anterior",
339
+ "vs_previous": "vs período anterior",
340
+ "pct_change": "% de cambio",
341
+ "sla_compliance": "Cumplimiento SLA",
342
+ "no_agent_data": "No hay datos de agentes para este período.",
343
+ "avg": "Prom",
344
+ "median": "Mediana",
345
+ "agent": "Agente",
346
+ "back": "Volver"
347
+ },
348
+ "departments": {
349
+ "title": "Departamentos",
350
+ "add": "Agregar Departamento",
351
+ "edit_title": "Editar Departamento",
352
+ "new_title": "Nuevo Departamento",
353
+ "tickets": "Tickets",
354
+ "agents": "Agentes",
355
+ "no_departments": "No hay departamentos aún",
356
+ "no_departments_desc": "Crea tu primer departamento para organizar los tickets",
357
+ "confirm_delete": "¿Eliminar este departamento?"
358
+ },
359
+ "sla_policies": {
360
+ "title": "Políticas de SLA",
361
+ "add": "Agregar Política",
362
+ "edit_title": "Editar Política de SLA",
363
+ "new_title": "Nueva Política de SLA",
364
+ "default": "Predeterminada",
365
+ "business_hours": "Horario Laboral",
366
+ "business_hours_only": "Solo horario laboral",
367
+ "default_policy": "Política predeterminada",
368
+ "first_response_hours": "Horas de Primera Respuesta (por prioridad)",
369
+ "resolution_hours": "Horas de Resolución (por prioridad)",
370
+ "no_policies": "No hay políticas de SLA aún",
371
+ "no_policies_desc": "Define objetivos de tiempo de respuesta y resolución",
372
+ "confirm_delete": "¿Eliminar esta política de SLA?"
373
+ },
374
+ "escalation_rules": {
375
+ "title": "Reglas de Escalamiento",
376
+ "add": "Agregar Regla",
377
+ "edit_title": "Editar Regla de Escalamiento",
378
+ "new_title": "Nueva Regla de Escalamiento",
379
+ "trigger": "Disparador",
380
+ "trigger_type": "Tipo de Disparador",
381
+ "time_based": "Basado en Tiempo",
382
+ "sla_breach": "Incumplimiento de SLA",
383
+ "priority_based": "Basado en Prioridad",
384
+ "conditions": "Condiciones",
385
+ "add_short": "+ Agregar",
386
+ "status": "Estado",
387
+ "priority": "Prioridad",
388
+ "assignment": "Asignación",
389
+ "age_hours": "Antigüedad (horas)",
390
+ "no_response_hours": "Sin Respuesta (horas)",
391
+ "sla_breached": "SLA Incumplido",
392
+ "escalate": "Escalar",
393
+ "change_priority": "Cambiar Prioridad",
394
+ "assign_to": "Asignar A",
395
+ "change_department": "Cambiar Departamento",
396
+ "no_rules": "No hay reglas de escalamiento aún",
397
+ "no_rules_desc": "Configura el escalamiento automático para tickets vencidos",
398
+ "confirm_delete": "¿Eliminar esta regla de escalamiento?"
399
+ },
400
+ "canned_responses": {
401
+ "title": "Respuestas Predefinidas",
402
+ "add": "Agregar Respuesta",
403
+ "title_placeholder": "Título",
404
+ "body_placeholder": "Cuerpo de la respuesta...",
405
+ "category_placeholder": "Categoría (opcional)",
406
+ "no_responses": "No hay respuestas predefinidas aún",
407
+ "no_responses_desc": "Crea plantillas reutilizables para respuestas comunes",
408
+ "confirm_delete": "¿Eliminar esta respuesta predefinida?"
409
+ },
410
+ "tags": {
411
+ "title": "Etiquetas",
412
+ "add": "Agregar Etiqueta",
413
+ "no_tags": "No hay etiquetas aún",
414
+ "no_tags_desc": "Crea etiquetas para categorizar y filtrar tickets",
415
+ "confirm_delete": "¿Eliminar esta etiqueta?"
416
+ },
417
+ "macros": {
418
+ "title": "Macros",
419
+ "subtitle": "Las macros automatizan acciones repetitivas en los tickets.",
420
+ "create_macro": "Crear Macro",
421
+ "update_macro": "Actualizar Macro",
422
+ "shared_label": "Compartida con todos los agentes",
423
+ "add_action": "+ Agregar Acción",
424
+ "no_actions": "No hay acciones aún. Agrega acciones para definir lo que hace esta macro.",
425
+ "set_status": "Establecer Estado",
426
+ "set_priority": "Establecer Prioridad",
427
+ "assign_to": "Asignar A",
428
+ "add_tags": "Agregar Etiquetas",
429
+ "move_to_department": "Mover a Departamento",
430
+ "send_reply": "Enviar Respuesta",
431
+ "add_internal_note": "Agregar Nota Interna",
432
+ "select_status": "Seleccionar estado...",
433
+ "select_priority": "Seleccionar prioridad...",
434
+ "agent_placeholder": "ID o correo del agente",
435
+ "tags_placeholder": "Nombres de etiquetas separados por comas",
436
+ "department_placeholder": "ID o nombre del departamento",
437
+ "reply_placeholder": "Mensaje de respuesta...",
438
+ "note_placeholder": "Contenido de la nota...",
439
+ "no_macros": "No hay macros aún",
440
+ "no_macros_desc": "Crea macros para automatizar acciones repetitivas en tickets",
441
+ "creator": "Creador",
442
+ "confirm_delete": "¿Eliminar esta macro? Esta acción no se puede deshacer."
443
+ },
444
+ "api_tokens": {
445
+ "title": "Tokens de API",
446
+ "subtitle": "Administra tokens de API para aplicaciones de escritorio e integraciones externas.",
447
+ "create_token": "Crear Token",
448
+ "api_disabled": "La API REST está actualmente deshabilitada. Configura ESCALATED_API_ENABLED=true en tu archivo .env para habilitarla.",
449
+ "token_created": "¡Token creado! Cópialo ahora, no se mostrará de nuevo.",
450
+ "new_token": "Nuevo Token de API",
451
+ "token_name": "Nombre del Token",
452
+ "token_name_placeholder": "ej. App de Escritorio - Portátil del Trabajo",
453
+ "user": "Usuario",
454
+ "select_user": "Seleccionar usuario...",
455
+ "abilities": "Permisos",
456
+ "expires_in": "Expira En (días)",
457
+ "no_expiration": "Dejar vacío para que no expire",
458
+ "last_used": "Último Uso",
459
+ "expires": "Expira",
460
+ "never": "Nunca",
461
+ "expired": "Expirado",
462
+ "revoke": "Revocar",
463
+ "no_tokens": "No se han creado tokens de API aún.",
464
+ "confirm_revoke": "¿Estás seguro de que deseas revocar este token? Esta acción no se puede deshacer."
465
+ },
466
+ "plugins": {
467
+ "title": "Plugins",
468
+ "upload": "Subir Plugin",
469
+ "plugin_zip": "Archivo ZIP del Plugin",
470
+ "installed": "Plugins Instalados",
471
+ "no_plugins": "No hay plugins instalados",
472
+ "no_plugins_alt": "No hay plugins instalados aún.",
473
+ "no_plugins_desc": "Sube un archivo ZIP de plugin para extender Escalated con funcionalidad personalizada.",
474
+ "active": "Activo",
475
+ "inactive": "Inactivo",
476
+ "installed_date": "Instalado :date",
477
+ "menu_items": ":count elemento(s) de menú",
478
+ "widgets": ":count widget(s)",
479
+ "page_components": ":count componente(s) de página",
480
+ "confirm_delete": "¿Estás seguro de que deseas eliminar este plugin? Esta acción no se puede deshacer."
481
+ }
482
+ },
483
+ "agent": {
484
+ "dashboard": "Panel del Agente",
485
+ "open_tickets": "Tickets Abiertos",
486
+ "my_assigned": "Mis Asignados",
487
+ "unassigned": "Sin Asignar",
488
+ "sla_breached": "SLA Incumplido",
489
+ "resolved_today": "Resueltos Hoy",
490
+ "needs_attention": "Requiere Atención",
491
+ "sla_breaching": "SLA en Riesgo",
492
+ "unassigned_urgent": "Urgentes Sin Asignar",
493
+ "recent_tickets": "Tickets Recientes",
494
+ "no_recent_tickets": "No hay tickets recientes",
495
+ "my_performance": "Mi Rendimiento",
496
+ "resolved_this_week": "Resueltos Esta Semana"
497
+ },
498
+ "guest": {
499
+ "submit_title": "Enviar un Ticket",
500
+ "submit_heading": "Enviar un Ticket de Soporte",
501
+ "submit_desc": "No necesitas una cuenta. Te daremos un enlace para seguir tu ticket.",
502
+ "sign_in_link": "¿Ya tienes una cuenta? Inicia sesión",
503
+ "your_name": "Tu Nombre",
504
+ "email_address": "Correo Electrónico",
505
+ "bookmark_title": "Guarda esta página en favoritos",
506
+ "bookmark_desc": "Este es tu enlace privado para ver y responder a este ticket.",
507
+ "copy_link": "Copiar Enlace",
508
+ "write_reply": "Escribe tu respuesta..."
509
+ },
510
+ "customer": {
511
+ "replies": "Respuestas",
512
+ "reply": "Responder"
513
+ },
514
+ "chat": {
515
+ "live": "En vivo",
516
+ "chat_with_us": "Chatea con nosotros",
517
+ "start_chat": "Iniciar Chat",
518
+ "end_chat": "Finalizar Chat",
519
+ "end_confirm": "Finalizar este chat?",
520
+ "transfer": "Transferir",
521
+ "typing": ":name esta escribiendo...",
522
+ "chatting_with": "Chateando con :name",
523
+ "no_agents": "No hay agentes disponibles",
524
+ "queue_position": "Estas en la posicion #:position",
525
+ "placeholder": "Escribe un mensaje...",
526
+ "note": "Nota",
527
+ "empty_state": "Chat iniciado — esperando mensajes",
528
+ "new_messages": "Nuevos mensajes",
529
+ "active_chats": "Chats Activos",
530
+ "no_active_chats": "No hay chats activos",
531
+ "open_panel": "Abrir panel de chat",
532
+ "close_panel": "Cerrar panel de chat",
533
+ "no_chats_waiting": "No hay chats en espera",
534
+ "customer": "Cliente",
535
+ "department": "Departamento",
536
+ "first_message": "Primer Mensaje",
537
+ "wait_time": "Tiempo de Espera",
538
+ "accept": "Aceptar",
539
+ "agents": "Agentes",
540
+ "departments": "Departamentos",
541
+ "how_was_experience": "Como fue tu experiencia?",
542
+ "start_new_chat": "Iniciar Nuevo Chat",
543
+ "close": "Cerrar",
544
+ "chat_ended": "Chat Finalizado",
545
+ "thank_you": "Gracias por tu opinion!",
546
+ "submit_rating": "Enviar Calificacion",
547
+ "live_chats": "Chats en Vivo"
548
+ },
549
+ "common": {
550
+ "change_status": "Cambiar Estado...",
551
+ "change_priority": "Cambiar Prioridad...",
552
+ "kb": "KB",
553
+ "upload": "Subir"
554
+ },
555
+ "workflows": {
556
+ "title": "Flujos de trabajo",
557
+ "create": "Crear flujo de trabajo",
558
+ "edit": "Editar flujo de trabajo",
559
+ "delete_confirm": "Eliminar este flujo de trabajo? Esta accion no se puede deshacer.",
560
+ "no_workflows": "Sin flujos de trabajo",
561
+ "no_workflows_desc": "Cree automatizaciones basadas en eventos con condiciones y acciones",
562
+ "name": "Nombre del flujo de trabajo",
563
+ "description": "Descripcion",
564
+ "active": "Activo",
565
+ "save": "Guardar",
566
+ "cancel": "Cancelar",
567
+ "view_logs": "Ver registros",
568
+ "last_triggered": "Ultimo activado",
569
+ "trigger_count": "Ejecuciones",
570
+ "trigger": {
571
+ "title": "Evento desencadenante",
572
+ "description": "Cuando esto sucede...",
573
+ "ticket_created": "Ticket creado",
574
+ "ticket_created_desc": "Cuando se envia un nuevo ticket",
575
+ "ticket_updated": "Ticket actualizado",
576
+ "ticket_updated_desc": "Cuando se modifica un campo del ticket",
577
+ "reply_added": "Respuesta agregada",
578
+ "reply_added_desc": "Cuando se publica una respuesta en un ticket",
579
+ "status_changed": "Estado cambiado",
580
+ "status_changed_desc": "Cuando se actualiza el estado del ticket",
581
+ "ticket_assigned": "Ticket asignado",
582
+ "ticket_assigned_desc": "Cuando se asigna un ticket a un agente",
583
+ "ticket_escalated": "Ticket escalado",
584
+ "ticket_escalated_desc": "Cuando se escala un ticket",
585
+ "sla_breached": "SLA incumplido",
586
+ "sla_breached_desc": "Cuando se incumple un objetivo de SLA",
587
+ "sla_warning": "Advertencia de SLA",
588
+ "sla_warning_desc": "Cuando se acerca un objetivo de SLA",
589
+ "chat_started": "Chat iniciado",
590
+ "chat_started_desc": "Cuando comienza una sesion de chat en vivo",
591
+ "chat_ended": "Chat finalizado",
592
+ "chat_ended_desc": "Cuando termina una sesion de chat en vivo"
593
+ },
594
+ "conditions": {
595
+ "title": "Condiciones",
596
+ "description": "Solo si se cumplen estas condiciones...",
597
+ "optional": "opcional",
598
+ "match_all": "Todas las condiciones (Y)",
599
+ "match_any": "Cualquier condicion (O)",
600
+ "add_condition": "Agregar condicion",
601
+ "preview": "Vista previa",
602
+ "field": {
603
+ "status": "Estado",
604
+ "priority": "Prioridad",
605
+ "type": "Tipo",
606
+ "channel": "Canal",
607
+ "tags": "Etiquetas",
608
+ "department": "Departamento",
609
+ "assigned_agent": "Agente asignado",
610
+ "subject": "Asunto",
611
+ "hours_since_created": "Horas desde creacion",
612
+ "hours_since_updated": "Horas desde actualizacion",
613
+ "reply_count": "Cantidad de respuestas",
614
+ "custom_field": "Campo personalizado"
615
+ },
616
+ "operator": {
617
+ "equals": "igual a",
618
+ "not_equals": "diferente de",
619
+ "contains": "contiene",
620
+ "in": "en",
621
+ "greater_than": "mayor que",
622
+ "less_than": "menor que",
623
+ "is_empty": "esta vacio",
624
+ "matches": "coincide con"
625
+ }
626
+ },
627
+ "actions": {
628
+ "title": "Acciones",
629
+ "description": "Entonces hacer esto...",
630
+ "add_action": "Agregar accion",
631
+ "assign_agent": "Asignar agente",
632
+ "change_status": "Cambiar estado",
633
+ "change_priority": "Cambiar prioridad",
634
+ "add_tag": "Agregar etiqueta",
635
+ "remove_tag": "Eliminar etiqueta",
636
+ "move_department": "Mover departamento",
637
+ "add_note": "Agregar nota interna",
638
+ "send_email": "Enviar notificacion por correo",
639
+ "send_webhook": "Enviar webhook",
640
+ "delay": "Retraso",
641
+ "delay_message": "Esperar {duration} {unit}, luego continuar...",
642
+ "apply_macro": "Aplicar macro",
643
+ "close_ticket": "Cerrar ticket",
644
+ "snooze": "Posponer",
645
+ "specific_agent": "Agente especifico",
646
+ "least_busy": "Agente menos ocupado",
647
+ "round_robin": "Rotacion",
648
+ "not_configured": "No configurado"
649
+ },
650
+ "logs": {
651
+ "title": "Registros de ejecucion de flujos de trabajo",
652
+ "description": "Seguir ejecuciones y depurar problemas",
653
+ "no_logs": "Sin registros de ejecucion",
654
+ "no_logs_desc": "Los registros aparecen cuando se activan los flujos de trabajo",
655
+ "timestamp": "Marca de tiempo",
656
+ "workflow": "Flujo de trabajo",
657
+ "ticket": "Ticket",
658
+ "event": "Evento",
659
+ "matched": "Coincidencia",
660
+ "actions_executed": "Acciones",
661
+ "duration": "Duracion",
662
+ "status": "Estado",
663
+ "success": "Exitoso",
664
+ "failed": "Fallido",
665
+ "skipped": "Omitido",
666
+ "action_details": "Ejecucion accion por accion",
667
+ "all_workflows": "Todos los flujos de trabajo",
668
+ "from": "Desde",
669
+ "to": "Hasta"
670
+ },
671
+ "variables": {
672
+ "insert": "Insertar variable",
673
+ "ticket_reference": "Referencia del ticket",
674
+ "ticket_subject": "Asunto del ticket",
675
+ "ticket_status": "Estado del ticket",
676
+ "agent_name": "Nombre del agente",
677
+ "requester_name": "Nombre del solicitante",
678
+ "requester_email": "Correo del solicitante",
679
+ "department_name": "Nombre del departamento"
680
+ },
681
+ "builder": {
682
+ "step": "Paso",
683
+ "trigger_step": "Paso 1: Evento desencadenante",
684
+ "conditions_step": "Paso 2: Condiciones",
685
+ "actions_step": "Paso 3: Acciones",
686
+ "saving": "Guardando...",
687
+ "update": "Actualizar flujo de trabajo",
688
+ "create": "Crear flujo de trabajo"
689
+ }
403
690
  }
404
- },
405
- "agent": {
406
- "dashboard": "Panel del Agente",
407
- "open_tickets": "Tickets Abiertos",
408
- "my_assigned": "Mis Asignados",
409
- "unassigned": "Sin Asignar",
410
- "sla_breached": "SLA Incumplido",
411
- "resolved_today": "Resueltos Hoy",
412
- "needs_attention": "Requiere Atención",
413
- "sla_breaching": "SLA en Riesgo",
414
- "unassigned_urgent": "Urgentes Sin Asignar",
415
- "recent_tickets": "Tickets Recientes",
416
- "no_recent_tickets": "No hay tickets recientes",
417
- "my_performance": "Mi Rendimiento",
418
- "resolved_this_week": "Resueltos Esta Semana"
419
- },
420
- "guest": {
421
- "submit_title": "Enviar un Ticket",
422
- "submit_heading": "Enviar un Ticket de Soporte",
423
- "submit_desc": "No necesitas una cuenta. Te daremos un enlace para seguir tu ticket.",
424
- "sign_in_link": "¿Ya tienes una cuenta? Inicia sesión",
425
- "your_name": "Tu Nombre",
426
- "email_address": "Correo Electrónico",
427
- "bookmark_title": "Guarda esta página en favoritos",
428
- "bookmark_desc": "Este es tu enlace privado para ver y responder a este ticket.",
429
- "copy_link": "Copiar Enlace",
430
- "write_reply": "Escribe tu respuesta..."
431
- },
432
- "customer": {
433
- "replies": "Respuestas",
434
- "reply": "Responder"
435
- },
436
- "common": {
437
- "change_status": "Cambiar Estado...",
438
- "change_priority": "Cambiar Prioridad...",
439
- "kb": "KB",
440
- "upload": "Subir"
441
- }
442
691
  }