@escalated-dev/escalated 0.7.0 → 0.8.0

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 (181) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +36 -1
  3. package/package.json +16 -7
  4. package/src/components/ActiveChatsPanel.vue +246 -0
  5. package/src/components/ActivityTimeline.stories.js +55 -55
  6. package/src/components/ActivityTimeline.vue +83 -83
  7. package/src/components/AdminDashboard.stories.js +1423 -1095
  8. package/src/components/AgentLoadIndicator.stories.js +37 -37
  9. package/src/components/AgentLoadIndicator.vue +49 -49
  10. package/src/components/AgentPerformanceCard.vue +44 -44
  11. package/src/components/ArticleEditor.vue +82 -82
  12. package/src/components/AssigneeSelect.vue +37 -37
  13. package/src/components/AttachmentList.vue +13 -1
  14. package/src/components/AuditLogEntry.vue +95 -95
  15. package/src/components/BulkActionBar.vue +166 -166
  16. package/src/components/CategoryTree.vue +89 -89
  17. package/src/components/ChartWidget.vue +46 -46
  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 -30
  24. package/src/components/CollisionWarning.vue +68 -68
  25. package/src/components/ConditionalFieldRules.vue +135 -135
  26. package/src/components/ContextPanel.vue +66 -66
  27. package/src/components/ContextPanelSection.vue +65 -65
  28. package/src/components/CustomFieldRenderer.vue +159 -159
  29. package/src/components/EscalatedLayout.vue +35 -6
  30. package/src/components/FileDropzone.vue +57 -57
  31. package/src/components/FollowButton.stories.js +30 -30
  32. package/src/components/FollowButton.vue +88 -88
  33. package/src/components/KeyboardShortcutHelp.vue +213 -213
  34. package/src/components/KnowledgePanel.vue +122 -122
  35. package/src/components/KpiCard.stories.js +32 -32
  36. package/src/components/KpiCard.vue +88 -88
  37. package/src/components/MacroDropdown.vue +150 -150
  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 -107
  43. package/src/components/PinnedNotes.vue +129 -129
  44. package/src/components/PluginSlot.vue +68 -62
  45. package/src/components/PresenceIndicator.vue +46 -2
  46. package/src/components/PriorityBadge.stories.js +33 -33
  47. package/src/components/PriorityBadge.vue +46 -46
  48. package/src/components/ReplyComposer.vue +81 -18
  49. package/src/components/ReplyThread.vue +40 -2
  50. package/src/components/ReportChart.vue +395 -0
  51. package/src/components/ReportExportButton.vue +108 -0
  52. package/src/components/SatisfactionRating.vue +180 -180
  53. package/src/components/SaveViewDialog.vue +172 -0
  54. package/src/components/SavedViewSidebar.vue +208 -0
  55. package/src/components/ScheduleEditor.vue +104 -104
  56. package/src/components/SideConversation.vue +165 -165
  57. package/src/components/SideConversationList.vue +147 -147
  58. package/src/components/SkillTagManager.vue +83 -79
  59. package/src/components/SlaComplianceChart.vue +46 -53
  60. package/src/components/SlaTimer.stories.js +35 -35
  61. package/src/components/SlaTimer.vue +62 -62
  62. package/src/components/SnoozeButton.vue +247 -0
  63. package/src/components/StatsCard.stories.js +24 -24
  64. package/src/components/StatsCard.vue +58 -58
  65. package/src/components/StatusBadge.stories.js +53 -53
  66. package/src/components/StatusBadge.vue +78 -78
  67. package/src/components/TagSelect.vue +84 -84
  68. package/src/components/TicketFilters.vue +270 -225
  69. package/src/components/TicketLinkPanel.vue +193 -193
  70. package/src/components/TicketList.vue +655 -594
  71. package/src/components/TicketMergeDialog.vue +157 -157
  72. package/src/components/TicketSplitDialog.vue +98 -0
  73. package/src/components/TotpInput.stories.js +9 -9
  74. package/src/components/TotpInput.vue +81 -81
  75. package/src/components/TwoFactorSetup.vue +113 -113
  76. package/src/components/VariableTokenInput.vue +111 -0
  77. package/src/components/WorkflowActionConfig.vue +287 -0
  78. package/src/components/WorkflowActionList.vue +350 -0
  79. package/src/components/WorkflowConditionBuilder.vue +265 -0
  80. package/src/components/WorkflowTriggerSelector.vue +125 -0
  81. package/src/composables/useChat.js +187 -0
  82. package/src/composables/useI18n.js +30 -8
  83. package/src/composables/useKeyboardShortcuts.js +46 -46
  84. package/src/composables/useMentions.js +134 -0
  85. package/src/composables/usePluginExtensions.js +159 -159
  86. package/src/composables/usePluginHooks.js +65 -65
  87. package/src/composables/useRealtime.js +182 -0
  88. package/src/defineEscalatedPlugin.js +76 -76
  89. package/src/index.js +84 -72
  90. package/src/locales/README.md +13 -0
  91. package/src/locales/ar.json +727 -0
  92. package/src/locales/de.json +678 -430
  93. package/src/locales/en.json +717 -455
  94. package/src/locales/es.json +679 -430
  95. package/src/locales/fr.json +680 -431
  96. package/src/locales/index.js +12 -2
  97. package/src/locales/it.json +727 -0
  98. package/src/locales/ja.json +727 -0
  99. package/src/locales/ko.json +727 -0
  100. package/src/locales/nl.json +727 -0
  101. package/src/locales/pl.json +727 -0
  102. package/src/locales/pt-BR.json +727 -0
  103. package/src/locales/ru.json +727 -0
  104. package/src/locales/tr.json +727 -0
  105. package/src/locales/zh-CN.json +727 -0
  106. package/src/pages/Admin/ApiTokens/Index.vue +381 -381
  107. package/src/pages/Admin/AuditLog/Index.vue +154 -154
  108. package/src/pages/Admin/BusinessHours/Form.vue +172 -172
  109. package/src/pages/Admin/BusinessHours/Index.vue +113 -113
  110. package/src/pages/Admin/CannedResponses/Index.vue +127 -127
  111. package/src/pages/Admin/Capacity/Index.vue +134 -134
  112. package/src/pages/Admin/CustomFields/Form.vue +195 -195
  113. package/src/pages/Admin/CustomFields/Index.vue +134 -134
  114. package/src/pages/Admin/CustomObjects/Form.vue +202 -202
  115. package/src/pages/Admin/CustomObjects/Index.vue +127 -127
  116. package/src/pages/Admin/CustomObjects/Records.vue +228 -228
  117. package/src/pages/Admin/Departments/Form.vue +75 -75
  118. package/src/pages/Admin/Departments/Index.vue +110 -109
  119. package/src/pages/Admin/EscalationRules/Form.vue +157 -157
  120. package/src/pages/Admin/EscalationRules/Index.vue +178 -178
  121. package/src/pages/Admin/Import/Connect.vue +0 -1
  122. package/src/pages/Admin/Import/Index.vue +1 -1
  123. package/src/pages/Admin/Import/Progress.vue +1 -1
  124. package/src/pages/Admin/KnowledgeBase/Articles/Form.vue +142 -142
  125. package/src/pages/Admin/KnowledgeBase/Articles/Index.vue +195 -195
  126. package/src/pages/Admin/KnowledgeBase/Categories/Index.vue +193 -193
  127. package/src/pages/Admin/Macros/Index.vue +448 -448
  128. package/src/pages/Admin/Plugins/Index.vue +327 -327
  129. package/src/pages/Admin/Reports/AgentDetail.vue +132 -0
  130. package/src/pages/Admin/Reports/AgentMetrics.vue +115 -115
  131. package/src/pages/Admin/Reports/AgentRanking.vue +246 -0
  132. package/src/pages/Admin/Reports/Cohorts.vue +180 -0
  133. package/src/pages/Admin/Reports/Comparison.vue +141 -0
  134. package/src/pages/Admin/Reports/CsatReport.vue +127 -127
  135. package/src/pages/Admin/Reports/Dashboard.vue +36 -21
  136. package/src/pages/Admin/Reports/ResolutionTimes.vue +164 -0
  137. package/src/pages/Admin/Reports/ResponseTimes.vue +164 -0
  138. package/src/pages/Admin/Reports/SlaReport.vue +162 -166
  139. package/src/pages/Admin/Reports/SlaTrends.vue +183 -0
  140. package/src/pages/Admin/Reports.vue +206 -206
  141. package/src/pages/Admin/Roles/Form.vue +71 -71
  142. package/src/pages/Admin/Roles/Index.vue +122 -122
  143. package/src/pages/Admin/Settings/CsatSettings.vue +165 -165
  144. package/src/pages/Admin/Settings/DataRetention.vue +182 -182
  145. package/src/pages/Admin/Settings/EmailSettings.vue +243 -243
  146. package/src/pages/Admin/Settings/Sandbox.vue +135 -135
  147. package/src/pages/Admin/Settings/SsoSettings.vue +218 -218
  148. package/src/pages/Admin/Settings/TwoFactor.vue +110 -110
  149. package/src/pages/Admin/Settings.vue +1008 -468
  150. package/src/pages/Admin/Skills/Form.vue +193 -53
  151. package/src/pages/Admin/Skills/Index.vue +105 -94
  152. package/src/pages/Admin/SlaPolicies/Form.vue +118 -118
  153. package/src/pages/Admin/SlaPolicies/Index.vue +121 -120
  154. package/src/pages/Admin/Statuses/Form.vue +114 -114
  155. package/src/pages/Admin/Statuses/Index.vue +153 -153
  156. package/src/pages/Admin/Tags/Index.vue +191 -191
  157. package/src/pages/Admin/Tickets/Index.vue +126 -91
  158. package/src/pages/Admin/Tickets/Show.vue +29 -0
  159. package/src/pages/Admin/Users/Index.vue +145 -0
  160. package/src/pages/Admin/Webhooks/DeliveryLog.vue +120 -120
  161. package/src/pages/Admin/Webhooks/Form.vue +110 -110
  162. package/src/pages/Admin/Webhooks/Index.vue +136 -136
  163. package/src/pages/Admin/Workflows/Builder.vue +207 -0
  164. package/src/pages/Admin/Workflows/Index.vue +235 -0
  165. package/src/pages/Admin/Workflows/Logs.vue +286 -0
  166. package/src/pages/Agent/TicketIndex.vue +112 -88
  167. package/src/pages/Agent/TicketShow.vue +192 -60
  168. package/src/pages/Customer/Create.vue +1 -1
  169. package/src/pages/Customer/Index.vue +26 -1
  170. package/src/pages/Customer/KnowledgeBase/Article.vue +4 -2
  171. package/src/pages/Customer/KnowledgeBase/Index.vue +151 -151
  172. package/src/pages/Customer/Show.vue +69 -63
  173. package/src/pages/Guest/Create.vue +40 -15
  174. package/src/pages/Guest/Show.vue +124 -93
  175. package/src/plugin.js +26 -1
  176. package/src/utils/mentionHighlight.js +24 -0
  177. package/src/utils/sanitizeHtml.js +78 -64
  178. package/src/widget/EscalatedWidget.vue +804 -0
  179. package/src/widget/index.js +254 -0
  180. package/src/pages/Admin/Automations/Form.vue +0 -184
  181. package/src/pages/Admin/Automations/Index.vue +0 -129
