@consilioweb/payload-support 2.0.0 → 2.0.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.
- package/README.md +70 -3
- package/dist/components/TicketConversation/hooks/useTranslation.cjs +25 -2
- package/dist/components/TicketConversation/hooks/useTranslation.js +22 -3
- package/dist/views/SupportDashboardView/client.cjs +1 -1
- package/dist/views/SupportDashboardView/client.js +1 -1
- package/dist/views/TicketingSettingsView/client.cjs +1 -1
- package/dist/views/TicketingSettingsView/client.js +1 -1
- package/dist/views/shared/locales/en.json +708 -0
- package/dist/views/shared/locales/fr.json +708 -0
- package/package.json +12 -12
- package/src/__tests__/translations.test.ts +67 -0
- package/src/components/TicketConversation/hooks/useTranslation.ts +38 -4
- package/src/views/SupportDashboardView/client.tsx +1 -1
- package/src/views/TicketingSettingsView/client.tsx +1 -1
- package/src/views/shared/locales/en.json +2 -2
- package/src/views/shared/locales/fr.json +2 -2
|
@@ -0,0 +1,708 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"loading": "Loading...",
|
|
4
|
+
"cancel": "Cancel",
|
|
5
|
+
"save": "Save",
|
|
6
|
+
"previous": "Previous",
|
|
7
|
+
"next": "Next",
|
|
8
|
+
"page": "Page",
|
|
9
|
+
"results": "results",
|
|
10
|
+
"sessionExpired": "Your session has expired. Please reload the page."
|
|
11
|
+
},
|
|
12
|
+
"ticket": {
|
|
13
|
+
"allProjects": "All projects",
|
|
14
|
+
"status": {
|
|
15
|
+
"label": "Status",
|
|
16
|
+
"open": "Open",
|
|
17
|
+
"waiting_client": "Waiting for client",
|
|
18
|
+
"resolved": "Resolved",
|
|
19
|
+
"pending": "Pending",
|
|
20
|
+
"closed": "Closed",
|
|
21
|
+
"escalated": "Escalated",
|
|
22
|
+
"slaBreached": "SLA breached",
|
|
23
|
+
"waitingClient": "Waiting for client"
|
|
24
|
+
},
|
|
25
|
+
"category": {
|
|
26
|
+
"select": "— Category —",
|
|
27
|
+
"bugFull": "Bug",
|
|
28
|
+
"contentFull": "Content",
|
|
29
|
+
"featureFull": "Feature",
|
|
30
|
+
"questionFull": "Question",
|
|
31
|
+
"hostingFull": "Hosting",
|
|
32
|
+
"bug": "Bug",
|
|
33
|
+
"content": "Content",
|
|
34
|
+
"feature": "Feature",
|
|
35
|
+
"question": "Question",
|
|
36
|
+
"hosting": "Hosting"
|
|
37
|
+
},
|
|
38
|
+
"priority": {
|
|
39
|
+
"low": "Low",
|
|
40
|
+
"normal": "Normal",
|
|
41
|
+
"high": "High",
|
|
42
|
+
"urgent": "Urgent"
|
|
43
|
+
},
|
|
44
|
+
"source": {
|
|
45
|
+
"portal": "Portal"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"billing": {
|
|
49
|
+
"title": "Pre-billing",
|
|
50
|
+
"subtitle": "Time tracking and billing preparation",
|
|
51
|
+
"noProject": "No project",
|
|
52
|
+
"warningTickets": "{{count}} active ticket with no time logged for this period.",
|
|
53
|
+
"warningTicketsPlural": "{{count}} active tickets with no time logged for this period.",
|
|
54
|
+
"hideEmpty": "Hide these tickets",
|
|
55
|
+
"groupAmountBilled": "billed",
|
|
56
|
+
"tableCheckboxTitle": "Check/uncheck all",
|
|
57
|
+
"markBilledTitle": "Mark as billed",
|
|
58
|
+
"markUnbilledTitle": "Mark as unbilled",
|
|
59
|
+
"noTimeBadgeTitle": "No time logged for this period",
|
|
60
|
+
"noTimeBadge": "⚠ No time logged",
|
|
61
|
+
"noTimeRow": "No time logged. Check if time was forgotten.",
|
|
62
|
+
"summaryTitle": "AI Summary of actions",
|
|
63
|
+
"summaryToggleHide": "Hide details",
|
|
64
|
+
"summaryToggleShow": "Show AI details",
|
|
65
|
+
"summaryGeneratedAt": "Generated on {{date}}",
|
|
66
|
+
"summaryCopy": "Copy",
|
|
67
|
+
"summaryGenerate": "Generate",
|
|
68
|
+
"summaryRegenerate": "Regenerate",
|
|
69
|
+
"summaryGenerating": "Generating...",
|
|
70
|
+
"summaryPending": "Generation in progress in background. Click \"Generate\" to force.",
|
|
71
|
+
"summaryEmpty": "No summary available. The summary is generated automatically when the ticket is resolved, or manually via the \"Generate\" button.",
|
|
72
|
+
"totalLabel": "Total",
|
|
73
|
+
"ticketsDisplayed": "{{count}} ticket displayed",
|
|
74
|
+
"ticketsDisplayedPlural": "{{count}} tickets displayed",
|
|
75
|
+
"ticketsChecked": "{{count}} checked",
|
|
76
|
+
"ticketsCheckedPlural": "{{count}} checked",
|
|
77
|
+
"empty": "No tickets with time logged for this period.",
|
|
78
|
+
"tableHeaders": {
|
|
79
|
+
"number": "Ticket #",
|
|
80
|
+
"subject": "Subject",
|
|
81
|
+
"date": "Date",
|
|
82
|
+
"duration": "Duration",
|
|
83
|
+
"description": "Description",
|
|
84
|
+
"amount": "Amount",
|
|
85
|
+
"billed": "Billed"
|
|
86
|
+
},
|
|
87
|
+
"filters": {
|
|
88
|
+
"thisMonth": "This month",
|
|
89
|
+
"lastMonth": "Last month",
|
|
90
|
+
"thisQuarter": "This quarter",
|
|
91
|
+
"lastQuarter": "Last quarter",
|
|
92
|
+
"from": "From",
|
|
93
|
+
"to": "To",
|
|
94
|
+
"project": "Project",
|
|
95
|
+
"hourlyRate": "Hourly rate",
|
|
96
|
+
"rateUnit": "EUR/h",
|
|
97
|
+
"load": "Load",
|
|
98
|
+
"loading": "Loading..."
|
|
99
|
+
},
|
|
100
|
+
"totals": {
|
|
101
|
+
"checkAll": "Check all",
|
|
102
|
+
"uncheckAll": "Uncheck all",
|
|
103
|
+
"copyRecap": "Copy recap",
|
|
104
|
+
"copiedRecap": "✓ Copied!"
|
|
105
|
+
},
|
|
106
|
+
"recap": {
|
|
107
|
+
"header": "PRE-BILLING — From {{from}} to {{to}}",
|
|
108
|
+
"hourlyRate": "Hourly rate: {{rate}} EUR/h",
|
|
109
|
+
"project": "PROJECT: {{name}}",
|
|
110
|
+
"noProject": "No project",
|
|
111
|
+
"client": "Client: {{company}}",
|
|
112
|
+
"noTime": " [NO TIME LOGGED]",
|
|
113
|
+
"subtotal": "Subtotal",
|
|
114
|
+
"projectTotal": "Project total",
|
|
115
|
+
"grandTotal": "GRAND TOTAL",
|
|
116
|
+
"actionDetails": "Action details",
|
|
117
|
+
"forfait": " (flat rate)",
|
|
118
|
+
"eur": " EUR"
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"chat": {
|
|
122
|
+
"title": "Live Chat",
|
|
123
|
+
"subtitle": "Active sessions",
|
|
124
|
+
"sessionCount": "{{count}} active session",
|
|
125
|
+
"sessionCountPlural": "{{count}} active sessions",
|
|
126
|
+
"tabs": {
|
|
127
|
+
"active": "Active",
|
|
128
|
+
"closed": "Closed"
|
|
129
|
+
},
|
|
130
|
+
"noSessionActive": "No active sessions",
|
|
131
|
+
"noSessionClosed": "No closed sessions",
|
|
132
|
+
"selectSession": "Select a session to start",
|
|
133
|
+
"closeChat": "Close session",
|
|
134
|
+
"clientReview": "Client review",
|
|
135
|
+
"agent": "Agent",
|
|
136
|
+
"you": "You",
|
|
137
|
+
"clientLabel": "Client",
|
|
138
|
+
"quickReply": "Quick reply...",
|
|
139
|
+
"inputPlaceholder": "Write a message...",
|
|
140
|
+
"sendButton": "Send",
|
|
141
|
+
"msg": "msg"
|
|
142
|
+
},
|
|
143
|
+
"crm": {
|
|
144
|
+
"title": "CRM Clients",
|
|
145
|
+
"subtitle": "Client management and history",
|
|
146
|
+
"searchPlaceholder": "Search a client...",
|
|
147
|
+
"noClientFound": "No client found",
|
|
148
|
+
"selectClient": "Select a client to see their details",
|
|
149
|
+
"editButton": "Edit",
|
|
150
|
+
"mergeButton": "Merge",
|
|
151
|
+
"mergeTitle": "Merge into...",
|
|
152
|
+
"mergeSearchPlaceholder": "Search target client...",
|
|
153
|
+
"mergeNoClient": "No client found",
|
|
154
|
+
"noTickets": "No tickets for this client",
|
|
155
|
+
"timeAgo": {
|
|
156
|
+
"today": "Today",
|
|
157
|
+
"yesterday": "Yesterday",
|
|
158
|
+
"daysAgo": "{{count}}d ago",
|
|
159
|
+
"monthsAgo": "{{count}} months ago"
|
|
160
|
+
},
|
|
161
|
+
"mergeDescription": "All tickets, messages, projects and surveys from {{company}} will be transferred to the target client. The current client will be deleted.",
|
|
162
|
+
"aiSummaryTitle": "AI Summary",
|
|
163
|
+
"aiRefreshing": "⏳ Generating...",
|
|
164
|
+
"aiRefresh": "🔄 Refresh",
|
|
165
|
+
"aiLoading": "Loading summary...",
|
|
166
|
+
"aiRecurringTopics": "Recurring topics",
|
|
167
|
+
"aiPatterns": "Patterns",
|
|
168
|
+
"aiKeyFacts": "Key facts",
|
|
169
|
+
"aiSatisfaction": "Satisfaction: {{score}}/5",
|
|
170
|
+
"aiClickRefresh": "Click « Refresh » to generate the AI summary.",
|
|
171
|
+
"aiFromCache": "• Cache",
|
|
172
|
+
"stats": {
|
|
173
|
+
"totalTickets": "Total tickets",
|
|
174
|
+
"openTickets": "Open tickets",
|
|
175
|
+
"resolvedTickets": "Resolved tickets",
|
|
176
|
+
"timeSpent": "Time spent",
|
|
177
|
+
"lastActivity": "Last activity"
|
|
178
|
+
},
|
|
179
|
+
"sections": {
|
|
180
|
+
"projects": "Projects",
|
|
181
|
+
"tickets": "Tickets",
|
|
182
|
+
"viewAll": "View all"
|
|
183
|
+
},
|
|
184
|
+
"tableHeaders": {
|
|
185
|
+
"number": "#",
|
|
186
|
+
"subject": "Subject",
|
|
187
|
+
"status": "Status",
|
|
188
|
+
"date": "Date"
|
|
189
|
+
},
|
|
190
|
+
"projectStatus": {
|
|
191
|
+
"active": "Active",
|
|
192
|
+
"paused": "Paused",
|
|
193
|
+
"completed": "Completed"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"pendingEmails": {
|
|
197
|
+
"title": "Pending emails",
|
|
198
|
+
"subtitle": "Received emails to process",
|
|
199
|
+
"pendingCount": "{{count}} pending",
|
|
200
|
+
"tabs": {
|
|
201
|
+
"pending": "Pending",
|
|
202
|
+
"processed": "Processed",
|
|
203
|
+
"ignored": "Ignored"
|
|
204
|
+
},
|
|
205
|
+
"empty": {
|
|
206
|
+
"pending": "No pending emails",
|
|
207
|
+
"processed": "No processed emails",
|
|
208
|
+
"ignored": "No ignored emails"
|
|
209
|
+
},
|
|
210
|
+
"timeAgo": {
|
|
211
|
+
"justNow": "just now",
|
|
212
|
+
"minutesAgo": "{{count}}min ago",
|
|
213
|
+
"hoursAgo": "{{count}}h ago",
|
|
214
|
+
"daysAgo": "{{count}}d ago"
|
|
215
|
+
},
|
|
216
|
+
"linkModal": {
|
|
217
|
+
"title": "Link to a ticket",
|
|
218
|
+
"suggestions": "Suggestions",
|
|
219
|
+
"searchPlaceholder": "Search a ticket (TK-0042, subject...)...",
|
|
220
|
+
"searching": "Searching...",
|
|
221
|
+
"noTicketFound": "No ticket found"
|
|
222
|
+
},
|
|
223
|
+
"clientModal": {
|
|
224
|
+
"title": "Choose a client",
|
|
225
|
+
"detected": "Detected client",
|
|
226
|
+
"useButton": "Use",
|
|
227
|
+
"searchPlaceholder": "Search a client (name, email, company)...",
|
|
228
|
+
"searching": "Searching...",
|
|
229
|
+
"noClientFound": "No client found",
|
|
230
|
+
"createNew": "Create a new client",
|
|
231
|
+
"cancelCreate": "Cancel creation",
|
|
232
|
+
"firstName": "First name *",
|
|
233
|
+
"lastName": "Last name",
|
|
234
|
+
"email": "Email *",
|
|
235
|
+
"company": "Company *",
|
|
236
|
+
"requiredFields": "Email, first name and company are required",
|
|
237
|
+
"creating": "Creating...",
|
|
238
|
+
"createAndUse": "Create and use",
|
|
239
|
+
"createError": "Error during creation"
|
|
240
|
+
},
|
|
241
|
+
"emailCard": {
|
|
242
|
+
"attachments": "attachments",
|
|
243
|
+
"statusTicketCreated": "Ticket created",
|
|
244
|
+
"statusTicketCreatedNum": "Ticket created ({{num}})",
|
|
245
|
+
"statusAttached": "Linked",
|
|
246
|
+
"statusAttachedNum": "Linked to {{num}}",
|
|
247
|
+
"statusIgnored": "Ignored",
|
|
248
|
+
"similarTo": "Similar to {{ticket}} ({{score}}%)",
|
|
249
|
+
"collapse": "Collapse",
|
|
250
|
+
"expand": "Show all",
|
|
251
|
+
"createTicket": "Create a ticket",
|
|
252
|
+
"linkToTicket": "Link to a ticket",
|
|
253
|
+
"ignore": "Ignore"
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
"dashboard": {
|
|
257
|
+
"title": "Support Dashboard",
|
|
258
|
+
"subtitle": "Overview of support client metrics",
|
|
259
|
+
"loadingMetrics": "Loading metrics...",
|
|
260
|
+
"loadError": "Unable to load statistics.",
|
|
261
|
+
"cannotLoadStats": " Check your connection and reload the page.",
|
|
262
|
+
"openTickets": "Open tickets",
|
|
263
|
+
"waitingClient": "Waiting for client",
|
|
264
|
+
"responseTime": "Average response time",
|
|
265
|
+
"satisfaction": "Client satisfaction",
|
|
266
|
+
"activeTickets": "Active tickets",
|
|
267
|
+
"noActiveTickets": "No active tickets",
|
|
268
|
+
"volume7days": "Volume — last 7 days",
|
|
269
|
+
"csatTitle": "Client satisfaction (CSAT)",
|
|
270
|
+
"newTicketAction": "+ New ticket",
|
|
271
|
+
"pendingEmails": "Pending emails",
|
|
272
|
+
"crm": "CRM Clients",
|
|
273
|
+
"preBilling": "Pre-billing",
|
|
274
|
+
"exportCsv": "Export CSV",
|
|
275
|
+
"tableHeaders": {
|
|
276
|
+
"status": "Status",
|
|
277
|
+
"number": "#",
|
|
278
|
+
"subject": "Subject",
|
|
279
|
+
"client": "Client",
|
|
280
|
+
"modified": "Modified"
|
|
281
|
+
},
|
|
282
|
+
"sla": {
|
|
283
|
+
"loading": "Loading...",
|
|
284
|
+
"breached": "Breached",
|
|
285
|
+
"atRisk": "At risk",
|
|
286
|
+
"noBreached": "No breached tickets",
|
|
287
|
+
"noAtRisk": "No at-risk tickets",
|
|
288
|
+
"remaining": "{{time}} remaining"
|
|
289
|
+
},
|
|
290
|
+
"csat": {
|
|
291
|
+
"noData": "No data",
|
|
292
|
+
"reviews": "{{count}} reviews collected",
|
|
293
|
+
"noReviews": "No reviews"
|
|
294
|
+
},
|
|
295
|
+
"stable": "— stable",
|
|
296
|
+
"slaTitle": "SLA"
|
|
297
|
+
},
|
|
298
|
+
"inbox": {
|
|
299
|
+
"title": "Inbox",
|
|
300
|
+
"timeAgo": {
|
|
301
|
+
"now": "now"
|
|
302
|
+
},
|
|
303
|
+
"subtitle": {
|
|
304
|
+
"countOf": "{{count}} of {{total}} · ",
|
|
305
|
+
"slaAlert": "{{count}} SLA breached",
|
|
306
|
+
"slaAlertPlural": "{{count}} SLA breached",
|
|
307
|
+
"noSlaAlert": "No SLA alerts"
|
|
308
|
+
},
|
|
309
|
+
"searchPlaceholder": "Search a ticket...",
|
|
310
|
+
"newTicketBtn": "+ New ticket",
|
|
311
|
+
"empty": "No tickets found",
|
|
312
|
+
"tabs": {
|
|
313
|
+
"all": "All",
|
|
314
|
+
"open": "Open",
|
|
315
|
+
"waiting": "Waiting",
|
|
316
|
+
"resolved": "Resolved",
|
|
317
|
+
"slaBreach": "SLA breached"
|
|
318
|
+
},
|
|
319
|
+
"sort": {
|
|
320
|
+
"newest": "Most recent",
|
|
321
|
+
"oldest": "Oldest first",
|
|
322
|
+
"created": "Creation date",
|
|
323
|
+
"priority": "Priority"
|
|
324
|
+
},
|
|
325
|
+
"selected": "{{count}} selected",
|
|
326
|
+
"selectedPlural": "{{count}} selected",
|
|
327
|
+
"closeAction": "Close",
|
|
328
|
+
"reopenAction": "Reopen",
|
|
329
|
+
"moreActions": "More actions...",
|
|
330
|
+
"changePriority": "Change priority",
|
|
331
|
+
"deleteAction": "Delete",
|
|
332
|
+
"deselect": "Deselect",
|
|
333
|
+
"keyboardNavigate": "Navigate",
|
|
334
|
+
"keyboardOpen": "Open",
|
|
335
|
+
"rowCheckboxLabel": "Select {{num}}",
|
|
336
|
+
"priorityLabel": "Priority {{priority}}",
|
|
337
|
+
"slaBanner": {
|
|
338
|
+
"breached": "SLA breached",
|
|
339
|
+
"responseAwaitedFor": "Awaiting for {{duration}}",
|
|
340
|
+
"target": "Due: {{target}}",
|
|
341
|
+
"escalate": "Escalate"
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
"emailTracking": {
|
|
345
|
+
"title": "Email tracking",
|
|
346
|
+
"searchPlaceholder": "Search by recipient or subject...",
|
|
347
|
+
"noLogs": "No logs found for this period",
|
|
348
|
+
"tabs": {
|
|
349
|
+
"all": "All",
|
|
350
|
+
"success": "Success",
|
|
351
|
+
"errors": "Errors",
|
|
352
|
+
"ignored": "Ignored"
|
|
353
|
+
},
|
|
354
|
+
"stats": {
|
|
355
|
+
"emailsSent": "Emails sent",
|
|
356
|
+
"successRate": "Success rate",
|
|
357
|
+
"errors": "Errors",
|
|
358
|
+
"avgTime": "Avg time"
|
|
359
|
+
},
|
|
360
|
+
"tableHeaders": {
|
|
361
|
+
"date": "Date",
|
|
362
|
+
"recipient": "Recipient",
|
|
363
|
+
"subject": "Subject",
|
|
364
|
+
"ticket": "Ticket",
|
|
365
|
+
"status": "Status",
|
|
366
|
+
"action": "Action",
|
|
367
|
+
"time": "Time"
|
|
368
|
+
},
|
|
369
|
+
"errorLabel": "Error"
|
|
370
|
+
},
|
|
371
|
+
"logs": {
|
|
372
|
+
"title": "Email Logs",
|
|
373
|
+
"titleAuth": "Authentication logs",
|
|
374
|
+
"noLogs": "No logs",
|
|
375
|
+
"tabs": {
|
|
376
|
+
"email": "Email",
|
|
377
|
+
"auth": "Auth"
|
|
378
|
+
},
|
|
379
|
+
"statusSuccess": "Success",
|
|
380
|
+
"statusError": "Error",
|
|
381
|
+
"statusIgnored": "Ignored",
|
|
382
|
+
"statusFailed": "Failed",
|
|
383
|
+
"purge7": "Purge +7d",
|
|
384
|
+
"purge30": "Purge +30d",
|
|
385
|
+
"purge90": "Purge +90d",
|
|
386
|
+
"purgeAll": "Purge all",
|
|
387
|
+
"purgeAllLabel": "All",
|
|
388
|
+
"purgeDaysLabel": "+{{days}} days",
|
|
389
|
+
"purgeConfirm": "Delete {{collection}} logs older than {{label}}?",
|
|
390
|
+
"purgeResult": "{{count}} log(s) deleted",
|
|
391
|
+
"tableHeaders": {
|
|
392
|
+
"date": "Date",
|
|
393
|
+
"status": "Status",
|
|
394
|
+
"recipient": "Recipient",
|
|
395
|
+
"subject": "Subject",
|
|
396
|
+
"action": "Action",
|
|
397
|
+
"time": "Time",
|
|
398
|
+
"email": "Email",
|
|
399
|
+
"ip": "IP",
|
|
400
|
+
"userAgent": "User Agent"
|
|
401
|
+
}
|
|
402
|
+
},
|
|
403
|
+
"import": {
|
|
404
|
+
"title": "Import conversation",
|
|
405
|
+
"newImport": "New import",
|
|
406
|
+
"dropzoneText": "Drag a .md or .txt file here, or click to select",
|
|
407
|
+
"dropzoneLoaded": "File loaded — click to choose another",
|
|
408
|
+
"acceptedFormats": "Accepted formats: .md, .txt — Max 500 KB",
|
|
409
|
+
"formatError": "Unsupported format. Use a .md or .txt file",
|
|
410
|
+
"sizeError": "File too large (max 500 KB)",
|
|
411
|
+
"analyzing": "Analyzing...",
|
|
412
|
+
"preview": "Analyze",
|
|
413
|
+
"importing": "Importing...",
|
|
414
|
+
"importButton": "Import {{count}} messages",
|
|
415
|
+
"client": "Client",
|
|
416
|
+
"name": "Name",
|
|
417
|
+
"email": "Email",
|
|
418
|
+
"company": "Company",
|
|
419
|
+
"parsing": "Parsing method",
|
|
420
|
+
"parsingRegex": "Structured regex",
|
|
421
|
+
"parsingAi": "AI",
|
|
422
|
+
"messages": "messages",
|
|
423
|
+
"resultTitle": "Import successful",
|
|
424
|
+
"resultTicket": "Ticket created",
|
|
425
|
+
"resultClient": "Client",
|
|
426
|
+
"resultCompany": "Company",
|
|
427
|
+
"resultMessages": "Messages imported",
|
|
428
|
+
"resultImported": "{{count}} messages imported",
|
|
429
|
+
"resultNew": "New client",
|
|
430
|
+
"analyzeError": "Analysis error",
|
|
431
|
+
"networkError": "Network error",
|
|
432
|
+
"importError": "Import error",
|
|
433
|
+
"errorTitle": "Error"
|
|
434
|
+
},
|
|
435
|
+
"newTicket": {
|
|
436
|
+
"title": "New ticket",
|
|
437
|
+
"subtitle": "Create a ticket manually",
|
|
438
|
+
"backToInbox": "Back to inbox",
|
|
439
|
+
"clientLabel": "Client",
|
|
440
|
+
"clientSearchPlaceholder": "Search a client (email, name, company)...",
|
|
441
|
+
"subjectLabel": "Subject",
|
|
442
|
+
"subjectPlaceholder": "Describe the issue in one line...",
|
|
443
|
+
"categoryLabel": "Category",
|
|
444
|
+
"priorityLabel": "Priority",
|
|
445
|
+
"projectLabel": "Project",
|
|
446
|
+
"descriptionLabel": "Description",
|
|
447
|
+
"descriptionPlaceholder": "Describe the issue in detail...",
|
|
448
|
+
"submitButton": "Create ticket",
|
|
449
|
+
"submitting": "Creating...",
|
|
450
|
+
"noProject": "— None —",
|
|
451
|
+
"errors": {
|
|
452
|
+
"subjectRequired": "Subject is required",
|
|
453
|
+
"clientRequired": "Please select a client",
|
|
454
|
+
"creationError": "Error creating ticket",
|
|
455
|
+
"networkError": "Network error. Please try again."
|
|
456
|
+
}
|
|
457
|
+
},
|
|
458
|
+
"timeDashboard": {
|
|
459
|
+
"title": "Time spent",
|
|
460
|
+
"subtitle": "Visualization of time entries",
|
|
461
|
+
"newEntry": "+ New entry",
|
|
462
|
+
"empty": "No time entries for this period",
|
|
463
|
+
"noDate": "No date",
|
|
464
|
+
"filters": {
|
|
465
|
+
"thisMonth": "This month",
|
|
466
|
+
"lastMonth": "Last month",
|
|
467
|
+
"twoMonthsAgo": "2 months ago",
|
|
468
|
+
"from": "From",
|
|
469
|
+
"to": "To",
|
|
470
|
+
"groupBy": "Group by",
|
|
471
|
+
"day": "Day",
|
|
472
|
+
"week": "Week",
|
|
473
|
+
"project": "Project"
|
|
474
|
+
},
|
|
475
|
+
"kpis": {
|
|
476
|
+
"totalTime": "Total time",
|
|
477
|
+
"entries": "Entries",
|
|
478
|
+
"dailyAverage": "Daily average"
|
|
479
|
+
},
|
|
480
|
+
"chart": {
|
|
481
|
+
"title": "Daily activity"
|
|
482
|
+
}
|
|
483
|
+
},
|
|
484
|
+
"detail": {
|
|
485
|
+
"selectTicket": "Select a ticket",
|
|
486
|
+
"notFound": "Ticket not found",
|
|
487
|
+
"source": "Source",
|
|
488
|
+
"statusOpen": "Open",
|
|
489
|
+
"statusWaiting": "Waiting for client",
|
|
490
|
+
"statusResolved": "Resolved",
|
|
491
|
+
"copyLink": "Copy link",
|
|
492
|
+
"payloadView": "Payload view",
|
|
493
|
+
"clientView": "Client view",
|
|
494
|
+
"viewingAlso": "{{names}} is also viewing this ticket",
|
|
495
|
+
"viewingAlsoPlural": "{{names}} are also viewing this ticket",
|
|
496
|
+
"messageDeleted": "Message deleted",
|
|
497
|
+
"iaSuggestion": "AI suggestion",
|
|
498
|
+
"file": "File",
|
|
499
|
+
"applyingMacro": "Applying...",
|
|
500
|
+
"macros": "Macros",
|
|
501
|
+
"cannedResponses": "Canned responses",
|
|
502
|
+
"internalNote": "Internal note",
|
|
503
|
+
"notify": "Notify client",
|
|
504
|
+
"sending": "Sending...",
|
|
505
|
+
"sendNote": "Save note",
|
|
506
|
+
"sendReply": "Send reply",
|
|
507
|
+
"typing": "{{name}} is typing...",
|
|
508
|
+
"details": "Details",
|
|
509
|
+
"priority": "Priority",
|
|
510
|
+
"category": "Category",
|
|
511
|
+
"assigned": "Assigned to",
|
|
512
|
+
"time": "Time",
|
|
513
|
+
"total": "total",
|
|
514
|
+
"tags": "Tags",
|
|
515
|
+
"activity": "Activity",
|
|
516
|
+
"backToInbox": "Back to inbox",
|
|
517
|
+
"badgeInternal": "Internal",
|
|
518
|
+
"badgeSolution": "Solution",
|
|
519
|
+
"editPlaceholder": "Edit message...",
|
|
520
|
+
"editSaving": "Saving...",
|
|
521
|
+
"editSave": "Save",
|
|
522
|
+
"sendAsSupport": "As: Support",
|
|
523
|
+
"sendAsClient": "As: Client",
|
|
524
|
+
"addClientMessage": "Add client message",
|
|
525
|
+
"loadingSummary": "✨ Loading summary…",
|
|
526
|
+
"addTime": "+ Add",
|
|
527
|
+
"timerStart": "Start timer",
|
|
528
|
+
"timerPause": "Pause timer",
|
|
529
|
+
"timerSave": "Save time",
|
|
530
|
+
"messageDeletedToast": "Message deleted",
|
|
531
|
+
"split": {
|
|
532
|
+
"subjectPlaceholder": "New ticket subject...",
|
|
533
|
+
"createBtn": "Create ticket"
|
|
534
|
+
},
|
|
535
|
+
"editMessage": "Edit",
|
|
536
|
+
"editMessageLabel": "Edit message",
|
|
537
|
+
"uploadItem": "Attachment {{name}}",
|
|
538
|
+
"removeUpload": "Remove {{name}}",
|
|
539
|
+
"tagPlaceholder": "Tag...",
|
|
540
|
+
"addTag": "Add a tag",
|
|
541
|
+
"removeTag": "Remove tag {{tag}}",
|
|
542
|
+
"addTagBtn": "+ Tag",
|
|
543
|
+
"billing": {
|
|
544
|
+
"title": "Billing",
|
|
545
|
+
"type": "Type",
|
|
546
|
+
"hourly": "Time-based",
|
|
547
|
+
"flat": "Flat rate",
|
|
548
|
+
"flatAmount": "Flat amount",
|
|
549
|
+
"billedAmount": "Billed amount",
|
|
550
|
+
"payment": "Payment",
|
|
551
|
+
"unpaid": "Unpaid",
|
|
552
|
+
"partial": "Partial",
|
|
553
|
+
"paid": "Paid",
|
|
554
|
+
"billable": "Billable",
|
|
555
|
+
"yes": "Yes",
|
|
556
|
+
"no": "No",
|
|
557
|
+
"estimatedAmount": "Estimated amount"
|
|
558
|
+
},
|
|
559
|
+
"aiCard": {
|
|
560
|
+
"title": "Client summary",
|
|
561
|
+
"nextActions": {
|
|
562
|
+
"title": "Next actions"
|
|
563
|
+
}
|
|
564
|
+
},
|
|
565
|
+
"sidebar": {
|
|
566
|
+
"tabs": {
|
|
567
|
+
"overview": "Overview",
|
|
568
|
+
"client": "Client",
|
|
569
|
+
"activity": "Activity"
|
|
570
|
+
},
|
|
571
|
+
"previousTickets": "Previous tickets"
|
|
572
|
+
}
|
|
573
|
+
},
|
|
574
|
+
"composer": {
|
|
575
|
+
"placeholderInternal": "Add an internal note...",
|
|
576
|
+
"placeholderReplyTo": "Reply to {{name}}...",
|
|
577
|
+
"aliases": {
|
|
578
|
+
"label": "Send as",
|
|
579
|
+
"tooltip": "Choose a send alias",
|
|
580
|
+
"self": "Myself"
|
|
581
|
+
},
|
|
582
|
+
"aiSuggestion": {
|
|
583
|
+
"label": "AI suggestion",
|
|
584
|
+
"ignore": "Ignore",
|
|
585
|
+
"insert": "Use",
|
|
586
|
+
"loading": "Generating..."
|
|
587
|
+
}
|
|
588
|
+
},
|
|
589
|
+
"client": {
|
|
590
|
+
"clientSheet": "Client sheet",
|
|
591
|
+
"clientPortal": "Client portal"
|
|
592
|
+
},
|
|
593
|
+
"actions": {
|
|
594
|
+
"deleteMessage": "Delete",
|
|
595
|
+
"extractMessage": "Extract",
|
|
596
|
+
"extractToNewTicket": "Extract to new ticket",
|
|
597
|
+
"resendEmail": "Resend email"
|
|
598
|
+
},
|
|
599
|
+
"settingsView": {
|
|
600
|
+
"configTitle": "Support module configuration",
|
|
601
|
+
"intro": "Manage features, email configuration, AI and support module preferences.",
|
|
602
|
+
"featuresTitle": "Features",
|
|
603
|
+
"featuresDescription": "Enable or disable support module features.",
|
|
604
|
+
"reset": "Reset",
|
|
605
|
+
"saved": "✓ Saved",
|
|
606
|
+
"emailConfig": "Email Configuration",
|
|
607
|
+
"emailDescription": "Email notification settings. The SMTP address is configured via server environment variables.",
|
|
608
|
+
"senderAddress": "Sender address",
|
|
609
|
+
"senderAddressDesc": "Email address shown in the From field",
|
|
610
|
+
"senderName": "Sender name",
|
|
611
|
+
"senderNameDesc": "Name displayed next to the email address",
|
|
612
|
+
"replyTo": "Reply-To address",
|
|
613
|
+
"replyToDesc": "If different from sender address",
|
|
614
|
+
"smtpServer": "SMTP Server",
|
|
615
|
+
"smtpServerDesc": "Configured via environment variables",
|
|
616
|
+
"smtpPort": "SMTP Port",
|
|
617
|
+
"aiTitle": "Artificial Intelligence",
|
|
618
|
+
"aiDescription": "Configure the AI provider and enable/disable each feature independently. AI features require the flag to be active.",
|
|
619
|
+
"aiProvider": "Provider",
|
|
620
|
+
"aiProviderDesc": "AI service used for analysis",
|
|
621
|
+
"aiApiKey": "API Key",
|
|
622
|
+
"aiApiKeyDesc": "Provider secret key (not stored in plain text)",
|
|
623
|
+
"aiModel": "Model",
|
|
624
|
+
"aiModelDesc": "Model name to use",
|
|
625
|
+
"aiSubFeatures": "Individual AI features",
|
|
626
|
+
"aiSentiment": "Sentiment analysis",
|
|
627
|
+
"aiSentimentDesc": "Detects client frustration or satisfaction level",
|
|
628
|
+
"aiSynthesis": "Automatic summary",
|
|
629
|
+
"aiSynthesisDesc": "Summarizes long conversations in a few sentences",
|
|
630
|
+
"aiSuggestion": "Reply suggestion",
|
|
631
|
+
"aiSuggestionDesc": "Proposes a reply draft based on context",
|
|
632
|
+
"aiRewrite": "Rewriting",
|
|
633
|
+
"aiRewriteDesc": "Rewrites a message to make it more professional",
|
|
634
|
+
"showKey": "Show",
|
|
635
|
+
"hideKey": "Hide",
|
|
636
|
+
"aiBadgeActive": "Active",
|
|
637
|
+
"aiBadgeInactive": "Inactive",
|
|
638
|
+
"slaTitle": "SLA (Service Level Agreements)",
|
|
639
|
+
"slaDescription": "Set expected response and resolution times. These thresholds are used for performance tracking and escalation alerts.",
|
|
640
|
+
"slaFirstResponse": "First response",
|
|
641
|
+
"slaFirstResponseDesc": "Maximum delay in minutes (default: 120 = 2h)",
|
|
642
|
+
"slaResolution": "Resolution",
|
|
643
|
+
"slaResolutionDesc": "Maximum delay in minutes (default: 1440 = 24h)",
|
|
644
|
+
"minutes": "minutes",
|
|
645
|
+
"businessHoursOnly": "Business hours only",
|
|
646
|
+
"businessHoursDesc": "SLA countdown pauses outside business hours (Mon-Fri, 9am-6pm)",
|
|
647
|
+
"escalationEmail": "Escalation email",
|
|
648
|
+
"escalationEmailDesc": "Address notified when SLA is exceeded",
|
|
649
|
+
"autoCloseTitle": "Automatic closure",
|
|
650
|
+
"autoCloseDescription": "Waiting tickets without client response will be automatically resolved after the configured delay. A reminder email is sent before closure.",
|
|
651
|
+
"autoCloseEnable": "Enable automatic closure",
|
|
652
|
+
"autoCloseDelay": "Delay before closure",
|
|
653
|
+
"autoCloseDelayDesc": "Days without client response",
|
|
654
|
+
"days": "days",
|
|
655
|
+
"autoCloseReminder": "Reminder before closure",
|
|
656
|
+
"autoCloseReminderDesc": "Reminder email sent X days before",
|
|
657
|
+
"autoCloseDaysBeforeReminder": "days before (reminder at D-{{count}})",
|
|
658
|
+
"myPreferences": "My preferences",
|
|
659
|
+
"myPreferencesDesc": "These settings are specific to your account.",
|
|
660
|
+
"localeTitle": "Language and localization",
|
|
661
|
+
"localeDescription": "Support module interface language and email notifications language.",
|
|
662
|
+
"language": "Language",
|
|
663
|
+
"languageDesc": "Module primary language",
|
|
664
|
+
"french": "Francais",
|
|
665
|
+
"english": "English",
|
|
666
|
+
"signatureTitle": "Email signature",
|
|
667
|
+
"signatureDescription": "Signature automatically added at the bottom of each reply email sent to the client. Supports plain text and basic HTML.",
|
|
668
|
+
"signaturePlaceholder": "Best regards,\nThe ConsilioWEB team",
|
|
669
|
+
"purgeTitle": "Log purge",
|
|
670
|
+
"purgeDescription": "Delete old logs to free up space. This action is irreversible.",
|
|
671
|
+
"purgeEmailLogs": "Email Logs",
|
|
672
|
+
"purgeAuthLogs": "Auth Logs",
|
|
673
|
+
"purge7days": "7 days",
|
|
674
|
+
"purge30days": "30 days",
|
|
675
|
+
"purge90days": "90 days",
|
|
676
|
+
"purgeAllLabel": "All",
|
|
677
|
+
"purgeConfirm": "Delete {{collection}} logs older than {{days}} days?",
|
|
678
|
+
"purgeDone": "log(s) deleted",
|
|
679
|
+
"resetAll": "Reset all",
|
|
680
|
+
"saving": "Saving...",
|
|
681
|
+
"saved2": "✓ Saved",
|
|
682
|
+
"saveChanges": "Save changes",
|
|
683
|
+
"features": {
|
|
684
|
+
"canned": { "label": "Quick replies", "description": "Pre-registered response templates with dynamic variables" },
|
|
685
|
+
"scheduledReplies": { "label": "Scheduled replies", "description": "Send a reply at a future date/time" },
|
|
686
|
+
"activityLog": { "label": "Activity log", "description": "Timeline of actions on each ticket (status changes, assignment...)" },
|
|
687
|
+
"emailTracking": { "label": "Email tracking", "description": "Send and open tracking for email notifications" },
|
|
688
|
+
"chat": { "label": "Live Chat", "description": "Real-time chat with ticket conversion" },
|
|
689
|
+
"externalMessages": { "label": "External messages", "description": "Manually add messages received by email, SMS, WhatsApp..." },
|
|
690
|
+
"ai": { "label": "Artificial Intelligence", "description": "Sentiment analysis, summary, reply suggestion, rewriting" },
|
|
691
|
+
"timeTracking": { "label": "Time tracking", "description": "Timer, manual entries, billing" },
|
|
692
|
+
"satisfaction": { "label": "Satisfaction surveys", "description": "CSAT score after ticket resolution" },
|
|
693
|
+
"merge": { "label": "Ticket merge", "description": "Combine two tickets into one" },
|
|
694
|
+
"splitTicket": { "label": "Message extraction", "description": "Extract a message into a new linked ticket" },
|
|
695
|
+
"snooze": { "label": "Snooze", "description": "Temporarily hide a ticket with automatic reminder" },
|
|
696
|
+
"clientHistory": { "label": "Client history", "description": "Past tickets, projects and internal notes" }
|
|
697
|
+
},
|
|
698
|
+
"categories": {
|
|
699
|
+
"core": "Core features",
|
|
700
|
+
"communication": "Communication",
|
|
701
|
+
"productivity": "Productivity",
|
|
702
|
+
"advanced": "Advanced"
|
|
703
|
+
}
|
|
704
|
+
},
|
|
705
|
+
"settings": {
|
|
706
|
+
"subtitle": "{{enabled}}/{{total}} active features"
|
|
707
|
+
}
|
|
708
|
+
}
|