@@ -1,442 +1,691 @@
1
1
  {
2
- "nav": {
3
- "admin": "Administration",
4
- "admin_badge": "ADMIN",
5
- "agent_panel": "Panneau agent",
6
- "back_to_app": "Retour à l'application",
7
- "my_tickets": "Mes tickets",
8
- "dashboard": "Tableau de bord",
9
- "tickets": "Tickets",
10
- "reports": "Rapports",
11
- "departments": "Départements",
12
- "sla_policies": "Politiques SLA",
13
- "escalation_rules": "Règles d'escalade",
14
- "tags": "Étiquettes",
15
- "canned_responses": "Réponses prédéfinies",
16
- "macros": "Macros",
17
- "api_tokens": "Jetons API",
18
- "plugins": "Extensions",
19
- "settings": "Paramètres"
20
- },
21
- "status": {
22
- "open": "Ouvert",
23
- "in_progress": "En cours",
24
- "waiting_on_customer": "En attente du client",
25
- "waiting_on_agent": "En attente de l'agent",
26
- "escalated": "Escaladé",
27
- "resolved": "Résolu",
28
- "closed": "Fermé",
29
- "reopened": "Rouvert"
30
- },
31
- "priority": {
32
- "low": "Basse",
33
- "medium": "Moyenne",
34
- "high": "Haute",
35
- "urgent": "Urgente",
36
- "critical": "Critique"
37
- },
38
- "activity": {
39
- "status_changed": "a changé le statut",
40
- "assigned": "a assigné le ticket",
41
- "unassigned": "a désassigné le ticket",
42
- "priority_changed": "a changé la priorité",
43
- "tag_added": "a ajouté une étiquette",
44
- "tag_removed": "a retiré une étiquette",
45
- "escalated": "a escaladé le ticket",
46
- "sla_breached": "SLA dépassé",
47
- "replied": "a répondu",
48
- "note_added": "a ajouté une note",
49
- "department_changed": "a changé le département",
50
- "reopened": "a rouvert le ticket",
51
- "resolved": "a résolu le ticket",
52
- "closed": "a fermé le ticket",
53
- "system": "Système",
54
- "no_activity": "Aucune activité pour le moment.",
55
- "to": "à",
56
- "assigned_to": "assigné à"
57
- },
58
- "ticket": {
59
- "reference": "Référence",
60
- "subject": "Sujet",
61
- "requester": "Demandeur",
62
- "status": "Statut",
63
- "priority": "Priorité",
64
- "assignee": "Assigné à",
65
- "last_reply": "Dernière réponse",
66
- "unknown": "Inconnu",
67
- "unassigned": "Non assigné",
68
- "no_tickets": "Aucun ticket trouvé.",
69
- "details": "Détails",
70
- "department": "Département",
71
- "created": "Créé",
72
- "activity": "Activité",
73
- "conversation": "Conversation",
74
- "by": "par",
75
- "assign_to_me": "M'assigner",
76
- "close_ticket": "Fermer le ticket",
77
- "reopen": "Rouvrir",
78
- "all_tickets": "Tous les tickets",
79
- "ticket_queue": "File d'attente des tickets",
80
- "my_tickets": "Mes tickets",
81
- "new_ticket": "Nouveau ticket",
82
- "create_ticket": "Créer un ticket",
83
- "submit_ticket": "Soumettre le ticket",
84
- "no_replies": "Aucune réponse pour le moment.",
85
- "ticket_closed_no_replies": "Ce ticket est fermé. Aucune réponse supplémentaire ne peut être ajoutée."
86
- },
87
- "bulk": {
88
- "tickets_selected": ":count ticket(s) sélectionné(s)",
89
- "status_placeholder": "Statut...",
90
- "priority_placeholder": "Priorité...",
91
- "assign_placeholder": "Assigner à...",
92
- "department_placeholder": "Département...",
93
- "delete": "Supprimer",
94
- "deselect_all": "Tout désélectionner"
95
- },
96
- "filter": {
97
- "search_tickets": "Rechercher des tickets...",
98
- "all_statuses": "Tous les statuts",
99
- "all_priorities": "Toutes les priorités",
100
- "all_agents": "Tous les agents",
101
- "all_departments": "Tous les départements",
102
- "following": "Suivis"
103
- },
104
- "quick_filter": {
105
- "my_tickets": "Mes tickets",
106
- "unassigned": "Non assignés",
107
- "urgent_plus": "Urgent+",
108
- "sla_breaching": "SLA en dépassement",
109
- "following": "Suivis"
110
- },
111
- "reply": {
112
- "reply": "Répondre",
113
- "internal_note": "Note interne",
114
- "note_visibility": "Cette note est visible uniquement par les agents.",
115
- "placeholder": "Saisissez votre réponse...",
116
- "canned_responses": "Réponses prédéfinies...",
117
- "add_note": "Ajouter une note",
118
- "send_reply": "Envoyer la réponse",
119
- "pinned": "Épinglé",
120
- "unpin": "Désépingler",
121
- "pin": "Épingler",
122
- "write_internal_note": "Rédiger une note interne..."
123
- },
124
- "rating": {
125
- "customer_rating": "Évaluation du client",
126
- "how_was_experience": "Comment était votre expérience ?",
127
- "terrible": "Terrible",
128
- "poor": "Mauvaise",
129
- "okay": "Correcte",
130
- "good": "Bonne",
131
- "excellent": "Excellente",
132
- "feedback_placeholder": "Des commentaires supplémentaires ? (facultatif)",
133
- "thank_you": "Merci pour votre retour !",
134
- "submit_rating": "Soumettre l'évaluation",
135
- "customer_satisfaction": "Satisfaction client"
136
- },
137
- "keyboard": {
138
- "title": "Raccourcis clavier",
139
- "list_view": "Vue liste",
140
- "detail_view": "Vue détaillée",
141
- "global": "Global",
142
- "move_down": "Descendre",
143
- "move_up": "Monter",
144
- "toggle_select": "Basculer la sélection",
145
- "open_ticket": "Ouvrir le ticket",
146
- "reply": "Répondre",
147
- "internal_note": "Note interne",
148
- "change_status": "Changer le statut",
149
- "change_priority": "Changer la priorité",
150
- "follow_unfollow": "Suivre/Ne plus suivre",
151
- "show_help": "Afficher cette aide",
152
- "esc_to_close": "Appuyez sur Échap pour fermer"
153
- },
154
- "sla": {
155
- "overdue": "En retard",
156
- "breached": "SLA dépassé",
157
- "first_response": "Première réponse",
158
- "resolution": "Résolution"
159
- },
160
- "follow": {
161
- "following": "Suivi",
162
- "follow": "Suivre"
163
- },
164
- "file": {
165
- "drop_or_browse": "Déposez les fichiers ici ou :link",
166
- "browse": "parcourir"
167
- },
168
- "macro": {
169
- "apply_macro": "Appliquer une macro",
170
- "macros": "Macros",
171
- "no_macros": "Aucune macro disponible"
172
- },
173
- "form": {
174
- "name": "Nom",
175
- "description": "Description",
176
- "slug": "Identifiant",
177
- "auto_generated": "Généré automatiquement si vide",
178
- "active": "Actif",
179
- "update": "Mettre à jour",
180
- "create": "Créer",
181
- "save": "Enregistrer",
182
- "cancel": "Annuler",
183
- "edit": "Modifier",
184
- "delete": "Supprimer",
185
- "actions": "Actions",
186
- "order": "Ordre",
187
- "value": "Valeur",
188
- "yes": "Oui",
189
- "no": "Non",
190
- "confirm": "Confirmer",
191
- "none": "Aucun",
192
- "general": "Général",
193
- "shared": "Partagé",
194
- "private": "Privé",
195
- "color": "Couleur",
196
- "title": "Titre",
197
- "copy": "Copier",
198
- "dismiss": "Fermer",
199
- "saved": "Enregistré.",
200
- "saving": "Enregistrement...",
201
- "creating": "Création...",
202
- "submitting": "Envoi en cours...",
203
- "sending": "Envoi...",
204
- "uploading": "Téléversement...",
205
- "copied": "Copié !",
206
- "subject": "Sujet",
207
- "priority": "Priorité",
208
- "department": "Département",
209
- "attachments": "Pièces jointes"
210
- },
211
- "presence": {
212
- "also_viewing": "Consultent également : :names"
213
- },
214
- "pinned_notes": {
215
- "title": "Notes épinglées",
216
- "unpin": "Désépingler"
217
- },
218
- "admin": {
219
- "settings": {
220
- "title": "Paramètres",
221
- "general": "Général",
222
- "guest_tickets": "Tickets invités",
223
- "guest_tickets_desc": "Permettre aux visiteurs de soumettre des tickets sans se connecter",
224
- "allow_customer_close": "Autoriser la fermeture par le client",
225
- "allow_customer_close_desc": "Permettre aux clients de fermer leurs propres tickets",
226
- "auto_close": "Fermeture automatique des tickets résolus après",
227
- "auto_close_desc": "Nombre de jours après la résolution avant la fermeture automatique (0 pour désactiver)",
228
- "days": "jours",
229
- "limits": "Limites",
230
- "max_attachments": "Nombre maximal de pièces jointes par réponse",
231
- "max_attachment_size": "Taille maximale des pièces jointes",
232
- "tickets": "Tickets",
233
- "reference_prefix": "Préfixe de référence",
234
- "reference_prefix_desc": "Préfixe pour les références de tickets (ex. ESC produit ESC-00001)",
235
- "inbound_email": "E-mail entrant",
236
- "inbound_email_desc": "Permettre la création et la réponse aux tickets par e-mail",
237
- "email_provider": "Fournisseur d'e-mail",
238
- "email_provider_desc": "Mode de réception des e-mails entrants",
239
- "support_email": "Adresse e-mail du support",
240
- "support_email_desc": "L'adresse e-mail à laquelle les clients enverront leurs messages (ex. support@exemple.com)",
241
- "signing_key": "Clé de signature",
242
- "webhook_url": "URL du webhook",
243
- "mailgun_webhook_desc": "Configurez cette URL dans votre tableau de bord Mailgun",
244
- "inbound_token": "Jeton entrant",
245
- "postmark_webhook_desc": "Configurez cette URL dans les paramètres de votre serveur Postmark",
246
- "region": "Région",
247
- "topic_arn": "ARN du sujet",
248
- "ses_webhook_desc": "Configurez cette URL comme point de terminaison de votre abonnement SNS",
249
- "host": "Hôte",
250
- "port": "Port",
251
- "encryption": "Chiffrement",
252
- "username": "Nom d'utilisateur",
253
- "password": "Mot de passe",
254
- "mailbox": "Boîte de réception",
255
- "save_settings": "Enregistrer les paramètres"
2
+ "nav": {
3
+ "admin": "Administration",
4
+ "admin_badge": "ADMIN",
5
+ "agent_panel": "Panneau agent",
6
+ "back_to_app": "Retour à l'application",
7
+ "my_tickets": "Mes tickets",
8
+ "dashboard": "Tableau de bord",
9
+ "tickets": "Tickets",
10
+ "reports": "Rapports",
11
+ "departments": "Départements",
12
+ "sla_policies": "Politiques SLA",
13
+ "escalation_rules": "Règles d'escalade",
14
+ "tags": "Étiquettes",
15
+ "canned_responses": "Réponses prédéfinies",
16
+ "macros": "Macros",
17
+ "api_tokens": "Jetons API",
18
+ "plugins": "Extensions",
19
+ "settings": "Paramètres"
256
20
  },
257
- "reports": {
258
- "title": "Rapports",
259
- "last_days": ":count derniers jours",
260
- "total_tickets": "Total des tickets",
261
- "resolved": "Résolus",
262
- "avg_first_response": "Temps moyen de première réponse",
263
- "sla_breaches": "Dépassements SLA",
264
- "by_status": "Par statut",
265
- "by_priority": "Par priorité",
266
- "no_data": "Aucune donnée de ticket pour cette période",
267
- "no_ratings": "Aucune évaluation pour cette période",
268
- "ratings_count": "(:count évaluations)"
21
+ "status": {
22
+ "open": "Ouvert",
23
+ "in_progress": "En cours",
24
+ "waiting_on_customer": "En attente du client",
25
+ "waiting_on_agent": "En attente de l'agent",
26
+ "escalated": "Escaladé",
27
+ "resolved": "Résolu",
28
+ "closed": "Fermé",
29
+ "reopened": "Rouvert"
269
30
  },
270
- "departments": {
271
- "title": "Départements",
272
- "add": "Ajouter un département",
273
- "edit_title": "Modifier le département",
274
- "new_title": "Nouveau département",
275
- "tickets": "Tickets",
276
- "agents": "Agents",
277
- "no_departments": "Aucun département pour le moment",
278
- "no_departments_desc": "Créez votre premier département pour organiser les tickets",
279
- "confirm_delete": "Supprimer ce département ?"
31
+ "priority": {
32
+ "low": "Basse",
33
+ "medium": "Moyenne",
34
+ "high": "Haute",
35
+ "urgent": "Urgente",
36
+ "critical": "Critique"
280
37
  },
281
- "sla_policies": {
282
- "title": "Politiques SLA",
283
- "add": "Ajouter une politique",
284
- "edit_title": "Modifier la politique SLA",
285
- "new_title": "Nouvelle politique SLA",
286
- "default": "Par défaut",
287
- "business_hours": "Heures ouvrées",
288
- "business_hours_only": "Heures ouvrées uniquement",
289
- "default_policy": "Politique par défaut",
290
- "first_response_hours": "Heures de première réponse (par priorité)",
291
- "resolution_hours": "Heures de résolution (par priorité)",
292
- "no_policies": "Aucune politique SLA pour le moment",
293
- "no_policies_desc": "Définissez des objectifs de temps de réponse et de résolution",
294
- "confirm_delete": "Supprimer cette politique SLA ?"
38
+ "activity": {
39
+ "status_changed": "a changé le statut",
40
+ "assigned": "a assigné le ticket",
41
+ "unassigned": "a désassigné le ticket",
42
+ "priority_changed": "a changé la priorité",
43
+ "tag_added": "a ajouté une étiquette",
44
+ "tag_removed": "a retiré une étiquette",
45
+ "escalated": "a escaladé le ticket",
46
+ "sla_breached": "SLA dépassé",
47
+ "replied": "a répondu",
48
+ "note_added": "a ajouté une note",
49
+ "department_changed": "a changé le département",
50
+ "reopened": "a rouvert le ticket",
51
+ "resolved": "a résolu le ticket",
52
+ "closed": "a fermé le ticket",
53
+ "system": "Système",
54
+ "no_activity": "Aucune activité pour le moment.",
55
+ "to": "à",
56
+ "assigned_to": "assigné à"
295
57
  },
296
- "escalation_rules": {
297
- "title": "Règles d'escalade",
298
- "add": "Ajouter une règle",
299
- "edit_title": "Modifier la règle d'escalade",
300
- "new_title": "Nouvelle règle d'escalade",
301
- "trigger": "Déclencheur",
302
- "trigger_type": "Type de déclencheur",
303
- "time_based": "Basé sur le temps",
304
- "sla_breach": "Dépassement SLA",
305
- "priority_based": "Basé sur la priorité",
306
- "conditions": "Conditions",
307
- "add_short": "+ Ajouter",
308
- "status": "Statut",
309
- "priority": "Priorité",
310
- "assignment": "Assignation",
311
- "age_hours": "Ancienneté (heures)",
312
- "no_response_hours": "Sans réponse (heures)",
313
- "sla_breached": "SLA dépassé",
314
- "escalate": "Escalader",
315
- "change_priority": "Changer la priorité",
316
- "assign_to": "Assigner à",
317
- "change_department": "Changer le département",
318
- "no_rules": "Aucune règle d'escalade pour le moment",
319
- "no_rules_desc": "Configurez l'escalade automatique pour les tickets en retard",
320
- "confirm_delete": "Supprimer cette règle d'escalade ?"
58
+ "ticket": {
59
+ "reference": "Référence",
60
+ "subject": "Sujet",
61
+ "requester": "Demandeur",
62
+ "status": "Statut",
63
+ "priority": "Priorité",
64
+ "assignee": "Assigné à",
65
+ "last_reply": "Dernière réponse",
66
+ "unknown": "Inconnu",
67
+ "unassigned": "Non assigné",
68
+ "no_tickets": "Aucun ticket trouvé.",
69
+ "details": "Détails",
70
+ "department": "Département",
71
+ "created": "Créé",
72
+ "activity": "Activité",
73
+ "conversation": "Conversation",
74
+ "by": "par",
75
+ "assign_to_me": "M'assigner",
76
+ "close_ticket": "Fermer le ticket",
77
+ "reopen": "Rouvrir",
78
+ "all_tickets": "Tous les tickets",
79
+ "ticket_queue": "File d'attente des tickets",
80
+ "my_tickets": "Mes tickets",
81
+ "new_ticket": "Nouveau ticket",
82
+ "create_ticket": "Créer un ticket",
83
+ "submit_ticket": "Soumettre le ticket",
84
+ "no_replies": "Aucune réponse pour le moment.",
85
+ "ticket_closed_no_replies": "Ce ticket est fermé. Aucune réponse supplémentaire ne peut être ajoutée."
321
86
  },
322
- "canned_responses": {
323
- "title": "Réponses prédéfinies",
324
- "add": "Ajouter une réponse",
325
- "title_placeholder": "Titre",
326
- "body_placeholder": "Corps de la réponse...",
327
- "category_placeholder": "Catégorie (facultatif)",
328
- "no_responses": "Aucune réponse prédéfinie pour le moment",
329
- "no_responses_desc": "Créez des modèles réutilisables pour les réponses courantes",
330
- "confirm_delete": "Supprimer cette réponse prédéfinie ?"
87
+ "bulk": {
88
+ "tickets_selected": ":count ticket(s) sélectionné(s)",
89
+ "status_placeholder": "Statut...",
90
+ "priority_placeholder": "Priorité...",
91
+ "assign_placeholder": "Assigner à...",
92
+ "department_placeholder": "Département...",
93
+ "delete": "Supprimer",
94
+ "deselect_all": "Tout désélectionner"
331
95
  },
332
- "tags": {
333
- "title": "Étiquettes",
334
- "add": "Ajouter une étiquette",
335
- "no_tags": "Aucune étiquette pour le moment",
336
- "no_tags_desc": "Créez des étiquettes pour catégoriser et filtrer les tickets",
337
- "confirm_delete": "Supprimer cette étiquette ?"
96
+ "filter": {
97
+ "search_tickets": "Rechercher des tickets...",
98
+ "all_statuses": "Tous les statuts",
99
+ "all_priorities": "Toutes les priorités",
100
+ "all_agents": "Tous les agents",
101
+ "all_departments": "Tous les départements",
102
+ "following": "Suivis"
338
103
  },
339
- "macros": {
340
- "title": "Macros",
341
- "subtitle": "Les macros automatisent les actions répétitives sur les tickets.",
342
- "create_macro": "Créer une macro",
343
- "update_macro": "Mettre à jour la macro",
344
- "shared_label": "Partagée avec tous les agents",
345
- "add_action": "+ Ajouter une action",
346
- "no_actions": "Aucune action pour le moment. Ajoutez des actions pour définir le comportement de cette macro.",
347
- "set_status": "Définir le statut",
348
- "set_priority": "Définir la priorité",
349
- "assign_to": "Assigner à",
350
- "add_tags": "Ajouter des étiquettes",
351
- "move_to_department": "Déplacer vers le département",
352
- "send_reply": "Envoyer une réponse",
353
- "add_internal_note": "Ajouter une note interne",
354
- "select_status": "Sélectionner le statut...",
355
- "select_priority": "Sélectionner la priorité...",
356
- "agent_placeholder": "Identifiant ou e-mail de l'agent",
357
- "tags_placeholder": "Noms d'étiquettes séparés par des virgules",
358
- "department_placeholder": "Identifiant ou nom du département",
359
- "reply_placeholder": "Message de réponse...",
360
- "note_placeholder": "Contenu de la note...",
361
- "no_macros": "Aucune macro pour le moment",
362
- "no_macros_desc": "Créez des macros pour automatiser les actions répétitives sur les tickets",
363
- "creator": "Créateur",
364
- "confirm_delete": "Supprimer cette macro ? Cette action est irréversible."
104
+ "quick_filter": {
105
+ "my_tickets": "Mes tickets",
106
+ "unassigned": "Non assignés",
107
+ "urgent_plus": "Urgent+",
108
+ "sla_breaching": "SLA en dépassement",
109
+ "following": "Suivis"
365
110
  },
366
- "api_tokens": {
367
- "title": "Jetons API",
368
- "subtitle": "Gérez les jetons API pour les applications de bureau et les intégrations externes.",
369
- "create_token": "Créer un jeton",
370
- "api_disabled": "L'API REST est actuellement désactivée. Définissez ESCALATED_API_ENABLED=true dans votre fichier .env pour l'activer.",
371
- "token_created": "Jeton créé ! Copiez-le maintenant — il ne sera plus affiché.",
372
- "new_token": "Nouveau jeton API",
373
- "token_name": "Nom du jeton",
374
- "token_name_placeholder": "ex. Application de bureau - Ordinateur professionnel",
375
- "user": "Utilisateur",
376
- "select_user": "Sélectionner un utilisateur...",
377
- "abilities": "Permissions",
378
- "expires_in": "Expire dans (jours)",
379
- "no_expiration": "Laissez vide pour aucune expiration",
380
- "last_used": "Dernière utilisation",
381
- "expires": "Expire",
382
- "never": "Jamais",
383
- "expired": "Expiré",
384
- "revoke": "Révoquer",
385
- "no_tokens": "Aucun jeton API créé pour le moment.",
386
- "confirm_revoke": "Êtes-vous sûr de vouloir révoquer ce jeton ? Cette action est irréversible."
111
+ "reply": {
112
+ "reply": "Répondre",
113
+ "internal_note": "Note interne",
114
+ "note_visibility": "Cette note est visible uniquement par les agents.",
115
+ "placeholder": "Saisissez votre réponse...",
116
+ "canned_responses": "Réponses prédéfinies...",
117
+ "add_note": "Ajouter une note",
118
+ "send_reply": "Envoyer la réponse",
119
+ "pinned": "Épinglé",
120
+ "unpin": "Désépingler",
121
+ "pin": "Épingler",
122
+ "write_internal_note": "Rédiger une note interne..."
387
123
  },
388
- "plugins": {
389
- "title": "Extensions",
390
- "upload": "Téléverser une extension",
391
- "plugin_zip": "Fichier ZIP de l'extension",
392
- "installed": "Extensions installées",
393
- "no_plugins": "Aucune extension installée",
394
- "no_plugins_alt": "Aucune extension installée pour le moment.",
395
- "no_plugins_desc": "Téléversez un fichier ZIP d'extension pour enrichir Escalated avec des fonctionnalités personnalisées.",
396
- "active": "Active",
397
- "inactive": "Inactive",
398
- "installed_date": "Installée le :date",
399
- "menu_items": ":count élément(s) de menu",
400
- "widgets": ":count widget(s)",
401
- "page_components": ":count composant(s) de page",
402
- "confirm_delete": "Êtes-vous sûr de vouloir supprimer cette extension ? Cette action est irréversible."
124
+ "rating": {
125
+ "customer_rating": "Évaluation du client",
126
+ "how_was_experience": "Comment était votre expérience ?",
127
+ "terrible": "Terrible",
128
+ "poor": "Mauvaise",
129
+ "okay": "Correcte",
130
+ "good": "Bonne",
131
+ "excellent": "Excellente",
132
+ "feedback_placeholder": "Des commentaires supplémentaires ? (facultatif)",
133
+ "thank_you": "Merci pour votre retour !",
134
+ "submit_rating": "Soumettre l'évaluation",
135
+ "customer_satisfaction": "Satisfaction client"
136
+ },
137
+ "keyboard": {
138
+ "title": "Raccourcis clavier",
139
+ "list_view": "Vue liste",
140
+ "detail_view": "Vue détaillée",
141
+ "global": "Global",
142
+ "move_down": "Descendre",
143
+ "move_up": "Monter",
144
+ "toggle_select": "Basculer la sélection",
145
+ "open_ticket": "Ouvrir le ticket",
146
+ "reply": "Répondre",
147
+ "internal_note": "Note interne",
148
+ "change_status": "Changer le statut",
149
+ "change_priority": "Changer la priorité",
150
+ "follow_unfollow": "Suivre/Ne plus suivre",
151
+ "show_help": "Afficher cette aide",
152
+ "esc_to_close": "Appuyez sur Échap pour fermer"
153
+ },
154
+ "sla": {
155
+ "overdue": "En retard",
156
+ "breached": "SLA dépassé",
157
+ "first_response": "Première réponse",
158
+ "resolution": "Résolution"
159
+ },
160
+ "follow": {
161
+ "following": "Suivi",
162
+ "follow": "Suivre"
163
+ },
164
+ "file": {
165
+ "drop_or_browse": "Déposez les fichiers ici ou :link",
166
+ "browse": "parcourir"
167
+ },
168
+ "macro": {
169
+ "apply_macro": "Appliquer une macro",
170
+ "macros": "Macros",
171
+ "no_macros": "Aucune macro disponible"
172
+ },
173
+ "form": {
174
+ "name": "Nom",
175
+ "description": "Description",
176
+ "slug": "Identifiant",
177
+ "auto_generated": "Généré automatiquement si vide",
178
+ "active": "Actif",
179
+ "update": "Mettre à jour",
180
+ "create": "Créer",
181
+ "save": "Enregistrer",
182
+ "cancel": "Annuler",
183
+ "edit": "Modifier",
184
+ "delete": "Supprimer",
185
+ "actions": "Actions",
186
+ "order": "Ordre",
187
+ "value": "Valeur",
188
+ "yes": "Oui",
189
+ "no": "Non",
190
+ "confirm": "Confirmer",
191
+ "none": "Aucun",
192
+ "general": "Général",
193
+ "shared": "Partagé",
194
+ "private": "Privé",
195
+ "color": "Couleur",
196
+ "title": "Titre",
197
+ "copy": "Copier",
198
+ "dismiss": "Fermer",
199
+ "saved": "Enregistré.",
200
+ "saving": "Enregistrement...",
201
+ "creating": "Création...",
202
+ "submitting": "Envoi en cours...",
203
+ "sending": "Envoi...",
204
+ "uploading": "Téléversement...",
205
+ "copied": "Copié !",
206
+ "subject": "Sujet",
207
+ "priority": "Priorité",
208
+ "department": "Département",
209
+ "attachments": "Pièces jointes"
210
+ },
211
+ "presence": {
212
+ "also_viewing": "Consultent également : :names"
213
+ },
214
+ "pinned_notes": {
215
+ "title": "Notes épinglées",
216
+ "unpin": "Désépingler"
217
+ },
218
+ "admin": {
219
+ "settings": {
220
+ "title": "Paramètres",
221
+ "general": "Général",
222
+ "guest_tickets": "Tickets invités",
223
+ "guest_tickets_desc": "Permettre aux visiteurs de soumettre des tickets sans se connecter",
224
+ "allow_customer_close": "Autoriser la fermeture par le client",
225
+ "allow_customer_close_desc": "Permettre aux clients de fermer leurs propres tickets",
226
+ "auto_close": "Fermeture automatique des tickets résolus après",
227
+ "auto_close_desc": "Nombre de jours après la résolution avant la fermeture automatique (0 pour désactiver)",
228
+ "days": "jours",
229
+ "limits": "Limites",
230
+ "max_attachments": "Nombre maximal de pièces jointes par réponse",
231
+ "max_attachment_size": "Taille maximale des pièces jointes",
232
+ "tickets": "Tickets",
233
+ "reference_prefix": "Préfixe de référence",
234
+ "reference_prefix_desc": "Préfixe pour les références de tickets (ex. ESC produit ESC-00001)",
235
+ "inbound_email": "E-mail entrant",
236
+ "inbound_email_desc": "Permettre la création et la réponse aux tickets par e-mail",
237
+ "email_provider": "Fournisseur d'e-mail",
238
+ "email_provider_desc": "Mode de réception des e-mails entrants",
239
+ "support_email": "Adresse e-mail du support",
240
+ "support_email_desc": "L'adresse e-mail à laquelle les clients enverront leurs messages (ex. support@exemple.com)",
241
+ "signing_key": "Clé de signature",
242
+ "webhook_url": "URL du webhook",
243
+ "mailgun_webhook_desc": "Configurez cette URL dans votre tableau de bord Mailgun",
244
+ "inbound_token": "Jeton entrant",
245
+ "postmark_webhook_desc": "Configurez cette URL dans les paramètres de votre serveur Postmark",
246
+ "region": "Région",
247
+ "topic_arn": "ARN du sujet",
248
+ "ses_webhook_desc": "Configurez cette URL comme point de terminaison de votre abonnement SNS",
249
+ "host": "Hôte",
250
+ "port": "Port",
251
+ "encryption": "Chiffrement",
252
+ "username": "Nom d'utilisateur",
253
+ "password": "Mot de passe",
254
+ "mailbox": "Boîte de réception",
255
+ "save_settings": "Enregistrer les paramètres"
256
+ },
257
+ "reports": {
258
+ "title": "Rapports",
259
+ "last_days": ":count derniers jours",
260
+ "total_tickets": "Total des tickets",
261
+ "resolved": "Résolus",
262
+ "avg_first_response": "Temps moyen de première réponse",
263
+ "sla_breaches": "Dépassements SLA",
264
+ "by_status": "Par statut",
265
+ "by_priority": "Par priorité",
266
+ "no_data": "Aucune donnée de ticket pour cette période",
267
+ "no_ratings": "Aucune évaluation pour cette période",
268
+ "ratings_count": "(:count évaluations)",
269
+ "advanced_reports": "Rapports avancés",
270
+ "sla_trends": "Tendances des dépassements SLA",
271
+ "response_times": "Analyse du temps de première réponse",
272
+ "resolution_times": "Analyse du temps de résolution",
273
+ "agent_ranking": "Classement des performances des agents",
274
+ "agent_detail": "Détail de l'agent",
275
+ "cohorts": "Analyse par cohorte",
276
+ "comparison": "Comparaison de périodes",
277
+ "overview": "Aperçu",
278
+ "agents": "Agents",
279
+ "sla": "SLA",
280
+ "csat": "CSAT",
281
+ "export": "Exporter",
282
+ "export_csv": "Exporter en CSV",
283
+ "export_json": "Exporter en JSON",
284
+ "period_custom": "Personnalisé",
285
+ "period_apply": "Appliquer",
286
+ "period_start": "Début",
287
+ "period_end": "Fin",
288
+ "total_breaches": "Total des dépassements",
289
+ "breach_rate": "Taux de dépassement",
290
+ "frt_breaches": "Dépassements première réponse",
291
+ "resolution_breaches_label": "Dépassements de résolution",
292
+ "breach_count_over_time": "Dépassements dans le temps",
293
+ "frt_vs_resolution": "Première réponse vs résolution",
294
+ "breach_by_department": "Taux par département",
295
+ "breach_by_priority": "Taux par priorité",
296
+ "at_risk": "À risque - Dépassement SLA imminent",
297
+ "critical": "Critique",
298
+ "warning": "Avertissement",
299
+ "watch": "Surveillance",
300
+ "hours_remaining": ":count h restantes",
301
+ "no_at_risk": "Aucun ticket à risque de dépassement SLA.",
302
+ "no_at_risk": "Aucun ticket à risque.",
303
+ "avg_frt": "Temps moyen de première réponse",
304
+ "median_frt": "Médiane première réponse",
305
+ "p90_frt": "P90 première réponse",
306
+ "under_target": "Sous l'objectif",
307
+ "frt_distribution": "Distribution première réponse",
308
+ "avg_frt_trend": "Tendance temps moyen de première réponse",
309
+ "frt_by_department": "Première réponse par département",
310
+ "frt_by_priority": "Première réponse par priorité",
311
+ "frt_by_agent": "Première réponse par agent",
312
+ "avg_resolution": "Temps moyen de résolution",
313
+ "median_resolution": "Médiane de résolution",
314
+ "p90_resolution": "P90 résolution",
315
+ "resolution_distribution": "Distribution du temps de résolution",
316
+ "resolution_trend": "Tendance du temps moyen de résolution",
317
+ "resolution_by_department": "Résolution par département",
318
+ "resolution_by_channel": "Résolution par canal",
319
+ "resolution_by_agent": "Résolution par agent",
320
+ "composite_score": "Score",
321
+ "resolution_rate": "Taux de résolution %",
322
+ "volume": "Volume",
323
+ "trend": "Tendance",
324
+ "top_performers": "Meilleurs performeurs",
325
+ "needs_attention": "Nécessite attention",
326
+ "back_to_rankings": "Retour au classement",
327
+ "response_percentiles": "Percentiles du temps de réponse",
328
+ "productivity": "Productivité (réponses et résolutions par jour)",
329
+ "productivity": "Productivité",
330
+ "workload_over_time": "Charge de travail dans le temps",
331
+ "csat_breakdown": "Répartition CSAT",
332
+ "by_tag": "Par étiquette",
333
+ "by_department": "Par département",
334
+ "by_channel": "Par canal",
335
+ "by_type": "Par type",
336
+ "no_cohort_data": "Aucune donnée pour ce type de cohorte.",
337
+ "current_period": "Période actuelle",
338
+ "previous_period": "Période précédente",
339
+ "vs_previous": "vs période précédente",
340
+ "pct_change": "% de changement",
341
+ "sla_compliance": "Conformité SLA",
342
+ "no_agent_data": "Aucune donnée d'agent pour cette période.",
343
+ "avg": "Moy",
344
+ "median": "Médiane",
345
+ "agent": "Agent",
346
+ "back": "Retour"
347
+ },
348
+ "departments": {
349
+ "title": "Départements",
350
+ "add": "Ajouter un département",
351
+ "edit_title": "Modifier le département",
352
+ "new_title": "Nouveau département",
353
+ "tickets": "Tickets",
354
+ "agents": "Agents",
355
+ "no_departments": "Aucun département pour le moment",
356
+ "no_departments_desc": "Créez votre premier département pour organiser les tickets",
357
+ "confirm_delete": "Supprimer ce département ?"
358
+ },
359
+ "sla_policies": {
360
+ "title": "Politiques SLA",
361
+ "add": "Ajouter une politique",
362
+ "edit_title": "Modifier la politique SLA",
363
+ "new_title": "Nouvelle politique SLA",
364
+ "default": "Par défaut",
365
+ "business_hours": "Heures ouvrées",
366
+ "business_hours_only": "Heures ouvrées uniquement",
367
+ "default_policy": "Politique par défaut",
368
+ "first_response_hours": "Heures de première réponse (par priorité)",
369
+ "resolution_hours": "Heures de résolution (par priorité)",
370
+ "no_policies": "Aucune politique SLA pour le moment",
371
+ "no_policies_desc": "Définissez des objectifs de temps de réponse et de résolution",
372
+ "confirm_delete": "Supprimer cette politique SLA ?"
373
+ },
374
+ "escalation_rules": {
375
+ "title": "Règles d'escalade",
376
+ "add": "Ajouter une règle",
377
+ "edit_title": "Modifier la règle d'escalade",
378
+ "new_title": "Nouvelle règle d'escalade",
379
+ "trigger": "Déclencheur",
380
+ "trigger_type": "Type de déclencheur",
381
+ "time_based": "Basé sur le temps",
382
+ "sla_breach": "Dépassement SLA",
383
+ "priority_based": "Basé sur la priorité",
384
+ "conditions": "Conditions",
385
+ "add_short": "+ Ajouter",
386
+ "status": "Statut",
387
+ "priority": "Priorité",
388
+ "assignment": "Assignation",
389
+ "age_hours": "Ancienneté (heures)",
390
+ "no_response_hours": "Sans réponse (heures)",
391
+ "sla_breached": "SLA dépassé",
392
+ "escalate": "Escalader",
393
+ "change_priority": "Changer la priorité",
394
+ "assign_to": "Assigner à",
395
+ "change_department": "Changer le département",
396
+ "no_rules": "Aucune règle d'escalade pour le moment",
397
+ "no_rules_desc": "Configurez l'escalade automatique pour les tickets en retard",
398
+ "confirm_delete": "Supprimer cette règle d'escalade ?"
399
+ },
400
+ "canned_responses": {
401
+ "title": "Réponses prédéfinies",
402
+ "add": "Ajouter une réponse",
403
+ "title_placeholder": "Titre",
404
+ "body_placeholder": "Corps de la réponse...",
405
+ "category_placeholder": "Catégorie (facultatif)",
406
+ "no_responses": "Aucune réponse prédéfinie pour le moment",
407
+ "no_responses_desc": "Créez des modèles réutilisables pour les réponses courantes",
408
+ "confirm_delete": "Supprimer cette réponse prédéfinie ?"
409
+ },
410
+ "tags": {
411
+ "title": "Étiquettes",
412
+ "add": "Ajouter une étiquette",
413
+ "no_tags": "Aucune étiquette pour le moment",
414
+ "no_tags_desc": "Créez des étiquettes pour catégoriser et filtrer les tickets",
415
+ "confirm_delete": "Supprimer cette étiquette ?"
416
+ },
417
+ "macros": {
418
+ "title": "Macros",
419
+ "subtitle": "Les macros automatisent les actions répétitives sur les tickets.",
420
+ "create_macro": "Créer une macro",
421
+ "update_macro": "Mettre à jour la macro",
422
+ "shared_label": "Partagée avec tous les agents",
423
+ "add_action": "+ Ajouter une action",
424
+ "no_actions": "Aucune action pour le moment. Ajoutez des actions pour définir le comportement de cette macro.",
425
+ "set_status": "Définir le statut",
426
+ "set_priority": "Définir la priorité",
427
+ "assign_to": "Assigner à",
428
+ "add_tags": "Ajouter des étiquettes",
429
+ "move_to_department": "Déplacer vers le département",
430
+ "send_reply": "Envoyer une réponse",
431
+ "add_internal_note": "Ajouter une note interne",
432
+ "select_status": "Sélectionner le statut...",
433
+ "select_priority": "Sélectionner la priorité...",
434
+ "agent_placeholder": "Identifiant ou e-mail de l'agent",
435
+ "tags_placeholder": "Noms d'étiquettes séparés par des virgules",
436
+ "department_placeholder": "Identifiant ou nom du département",
437
+ "reply_placeholder": "Message de réponse...",
438
+ "note_placeholder": "Contenu de la note...",
439
+ "no_macros": "Aucune macro pour le moment",
440
+ "no_macros_desc": "Créez des macros pour automatiser les actions répétitives sur les tickets",
441
+ "creator": "Créateur",
442
+ "confirm_delete": "Supprimer cette macro ? Cette action est irréversible."
443
+ },
444
+ "api_tokens": {
445
+ "title": "Jetons API",
446
+ "subtitle": "Gérez les jetons API pour les applications de bureau et les intégrations externes.",
447
+ "create_token": "Créer un jeton",
448
+ "api_disabled": "L'API REST est actuellement désactivée. Définissez ESCALATED_API_ENABLED=true dans votre fichier .env pour l'activer.",
449
+ "token_created": "Jeton créé ! Copiez-le maintenant — il ne sera plus affiché.",
450
+ "new_token": "Nouveau jeton API",
451
+ "token_name": "Nom du jeton",
452
+ "token_name_placeholder": "ex. Application de bureau - Ordinateur professionnel",
453
+ "user": "Utilisateur",
454
+ "select_user": "Sélectionner un utilisateur...",
455
+ "abilities": "Permissions",
456
+ "expires_in": "Expire dans (jours)",
457
+ "no_expiration": "Laissez vide pour aucune expiration",
458
+ "last_used": "Dernière utilisation",
459
+ "expires": "Expire",
460
+ "never": "Jamais",
461
+ "expired": "Expiré",
462
+ "revoke": "Révoquer",
463
+ "no_tokens": "Aucun jeton API créé pour le moment.",
464
+ "confirm_revoke": "Êtes-vous sûr de vouloir révoquer ce jeton ? Cette action est irréversible."
465
+ },
466
+ "plugins": {
467
+ "title": "Extensions",
468
+ "upload": "Téléverser une extension",
469
+ "plugin_zip": "Fichier ZIP de l'extension",
470
+ "installed": "Extensions installées",
471
+ "no_plugins": "Aucune extension installée",
472
+ "no_plugins_alt": "Aucune extension installée pour le moment.",
473
+ "no_plugins_desc": "Téléversez un fichier ZIP d'extension pour enrichir Escalated avec des fonctionnalités personnalisées.",
474
+ "active": "Active",
475
+ "inactive": "Inactive",
476
+ "installed_date": "Installée le :date",
477
+ "menu_items": ":count élément(s) de menu",
478
+ "widgets": ":count widget(s)",
479
+ "page_components": ":count composant(s) de page",
480
+ "confirm_delete": "Êtes-vous sûr de vouloir supprimer cette extension ? Cette action est irréversible."
481
+ }
482
+ },
483
+ "agent": {
484
+ "dashboard": "Tableau de bord agent",
485
+ "open_tickets": "Tickets ouverts",
486
+ "my_assigned": "Mes assignations",
487
+ "unassigned": "Non assignés",
488
+ "sla_breached": "SLA dépassés",
489
+ "resolved_today": "Résolus aujourd'hui",
490
+ "needs_attention": "Nécessite une attention",
491
+ "sla_breaching": "SLA en dépassement",
492
+ "unassigned_urgent": "Non assignés urgents",
493
+ "recent_tickets": "Tickets récents",
494
+ "no_recent_tickets": "Aucun ticket récent",
495
+ "my_performance": "Ma performance",
496
+ "resolved_this_week": "Résolus cette semaine"
497
+ },
498
+ "guest": {
499
+ "submit_title": "Soumettre un ticket",
500
+ "submit_heading": "Soumettre un ticket de support",
501
+ "submit_desc": "Aucun compte nécessaire. Nous vous fournirons un lien pour suivre votre ticket.",
502
+ "sign_in_link": "Vous avez déjà un compte ? Connectez-vous",
503
+ "your_name": "Votre nom",
504
+ "email_address": "Adresse e-mail",
505
+ "bookmark_title": "Ajoutez cette page à vos favoris",
506
+ "bookmark_desc": "Ceci est votre lien privé pour consulter et répondre à ce ticket.",
507
+ "copy_link": "Copier le lien",
508
+ "write_reply": "Rédigez votre réponse..."
509
+ },
510
+ "customer": {
511
+ "replies": "Réponses",
512
+ "reply": "Répondre"
513
+ },
514
+ "chat": {
515
+ "live": "En direct",
516
+ "chat_with_us": "Discutez avec nous",
517
+ "start_chat": "Demarrer le Chat",
518
+ "end_chat": "Terminer le Chat",
519
+ "end_confirm": "Terminer ce chat ?",
520
+ "transfer": "Transferer",
521
+ "typing": ":name ecrit...",
522
+ "chatting_with": "Vous discutez avec :name",
523
+ "no_agents": "Aucun agent disponible",
524
+ "queue_position": "Vous etes en position #:position",
525
+ "placeholder": "Tapez un message...",
526
+ "note": "Note",
527
+ "empty_state": "Chat demarre — en attente de messages",
528
+ "new_messages": "Nouveaux messages",
529
+ "active_chats": "Chats Actifs",
530
+ "no_active_chats": "Aucun chat actif",
531
+ "open_panel": "Ouvrir le panneau de chat",
532
+ "close_panel": "Fermer le panneau de chat",
533
+ "no_chats_waiting": "Aucun chat en attente",
534
+ "customer": "Client",
535
+ "department": "Service",
536
+ "first_message": "Premier Message",
537
+ "wait_time": "Temps d'attente",
538
+ "accept": "Accepter",
539
+ "agents": "Agents",
540
+ "departments": "Services",
541
+ "how_was_experience": "Comment etait votre experience ?",
542
+ "start_new_chat": "Nouveau Chat",
543
+ "close": "Fermer",
544
+ "chat_ended": "Chat Termine",
545
+ "thank_you": "Merci pour votre avis !",
546
+ "submit_rating": "Soumettre l'evaluation",
547
+ "live_chats": "Chats en Direct"
548
+ },
549
+ "common": {
550
+ "change_status": "Changer le statut...",
551
+ "change_priority": "Changer la priorité...",
552
+ "kb": "Ko",
553
+ "upload": "Téléverser"
554
+ },
555
+ "workflows": {
556
+ "title": "Flux de travail",
557
+ "create": "Créer un flux de travail",
558
+ "edit": "Modifier le flux de travail",
559
+ "delete_confirm": "Supprimer ce flux de travail ? Cette action est irréversible.",
560
+ "no_workflows": "Aucun flux de travail",
561
+ "no_workflows_desc": "Créez des automatisations événementielles avec conditions et actions",
562
+ "name": "Nom du flux de travail",
563
+ "description": "Description",
564
+ "active": "Actif",
565
+ "save": "Enregistrer",
566
+ "cancel": "Annuler",
567
+ "view_logs": "Voir les journaux",
568
+ "last_triggered": "Dernier déclenchement",
569
+ "trigger_count": "Exécutions",
570
+ "trigger": {
571
+ "title": "Événement déclencheur",
572
+ "description": "Quand cela se produit...",
573
+ "ticket_created": "Ticket créé",
574
+ "ticket_created_desc": "Quand un nouveau ticket est soumis",
575
+ "ticket_updated": "Ticket mis à jour",
576
+ "ticket_updated_desc": "Quand un champ du ticket est modifié",
577
+ "reply_added": "Réponse ajoutée",
578
+ "reply_added_desc": "Quand une réponse est publiée sur un ticket",
579
+ "status_changed": "Statut modifié",
580
+ "status_changed_desc": "Quand le statut du ticket est mis à jour",
581
+ "ticket_assigned": "Ticket assigné",
582
+ "ticket_assigned_desc": "Quand un ticket est assigné à un agent",
583
+ "ticket_escalated": "Ticket escaladé",
584
+ "ticket_escalated_desc": "Quand un ticket est escaladé",
585
+ "sla_breached": "SLA enfreint",
586
+ "sla_breached_desc": "Quand un objectif SLA est enfreint",
587
+ "sla_warning": "Avertissement SLA",
588
+ "sla_warning_desc": "Quand un objectif SLA approche",
589
+ "chat_started": "Chat démarré",
590
+ "chat_started_desc": "Quand une session de chat commence",
591
+ "chat_ended": "Chat terminé",
592
+ "chat_ended_desc": "Quand une session de chat se termine"
593
+ },
594
+ "conditions": {
595
+ "title": "Conditions",
596
+ "description": "Seulement si ces conditions sont remplies...",
597
+ "optional": "optionnel",
598
+ "match_all": "Toutes les conditions (ET)",
599
+ "match_any": "N'importe quelle condition (OU)",
600
+ "add_condition": "Ajouter une condition",
601
+ "preview": "Aperçu",
602
+ "field": {
603
+ "status": "Statut",
604
+ "priority": "Priorité",
605
+ "type": "Type",
606
+ "channel": "Canal",
607
+ "tags": "Étiquettes",
608
+ "department": "Département",
609
+ "assigned_agent": "Agent assigné",
610
+ "subject": "Sujet",
611
+ "hours_since_created": "Heures depuis la création",
612
+ "hours_since_updated": "Heures depuis la mise à jour",
613
+ "reply_count": "Nombre de réponses",
614
+ "custom_field": "Champ personnalisé"
615
+ },
616
+ "operator": {
617
+ "equals": "égal à",
618
+ "not_equals": "différent de",
619
+ "contains": "contient",
620
+ "in": "dans",
621
+ "greater_than": "supérieur à",
622
+ "less_than": "inférieur à",
623
+ "is_empty": "est vide",
624
+ "matches": "correspond à"
625
+ }
626
+ },
627
+ "actions": {
628
+ "title": "Actions",
629
+ "description": "Alors faire ceci...",
630
+ "add_action": "Ajouter une action",
631
+ "assign_agent": "Assigner un agent",
632
+ "change_status": "Changer le statut",
633
+ "change_priority": "Changer la priorité",
634
+ "add_tag": "Ajouter une étiquette",
635
+ "remove_tag": "Supprimer une étiquette",
636
+ "move_department": "Changer de département",
637
+ "add_note": "Ajouter une note interne",
638
+ "send_email": "Envoyer une notification par email",
639
+ "send_webhook": "Envoyer un webhook",
640
+ "delay": "Délai",
641
+ "delay_message": "Attendre {duration} {unit}, puis continuer...",
642
+ "apply_macro": "Appliquer une macro",
643
+ "close_ticket": "Fermer le ticket",
644
+ "snooze": "Reporter",
645
+ "specific_agent": "Agent spécifique",
646
+ "least_busy": "Agent le moins occupé",
647
+ "round_robin": "Tour de rôle",
648
+ "not_configured": "Non configuré"
649
+ },
650
+ "logs": {
651
+ "title": "Journaux d'exécution",
652
+ "description": "Suivre les exécutions et déboguer les problèmes",
653
+ "no_logs": "Aucun journal d'exécution",
654
+ "no_logs_desc": "Les journaux apparaissent lorsque les flux sont déclenchés",
655
+ "timestamp": "Horodatage",
656
+ "workflow": "Flux de travail",
657
+ "ticket": "Ticket",
658
+ "event": "Événement",
659
+ "matched": "Correspondance",
660
+ "actions_executed": "Actions",
661
+ "duration": "Durée",
662
+ "status": "Statut",
663
+ "success": "Succès",
664
+ "failed": "Échoué",
665
+ "skipped": "Ignoré",
666
+ "action_details": "Exécution action par action",
667
+ "all_workflows": "Tous les flux de travail",
668
+ "from": "De",
669
+ "to": "À"
670
+ },
671
+ "variables": {
672
+ "insert": "Insérer une variable",
673
+ "ticket_reference": "Référence du ticket",
674
+ "ticket_subject": "Sujet du ticket",
675
+ "ticket_status": "Statut du ticket",
676
+ "agent_name": "Nom de l'agent",
677
+ "requester_name": "Nom du demandeur",
678
+ "requester_email": "Email du demandeur",
679
+ "department_name": "Nom du département"
680
+ },
681
+ "builder": {
682
+ "step": "Étape",
683
+ "trigger_step": "Étape 1 : Événement déclencheur",
684
+ "conditions_step": "Étape 2 : Conditions",
685
+ "actions_step": "Étape 3 : Actions",
686
+ "saving": "Enregistrement...",
687
+ "update": "Mettre à jour",
688
+ "create": "Créer"
689
+ }
403
690
  }
404
- },
405
- "agent": {
406
- "dashboard": "Tableau de bord agent",
407
- "open_tickets": "Tickets ouverts",
408
- "my_assigned": "Mes assignations",
409
- "unassigned": "Non assignés",
410
- "sla_breached": "SLA dépassés",
411
- "resolved_today": "Résolus aujourd'hui",
412
- "needs_attention": "Nécessite une attention",
413
- "sla_breaching": "SLA en dépassement",
414
- "unassigned_urgent": "Non assignés urgents",
415
- "recent_tickets": "Tickets récents",
416
- "no_recent_tickets": "Aucun ticket récent",
417
- "my_performance": "Ma performance",
418
- "resolved_this_week": "Résolus cette semaine"
419
- },
420
- "guest": {
421
- "submit_title": "Soumettre un ticket",
422
- "submit_heading": "Soumettre un ticket de support",
423
- "submit_desc": "Aucun compte nécessaire. Nous vous fournirons un lien pour suivre votre ticket.",
424
- "sign_in_link": "Vous avez déjà un compte ? Connectez-vous",
425
- "your_name": "Votre nom",
426
- "email_address": "Adresse e-mail",
427
- "bookmark_title": "Ajoutez cette page à vos favoris",
428
- "bookmark_desc": "Ceci est votre lien privé pour consulter et répondre à ce ticket.",
429
- "copy_link": "Copier le lien",
430
- "write_reply": "Rédigez votre réponse..."
431
- },
432
- "customer": {
433
- "replies": "Réponses",
434
- "reply": "Répondre"
435
- },
436
- "common": {
437
- "change_status": "Changer le statut...",
438
- "change_priority": "Changer la priorité...",
439
- "kb": "Ko",
440
- "upload": "Téléverser"
441
- }
442
- }
691
+ }