@consilioweb/payload-support 0.5.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/LICENSE +21 -0
- package/README.md +525 -0
- package/dist/client.cjs +7 -0
- package/dist/client.d.cts +3 -0
- package/dist/client.d.ts +3 -0
- package/dist/client.js +5 -0
- package/dist/index.cjs +7766 -0
- package/dist/index.d.cts +384 -0
- package/dist/index.d.ts +384 -0
- package/dist/index.js +7730 -0
- package/dist/views.d.cts +30 -0
- package/dist/views.d.ts +30 -0
- package/package.json +131 -0
- package/src/client.ts +1 -0
- package/src/collections/AuthLogs.ts +65 -0
- package/src/collections/CannedResponses.ts +69 -0
- package/src/collections/ChatMessages.ts +98 -0
- package/src/collections/EmailLogs.ts +94 -0
- package/src/collections/KnowledgeBase.ts +99 -0
- package/src/collections/Macros.ts +98 -0
- package/src/collections/PendingEmails.ts +122 -0
- package/src/collections/SatisfactionSurveys.ts +98 -0
- package/src/collections/SlaPolicies.ts +123 -0
- package/src/collections/SupportClients.ts +210 -0
- package/src/collections/TicketActivityLog.ts +81 -0
- package/src/collections/TicketMessages.ts +364 -0
- package/src/collections/TicketStatuses.ts +108 -0
- package/src/collections/Tickets.ts +704 -0
- package/src/collections/TimeEntries.ts +105 -0
- package/src/collections/WebhookEndpoints.ts +96 -0
- package/src/collections/index.ts +16 -0
- package/src/components/TicketConversation/components/AISummaryPanel.tsx +85 -0
- package/src/components/TicketConversation/components/ActionPanels.tsx +140 -0
- package/src/components/TicketConversation/components/ActivityLog.tsx +39 -0
- package/src/components/TicketConversation/components/ClientBar.tsx +37 -0
- package/src/components/TicketConversation/components/ClientHistory.tsx +117 -0
- package/src/components/TicketConversation/components/CodeBlock.tsx +186 -0
- package/src/components/TicketConversation/components/CodeBlockInserter.tsx +166 -0
- package/src/components/TicketConversation/components/QuickActions.tsx +82 -0
- package/src/components/TicketConversation/components/TicketHeader.tsx +91 -0
- package/src/components/TicketConversation/components/TimeTrackingPanel.tsx +161 -0
- package/src/components/TicketConversation/config.ts +82 -0
- package/src/components/TicketConversation/constants.ts +74 -0
- package/src/components/TicketConversation/context.ts +63 -0
- package/src/components/TicketConversation/hooks/useAI.ts +180 -0
- package/src/components/TicketConversation/hooks/useMessageActions.ts +131 -0
- package/src/components/TicketConversation/hooks/useReply.ts +190 -0
- package/src/components/TicketConversation/hooks/useTicketActions.ts +205 -0
- package/src/components/TicketConversation/hooks/useTimeTracking.ts +107 -0
- package/src/components/TicketConversation/hooks/useTranslation.ts +116 -0
- package/src/components/TicketConversation/index.tsx +1110 -0
- package/src/components/TicketConversation/locales/en.json +878 -0
- package/src/components/TicketConversation/locales/fr.json +878 -0
- package/src/components/TicketConversation/types.ts +54 -0
- package/src/components/TicketConversation/utils.ts +25 -0
- package/src/endpoints/admin-chat-stream.ts +238 -0
- package/src/endpoints/admin-chat.ts +263 -0
- package/src/endpoints/admin-stats.ts +200 -0
- package/src/endpoints/ai.ts +199 -0
- package/src/endpoints/apply-macro.ts +144 -0
- package/src/endpoints/auth-2fa.ts +163 -0
- package/src/endpoints/auto-close.ts +175 -0
- package/src/endpoints/billing.ts +167 -0
- package/src/endpoints/bulk-action.ts +103 -0
- package/src/endpoints/chat-stream.ts +127 -0
- package/src/endpoints/chat.ts +188 -0
- package/src/endpoints/chatbot.ts +113 -0
- package/src/endpoints/delete-account.ts +129 -0
- package/src/endpoints/email-stats.ts +109 -0
- package/src/endpoints/export-csv.ts +84 -0
- package/src/endpoints/export-data.ts +104 -0
- package/src/endpoints/import-conversation.ts +307 -0
- package/src/endpoints/index.ts +154 -0
- package/src/endpoints/login.ts +92 -0
- package/src/endpoints/merge-clients.ts +132 -0
- package/src/endpoints/merge-tickets.ts +137 -0
- package/src/endpoints/oauth-google.ts +179 -0
- package/src/endpoints/pending-emails-process.ts +224 -0
- package/src/endpoints/presence.ts +104 -0
- package/src/endpoints/process-scheduled.ts +144 -0
- package/src/endpoints/purge-logs.ts +58 -0
- package/src/endpoints/resend-notification.ts +99 -0
- package/src/endpoints/round-robin-config.ts +92 -0
- package/src/endpoints/satisfaction.ts +93 -0
- package/src/endpoints/search.ts +106 -0
- package/src/endpoints/seed-kb.ts +153 -0
- package/src/endpoints/settings.ts +144 -0
- package/src/endpoints/signature.ts +93 -0
- package/src/endpoints/sla-check.ts +124 -0
- package/src/endpoints/split-ticket.ts +131 -0
- package/src/endpoints/statuses.ts +45 -0
- package/src/endpoints/track-open.ts +154 -0
- package/src/endpoints/typing.ts +101 -0
- package/src/endpoints/user-prefs.ts +125 -0
- package/src/hooks/checkSLA.ts +414 -0
- package/src/hooks/ticketStatusEmail.ts +182 -0
- package/src/index.ts +51 -0
- package/src/plugin.ts +157 -0
- package/src/portal/LiveChat.tsx +1353 -0
- package/src/portal/auth/ChatWidget.tsx +350 -0
- package/src/portal/auth/ChatbotWidget.tsx +285 -0
- package/src/portal/auth/SupportHeader.tsx +409 -0
- package/src/portal/auth/dashboard/DashboardClient.tsx +650 -0
- package/src/portal/auth/dashboard/page.tsx +84 -0
- package/src/portal/auth/faq/FAQSearch.tsx +117 -0
- package/src/portal/auth/faq/page.tsx +199 -0
- package/src/portal/auth/layout.tsx +61 -0
- package/src/portal/auth/profile/page.tsx +705 -0
- package/src/portal/auth/tickets/detail/CloseTicketButton.tsx +74 -0
- package/src/portal/auth/tickets/detail/CollapsibleMessages.tsx +46 -0
- package/src/portal/auth/tickets/detail/MarkSolutionButton.tsx +50 -0
- package/src/portal/auth/tickets/detail/MessageActions.tsx +158 -0
- package/src/portal/auth/tickets/detail/PrintButton.tsx +16 -0
- package/src/portal/auth/tickets/detail/ReadReceipt.tsx +34 -0
- package/src/portal/auth/tickets/detail/ReopenTicketButton.tsx +74 -0
- package/src/portal/auth/tickets/detail/SatisfactionForm.tsx +156 -0
- package/src/portal/auth/tickets/detail/TicketPolling.tsx +57 -0
- package/src/portal/auth/tickets/detail/TicketReplyForm.tsx +294 -0
- package/src/portal/auth/tickets/detail/TypingIndicator.tsx +58 -0
- package/src/portal/auth/tickets/detail/page.tsx +738 -0
- package/src/portal/auth/tickets/new/page.tsx +515 -0
- package/src/portal/forgot-password/page.tsx +114 -0
- package/src/portal/layout.tsx +26 -0
- package/src/portal/locales/en.json +374 -0
- package/src/portal/locales/fr.json +374 -0
- package/src/portal/login/page.tsx +351 -0
- package/src/portal/page.tsx +162 -0
- package/src/portal/register/page.tsx +281 -0
- package/src/portal/reset-password/page.tsx +152 -0
- package/src/styles/BillingView.module.scss +311 -0
- package/src/styles/ChatView.module.scss +438 -0
- package/src/styles/CommandPalette.module.scss +160 -0
- package/src/styles/CrmView.module.scss +554 -0
- package/src/styles/EmailTracking.module.scss +238 -0
- package/src/styles/ImportConversation.module.scss +267 -0
- package/src/styles/Layout.module.scss +55 -0
- package/src/styles/Logs.module.scss +164 -0
- package/src/styles/NewTicket.module.scss +143 -0
- package/src/styles/PendingEmails.module.scss +629 -0
- package/src/styles/SupportDashboard.module.scss +649 -0
- package/src/styles/TicketDetail.module.scss +1043 -0
- package/src/styles/TicketInbox.module.scss +296 -0
- package/src/styles/TicketingSettings.module.scss +358 -0
- package/src/styles/TimeDashboard.module.scss +287 -0
- package/src/styles/_tokens.scss +78 -0
- package/src/styles/theme.css +633 -0
- package/src/types.ts +255 -0
- package/src/utils/adminNotification.ts +38 -0
- package/src/utils/auth.ts +46 -0
- package/src/utils/emailTemplate.ts +343 -0
- package/src/utils/fireWebhooks.ts +84 -0
- package/src/utils/index.ts +22 -0
- package/src/utils/rateLimiter.ts +52 -0
- package/src/utils/readSettings.ts +67 -0
- package/src/utils/slugs.ts +54 -0
- package/src/utils/webhookDispatcher.ts +120 -0
- package/src/views/BillingView/client.tsx +137 -0
- package/src/views/BillingView/index.tsx +33 -0
- package/src/views/ChatView/client.tsx +294 -0
- package/src/views/ChatView/index.tsx +33 -0
- package/src/views/CrmView/client.tsx +206 -0
- package/src/views/CrmView/index.tsx +33 -0
- package/src/views/EmailTrackingView/client.tsx +124 -0
- package/src/views/EmailTrackingView/index.tsx +33 -0
- package/src/views/ImportConversationView/client.tsx +133 -0
- package/src/views/ImportConversationView/index.tsx +33 -0
- package/src/views/LogsView/client.tsx +151 -0
- package/src/views/LogsView/index.tsx +30 -0
- package/src/views/NewTicketView/client.tsx +227 -0
- package/src/views/NewTicketView/index.tsx +30 -0
- package/src/views/PendingEmailsView/client.tsx +177 -0
- package/src/views/PendingEmailsView/index.tsx +33 -0
- package/src/views/SupportDashboardView/client.tsx +424 -0
- package/src/views/SupportDashboardView/index.tsx +33 -0
- package/src/views/TicketDetailView/client.tsx +775 -0
- package/src/views/TicketDetailView/index.tsx +33 -0
- package/src/views/TicketInboxView/client.tsx +313 -0
- package/src/views/TicketInboxView/index.tsx +30 -0
- package/src/views/TicketingSettingsView/client.tsx +866 -0
- package/src/views/TicketingSettingsView/index.tsx +33 -0
- package/src/views/TimeDashboardView/client.tsx +144 -0
- package/src/views/TimeDashboardView/index.tsx +33 -0
- package/src/views/shared/AdminViewHeader.tsx +69 -0
- package/src/views/shared/ErrorBoundary.tsx +68 -0
- package/src/views/shared/Skeleton.tsx +125 -0
- package/src/views/shared/adminTokens.ts +37 -0
- package/src/views/shared/config.ts +82 -0
- package/src/views/shared/index.ts +6 -0
- package/src/views.ts +16 -0
|
@@ -0,0 +1,878 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"save": "Save",
|
|
4
|
+
"cancel": "Cancel",
|
|
5
|
+
"delete": "Delete",
|
|
6
|
+
"edit": "Edit",
|
|
7
|
+
"close": "Close",
|
|
8
|
+
"open": "Open",
|
|
9
|
+
"loading": "Loading...",
|
|
10
|
+
"search": "Search",
|
|
11
|
+
"send": "Send",
|
|
12
|
+
"back": "Back",
|
|
13
|
+
"confirm": "Confirm",
|
|
14
|
+
"yes": "Yes",
|
|
15
|
+
"no": "No",
|
|
16
|
+
"none": "None",
|
|
17
|
+
"error": "Error",
|
|
18
|
+
"success": "Success",
|
|
19
|
+
"networkError": "Network error",
|
|
20
|
+
"unknownError": "Unknown error",
|
|
21
|
+
"sessionExpired": "Session expired. Reload the page to reconnect.",
|
|
22
|
+
"copied": "Copied",
|
|
23
|
+
"stable": "stable",
|
|
24
|
+
"noData": "No data",
|
|
25
|
+
"today": "Today",
|
|
26
|
+
"yesterday": "Yesterday",
|
|
27
|
+
"now": "now",
|
|
28
|
+
"justNow": "just now",
|
|
29
|
+
"agoMinutes": "{{count}}m ago",
|
|
30
|
+
"agoHours": "{{count}}h ago",
|
|
31
|
+
"agoDays": "{{count}}d ago",
|
|
32
|
+
"agoWeeks": "{{count}}w ago",
|
|
33
|
+
"agoMonths": "{{count}} months ago",
|
|
34
|
+
"file": "File",
|
|
35
|
+
"attachment": "Attachment",
|
|
36
|
+
"previous": "Previous",
|
|
37
|
+
"next": "Next",
|
|
38
|
+
"page": "Page",
|
|
39
|
+
"results": "results",
|
|
40
|
+
"all": "All",
|
|
41
|
+
"or": "OR",
|
|
42
|
+
"required": "required",
|
|
43
|
+
"optional": "optional"
|
|
44
|
+
},
|
|
45
|
+
"ticket": {
|
|
46
|
+
"title": "Ticket",
|
|
47
|
+
"tickets": "Tickets",
|
|
48
|
+
"newTicket": "New Ticket",
|
|
49
|
+
"createTicket": "Create ticket",
|
|
50
|
+
"creating": "Creating...",
|
|
51
|
+
"subject": "Subject",
|
|
52
|
+
"description": "Description",
|
|
53
|
+
"message": "Message",
|
|
54
|
+
"messages": "Messages",
|
|
55
|
+
"noMessages": "No messages.",
|
|
56
|
+
"messageDeleted": "This message has been deleted.",
|
|
57
|
+
"messageDeletedShort": "Message deleted",
|
|
58
|
+
"conversation": "Conversation",
|
|
59
|
+
"selectTicket": "Select a ticket from the list",
|
|
60
|
+
"notFound": "Ticket not found",
|
|
61
|
+
"saveToSee": "Save the ticket to see the dashboard.",
|
|
62
|
+
"status": {
|
|
63
|
+
"open": "Open",
|
|
64
|
+
"waiting_client": "Waiting",
|
|
65
|
+
"resolved": "Resolved",
|
|
66
|
+
"label": "Status"
|
|
67
|
+
},
|
|
68
|
+
"priority": {
|
|
69
|
+
"low": "Low",
|
|
70
|
+
"normal": "Normal",
|
|
71
|
+
"high": "High",
|
|
72
|
+
"urgent": "Urgent",
|
|
73
|
+
"label": "Priority"
|
|
74
|
+
},
|
|
75
|
+
"category": {
|
|
76
|
+
"bug": "Bug",
|
|
77
|
+
"bugFull": "Bug / Issue",
|
|
78
|
+
"content": "Content",
|
|
79
|
+
"contentFull": "Content modification",
|
|
80
|
+
"feature": "Feature",
|
|
81
|
+
"featureFull": "New feature",
|
|
82
|
+
"question": "Question",
|
|
83
|
+
"questionFull": "Question / Help",
|
|
84
|
+
"hosting": "Hosting",
|
|
85
|
+
"hostingFull": "Hosting / Domain",
|
|
86
|
+
"label": "Category",
|
|
87
|
+
"select": "-- Select --"
|
|
88
|
+
},
|
|
89
|
+
"source": {
|
|
90
|
+
"email": "Email",
|
|
91
|
+
"liveChat": "Live Chat",
|
|
92
|
+
"portal": "Portal",
|
|
93
|
+
"admin": "Admin",
|
|
94
|
+
"label": "Source"
|
|
95
|
+
},
|
|
96
|
+
"details": "Details",
|
|
97
|
+
"assigned": "Assigned",
|
|
98
|
+
"project": "Project",
|
|
99
|
+
"noProject": "-- None --",
|
|
100
|
+
"allProjects": "All projects",
|
|
101
|
+
"noProjectLabel": "No project"
|
|
102
|
+
},
|
|
103
|
+
"inbox": {
|
|
104
|
+
"title": "Tickets",
|
|
105
|
+
"searchPlaceholder": "Search tickets...",
|
|
106
|
+
"newTicketBtn": "New Ticket",
|
|
107
|
+
"tabs": {
|
|
108
|
+
"all": "All",
|
|
109
|
+
"open": "Open",
|
|
110
|
+
"waiting": "Waiting",
|
|
111
|
+
"resolved": "Resolved"
|
|
112
|
+
},
|
|
113
|
+
"sort": {
|
|
114
|
+
"newest": "Sort by: Newest",
|
|
115
|
+
"oldest": "Sort by: Oldest",
|
|
116
|
+
"created": "Sort by: Created",
|
|
117
|
+
"priority": "Sort by: Priority"
|
|
118
|
+
},
|
|
119
|
+
"selected": "{{count}} selected",
|
|
120
|
+
"selectedPlural": "{{count}} selected",
|
|
121
|
+
"closeAction": "Close",
|
|
122
|
+
"reopenAction": "Reopen",
|
|
123
|
+
"moreActions": "More...",
|
|
124
|
+
"changePriority": "Change priority",
|
|
125
|
+
"deleteAction": "Delete",
|
|
126
|
+
"deselect": "Deselect",
|
|
127
|
+
"empty": "No tickets matching filters",
|
|
128
|
+
"keyboardNavigate": "navigate",
|
|
129
|
+
"keyboardOpen": "open"
|
|
130
|
+
},
|
|
131
|
+
"dashboard": {
|
|
132
|
+
"title": "Support Dashboard",
|
|
133
|
+
"subtitle": "Overview of support client metrics",
|
|
134
|
+
"loadingMetrics": "Loading metrics...",
|
|
135
|
+
"loadError": "Loading error",
|
|
136
|
+
"cannotLoadStats": "Unable to load support statistics.",
|
|
137
|
+
"openTickets": "Open tickets",
|
|
138
|
+
"waitingClient": "Waiting for client",
|
|
139
|
+
"responseTime": "Response time",
|
|
140
|
+
"satisfaction": "Satisfaction",
|
|
141
|
+
"activeTickets": "Active tickets",
|
|
142
|
+
"noActiveTickets": "No active tickets",
|
|
143
|
+
"volume7days": "Volume (7 days)",
|
|
144
|
+
"csat": "CSAT",
|
|
145
|
+
"csatNoData": "No data",
|
|
146
|
+
"csatReviews": "{{count}} reviews collected",
|
|
147
|
+
"csatNoReviews": "No reviews",
|
|
148
|
+
"newTicketAction": "+ New ticket",
|
|
149
|
+
"pendingEmails": "Pending emails",
|
|
150
|
+
"crm": "CRM",
|
|
151
|
+
"preBilling": "Pre-billing",
|
|
152
|
+
"exportCsv": "Export CSV",
|
|
153
|
+
"tableHeaders": {
|
|
154
|
+
"status": "Status",
|
|
155
|
+
"number": "No.",
|
|
156
|
+
"subject": "Subject",
|
|
157
|
+
"client": "Client",
|
|
158
|
+
"modified": "Modified"
|
|
159
|
+
},
|
|
160
|
+
"weekDays": {
|
|
161
|
+
"mon": "Mon",
|
|
162
|
+
"tue": "Tue",
|
|
163
|
+
"wed": "Wed",
|
|
164
|
+
"thu": "Thu",
|
|
165
|
+
"fri": "Fri",
|
|
166
|
+
"sat": "Sat",
|
|
167
|
+
"sun": "Sun"
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"composer": {
|
|
171
|
+
"placeholder": "Write a reply to the client...",
|
|
172
|
+
"placeholderInternal": "Internal note...",
|
|
173
|
+
"placeholderReplyTo": "Reply to {{name}}...",
|
|
174
|
+
"sendReply": "Send \u2192",
|
|
175
|
+
"sending": "Sending...",
|
|
176
|
+
"addNote": "Add note",
|
|
177
|
+
"sendAndNotify": "Send + Notify",
|
|
178
|
+
"saveOnly": "Save",
|
|
179
|
+
"internalNote": "Internal note",
|
|
180
|
+
"notifyClient": "Notify client",
|
|
181
|
+
"internal": "Internal",
|
|
182
|
+
"notify": "Notify",
|
|
183
|
+
"sendAsSupport": "Send as: Support",
|
|
184
|
+
"sendAsClient": "Send as: Client",
|
|
185
|
+
"attachment": "+ Attachment",
|
|
186
|
+
"canned": "Canned",
|
|
187
|
+
"cannedSelect": "Quick reply...",
|
|
188
|
+
"cannedVariablesHint": "Available variables: {{client.firstName}}, {{client.lastName}}, {{client.company}}, {{client.email}}, {{ticket.number}}, {{ticket.subject}}, {{agent.name}}",
|
|
189
|
+
"quickReplies": {
|
|
190
|
+
"received": "Got it, I'll look into it!",
|
|
191
|
+
"fixed": "It's fixed!",
|
|
192
|
+
"clarify": "Could you clarify?",
|
|
193
|
+
"backSoon": "I'll get back to you shortly",
|
|
194
|
+
"screenshot": "Could you send me a screenshot?"
|
|
195
|
+
},
|
|
196
|
+
"schedule": {
|
|
197
|
+
"label": "Schedule for:",
|
|
198
|
+
"button": "Schedule",
|
|
199
|
+
"tooltip": "Schedule sending at a specific date/time"
|
|
200
|
+
},
|
|
201
|
+
"shortcuts": {
|
|
202
|
+
"sendHint": "\u2318Enter to send",
|
|
203
|
+
"noteHint": "\u2318\u21e7N internal note"
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
"settings": {
|
|
207
|
+
"title": "Support Module Configuration",
|
|
208
|
+
"subtitle": "{{enabled}}/{{total}} features enabled",
|
|
209
|
+
"resetAll": "Reset all",
|
|
210
|
+
"saved": "\u2713 Saved",
|
|
211
|
+
"description": "Enable or disable support module features. Disabled features are completely hidden from the interface. Changes take effect immediately after saving (reload the ticket page).",
|
|
212
|
+
"categories": {
|
|
213
|
+
"core": "Core Features",
|
|
214
|
+
"communication": "Communication",
|
|
215
|
+
"productivity": "Productivity",
|
|
216
|
+
"advanced": "Advanced"
|
|
217
|
+
},
|
|
218
|
+
"features": {
|
|
219
|
+
"canned": {
|
|
220
|
+
"label": "Quick replies",
|
|
221
|
+
"description": "Pre-registered response templates with dynamic variables"
|
|
222
|
+
},
|
|
223
|
+
"scheduledReplies": {
|
|
224
|
+
"label": "Scheduled replies",
|
|
225
|
+
"description": "Send a reply at a future date/time"
|
|
226
|
+
},
|
|
227
|
+
"activityLog": {
|
|
228
|
+
"label": "Activity log",
|
|
229
|
+
"description": "Timeline of actions on each ticket (status changes, assignment...)"
|
|
230
|
+
},
|
|
231
|
+
"emailTracking": {
|
|
232
|
+
"label": "Email tracking",
|
|
233
|
+
"description": "Send and open tracking for email notifications"
|
|
234
|
+
},
|
|
235
|
+
"chat": {
|
|
236
|
+
"label": "Live Chat",
|
|
237
|
+
"description": "Real-time chat with ticket conversion"
|
|
238
|
+
},
|
|
239
|
+
"externalMessages": {
|
|
240
|
+
"label": "External messages",
|
|
241
|
+
"description": "Manually add messages received by email, SMS, WhatsApp..."
|
|
242
|
+
},
|
|
243
|
+
"ai": {
|
|
244
|
+
"label": "Artificial Intelligence",
|
|
245
|
+
"description": "Sentiment analysis, summary, reply suggestion, rewriting"
|
|
246
|
+
},
|
|
247
|
+
"timeTracking": {
|
|
248
|
+
"label": "Time tracking",
|
|
249
|
+
"description": "Timer, manual entries, billing"
|
|
250
|
+
},
|
|
251
|
+
"codeSnippets": {
|
|
252
|
+
"label": "Code / secret sharing",
|
|
253
|
+
"description": "AES-256 encrypted snippets with expiration and burn-after-reading"
|
|
254
|
+
},
|
|
255
|
+
"satisfaction": {
|
|
256
|
+
"label": "Satisfaction surveys",
|
|
257
|
+
"description": "CSAT score after ticket resolution"
|
|
258
|
+
},
|
|
259
|
+
"merge": {
|
|
260
|
+
"label": "Ticket merge",
|
|
261
|
+
"description": "Combine two tickets into one"
|
|
262
|
+
},
|
|
263
|
+
"splitTicket": {
|
|
264
|
+
"label": "Message extraction",
|
|
265
|
+
"description": "Extract a message into a new linked ticket"
|
|
266
|
+
},
|
|
267
|
+
"snooze": {
|
|
268
|
+
"label": "Snooze",
|
|
269
|
+
"description": "Temporarily hide a ticket with automatic reminder"
|
|
270
|
+
},
|
|
271
|
+
"clientHistory": {
|
|
272
|
+
"label": "Client history",
|
|
273
|
+
"description": "Past tickets, projects and internal notes"
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
"ai": {
|
|
278
|
+
"suggest": "AI Suggestion",
|
|
279
|
+
"suggesting": "Generating...",
|
|
280
|
+
"rewrite": "Rewrite",
|
|
281
|
+
"rewriting": "Rewriting...",
|
|
282
|
+
"summary": "AI Summary",
|
|
283
|
+
"summaryHide": "Hide AI summary",
|
|
284
|
+
"summaryTitle": "AI Summary",
|
|
285
|
+
"regenerate": "Regenerate",
|
|
286
|
+
"regenerating": "Generating...",
|
|
287
|
+
"saveAsNote": "Save (internal note)",
|
|
288
|
+
"saving": "Saving...",
|
|
289
|
+
"saved": "Saved",
|
|
290
|
+
"analyzing": "Analyzing conversation...",
|
|
291
|
+
"clickRegenerate": "Click \"Regenerate\" to start the analysis",
|
|
292
|
+
"tooltipSuggest": "AI Suggestion",
|
|
293
|
+
"tooltipRewrite": "Rewrite",
|
|
294
|
+
"codeSnippet": "Code / Secret",
|
|
295
|
+
"sentiment": {
|
|
296
|
+
"label": "Sentiment",
|
|
297
|
+
"frustrated": "Frustrated",
|
|
298
|
+
"unhappy": "Unhappy",
|
|
299
|
+
"urgent": "Urgent",
|
|
300
|
+
"neutral": "Neutral",
|
|
301
|
+
"satisfied": "Satisfied"
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
"timer": {
|
|
305
|
+
"title": "Time",
|
|
306
|
+
"total": "total",
|
|
307
|
+
"start": "Start",
|
|
308
|
+
"pause": "Pause",
|
|
309
|
+
"resume": "Resume",
|
|
310
|
+
"save": "Save",
|
|
311
|
+
"discard": "Discard",
|
|
312
|
+
"recording": "Recording in progress -- session kept active",
|
|
313
|
+
"minRequired": "Minimum 1 minute",
|
|
314
|
+
"saveMinutes": "Save {{count}} min",
|
|
315
|
+
"manualEntry": {
|
|
316
|
+
"minutes": "Min",
|
|
317
|
+
"description": "Description",
|
|
318
|
+
"placeholder": "Work performed...",
|
|
319
|
+
"addTime": "+ Time"
|
|
320
|
+
},
|
|
321
|
+
"tableHeaders": {
|
|
322
|
+
"date": "Date",
|
|
323
|
+
"duration": "Duration",
|
|
324
|
+
"description": "Description"
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
"client": {
|
|
328
|
+
"title": "Client",
|
|
329
|
+
"clientCard": "Client profile",
|
|
330
|
+
"viewAsClient": "View as client",
|
|
331
|
+
"clientPortal": "Portal",
|
|
332
|
+
"clientSheet": "Profile",
|
|
333
|
+
"copyAdminLink": "Copy admin link",
|
|
334
|
+
"copyClientLink": "Copy client link",
|
|
335
|
+
"history": {
|
|
336
|
+
"title": "Client history",
|
|
337
|
+
"ticketCount": "{{count}} ticket",
|
|
338
|
+
"ticketCountPlural": "{{count}} tickets",
|
|
339
|
+
"projectCount": "{{count}} project",
|
|
340
|
+
"projectCountPlural": "{{count}} projects",
|
|
341
|
+
"pastTickets": "Recent tickets",
|
|
342
|
+
"noOtherTickets": "No other tickets",
|
|
343
|
+
"projects": "Projects",
|
|
344
|
+
"noProjects": "No projects",
|
|
345
|
+
"internalNotes": "Internal notes",
|
|
346
|
+
"notesPlaceholder": "Notes about this client...",
|
|
347
|
+
"saveNotes": "Save notes",
|
|
348
|
+
"savingNotes": "Saving...",
|
|
349
|
+
"notesSaved": "Saved"
|
|
350
|
+
}
|
|
351
|
+
},
|
|
352
|
+
"activity": {
|
|
353
|
+
"title": "History",
|
|
354
|
+
"noActivity": "No activity recorded.",
|
|
355
|
+
"activityLabel": "Activity"
|
|
356
|
+
},
|
|
357
|
+
"actions": {
|
|
358
|
+
"waitingClient": "Waiting for client",
|
|
359
|
+
"resolved": "Resolved",
|
|
360
|
+
"reopen": "Reopen",
|
|
361
|
+
"merge": "Merge",
|
|
362
|
+
"addReceivedMessage": "+ Received message",
|
|
363
|
+
"snooze": "Snooze",
|
|
364
|
+
"nextTicket": "Next ticket",
|
|
365
|
+
"cancelSnooze": "Cancel snooze",
|
|
366
|
+
"nextTicketLabel": "Next ticket:",
|
|
367
|
+
"noMoreTickets": "No more tickets",
|
|
368
|
+
"editMessage": "Edit",
|
|
369
|
+
"deleteMessage": "Delete",
|
|
370
|
+
"resendEmail": "Resend email",
|
|
371
|
+
"resending": "Sending...",
|
|
372
|
+
"resent": "Sent!",
|
|
373
|
+
"extractMessage": "Extract",
|
|
374
|
+
"extractToNewTicket": "Extract to new ticket",
|
|
375
|
+
"saveEdit": "Save",
|
|
376
|
+
"cancelEdit": "Cancel",
|
|
377
|
+
"payloadView": "Payload View",
|
|
378
|
+
"clientView": "Client view",
|
|
379
|
+
"copyLink": "Copy link",
|
|
380
|
+
"deleteConfirm": "Delete?"
|
|
381
|
+
},
|
|
382
|
+
"merge": {
|
|
383
|
+
"title": "Merge this ticket into another",
|
|
384
|
+
"placeholder": "TK-0001",
|
|
385
|
+
"search": "Search",
|
|
386
|
+
"confirm": "Confirm merge",
|
|
387
|
+
"merging": "Merging..."
|
|
388
|
+
},
|
|
389
|
+
"externalMessage": {
|
|
390
|
+
"title": "Add a received message (email, SMS, WhatsApp...)",
|
|
391
|
+
"placeholder": "Paste the received message content...",
|
|
392
|
+
"sentByClient": "Sent by client",
|
|
393
|
+
"sentBySupport": "Sent by support",
|
|
394
|
+
"addAttachment": "+ Attachment",
|
|
395
|
+
"adding": "Adding...",
|
|
396
|
+
"addWithoutNotification": "Add (without notification)"
|
|
397
|
+
},
|
|
398
|
+
"snooze": {
|
|
399
|
+
"title": "Snooze -- temporarily hide",
|
|
400
|
+
"oneDay": "1 day",
|
|
401
|
+
"threeDays": "3 days",
|
|
402
|
+
"oneWeek": "1 week",
|
|
403
|
+
"snoozed": "Snoozed"
|
|
404
|
+
},
|
|
405
|
+
"collapse": {
|
|
406
|
+
"showPrevious": "Show {{count}} previous message",
|
|
407
|
+
"showPreviousPlural": "Show {{count}} previous messages",
|
|
408
|
+
"hideOld": "Hide older messages"
|
|
409
|
+
},
|
|
410
|
+
"messageStatus": {
|
|
411
|
+
"internal": "Internal",
|
|
412
|
+
"solution": "Solution",
|
|
413
|
+
"chat": "Chat",
|
|
414
|
+
"email": "Email",
|
|
415
|
+
"support": "Support",
|
|
416
|
+
"edited": "(edited)",
|
|
417
|
+
"sent": "Sent",
|
|
418
|
+
"read": "Read",
|
|
419
|
+
"opened": "Opened",
|
|
420
|
+
"sentTo": "Sent to {{to}}",
|
|
421
|
+
"openedAt": "Opened {{date}}",
|
|
422
|
+
"scheduled": "Scheduled on {{created}} -- written on {{scheduled}}",
|
|
423
|
+
"scheduledPending": "Written on {{created}} -- scheduled for {{scheduled}}"
|
|
424
|
+
},
|
|
425
|
+
"newTicket": {
|
|
426
|
+
"title": "New ticket",
|
|
427
|
+
"subtitle": "Create a support ticket for a client",
|
|
428
|
+
"backToInbox": "Back to inbox",
|
|
429
|
+
"clientLabel": "Client",
|
|
430
|
+
"clientSearchPlaceholder": "Search by name, email, company...",
|
|
431
|
+
"subjectLabel": "Subject",
|
|
432
|
+
"subjectPlaceholder": "Briefly describe the issue",
|
|
433
|
+
"categoryLabel": "Category",
|
|
434
|
+
"priorityLabel": "Priority",
|
|
435
|
+
"projectLabel": "Project",
|
|
436
|
+
"descriptionLabel": "Description",
|
|
437
|
+
"descriptionPlaceholder": "Detail the problem or request...",
|
|
438
|
+
"submitButton": "Create ticket",
|
|
439
|
+
"submitting": "Creating...",
|
|
440
|
+
"errors": {
|
|
441
|
+
"subjectRequired": "Subject is required",
|
|
442
|
+
"clientRequired": "Select a client",
|
|
443
|
+
"creationError": "Error during creation",
|
|
444
|
+
"networkError": "Network error"
|
|
445
|
+
}
|
|
446
|
+
},
|
|
447
|
+
"commandPalette": {
|
|
448
|
+
"placeholder": "Search tickets, clients, messages...",
|
|
449
|
+
"searching": "Searching...",
|
|
450
|
+
"noResults": "No results for \"{{query}}\"",
|
|
451
|
+
"sections": {
|
|
452
|
+
"tickets": "Tickets",
|
|
453
|
+
"clients": "Clients",
|
|
454
|
+
"messages": "Messages",
|
|
455
|
+
"knowledgeBase": "Knowledge Base"
|
|
456
|
+
},
|
|
457
|
+
"keyboard": {
|
|
458
|
+
"navigate": "navigate",
|
|
459
|
+
"open": "open",
|
|
460
|
+
"close": "close"
|
|
461
|
+
}
|
|
462
|
+
},
|
|
463
|
+
"chat": {
|
|
464
|
+
"title": "Live Chat",
|
|
465
|
+
"sessionCount": "{{count}} active session",
|
|
466
|
+
"sessionCountPlural": "{{count}} active sessions",
|
|
467
|
+
"tabs": {
|
|
468
|
+
"active": "Active",
|
|
469
|
+
"closed": "Closed"
|
|
470
|
+
},
|
|
471
|
+
"noSession": "No sessions",
|
|
472
|
+
"noSessionActive": "No active sessions",
|
|
473
|
+
"noSessionClosed": "No closed sessions",
|
|
474
|
+
"selectSession": "Select a session to begin",
|
|
475
|
+
"closeChat": "Close chat",
|
|
476
|
+
"quickReply": "Quick reply...",
|
|
477
|
+
"inputPlaceholder": "Type your reply...",
|
|
478
|
+
"sendButton": "Send",
|
|
479
|
+
"clientReview": "Client review",
|
|
480
|
+
"you": "You",
|
|
481
|
+
"agent": "Agent",
|
|
482
|
+
"clientLabel": "Client",
|
|
483
|
+
"msg": "msg"
|
|
484
|
+
},
|
|
485
|
+
"crm": {
|
|
486
|
+
"title": "Client CRM",
|
|
487
|
+
"subtitle": "Complete client profile with ticket history, projects and time spent",
|
|
488
|
+
"searchPlaceholder": "Search a client...",
|
|
489
|
+
"noClientFound": "No client found",
|
|
490
|
+
"selectClient": "Select a client to view their profile",
|
|
491
|
+
"editButton": "Edit",
|
|
492
|
+
"mergeButton": "Merge",
|
|
493
|
+
"mergeTitle": "Merge this client into another",
|
|
494
|
+
"mergeDescription": "All tickets, messages, projects and surveys from {{company}} will be transferred to the target client. The current client will be deleted.",
|
|
495
|
+
"mergeSearchPlaceholder": "Search target client (name, email, company)...",
|
|
496
|
+
"mergeConfirm": "Merge \"{{source}}\" into \"{{target}}\"?\n\nAll tickets, messages and projects will be transferred.\nThe client \"{{source}}\" will be deleted.\n\nThis action is irreversible.",
|
|
497
|
+
"mergeNoClient": "No client found",
|
|
498
|
+
"stats": {
|
|
499
|
+
"totalTickets": "Total tickets",
|
|
500
|
+
"openTickets": "Open",
|
|
501
|
+
"resolvedTickets": "Resolved",
|
|
502
|
+
"timeSpent": "Time spent",
|
|
503
|
+
"lastActivity": "Last activity"
|
|
504
|
+
},
|
|
505
|
+
"sections": {
|
|
506
|
+
"projects": "Projects",
|
|
507
|
+
"tickets": "Tickets",
|
|
508
|
+
"viewAll": "View all"
|
|
509
|
+
},
|
|
510
|
+
"noTickets": "No tickets",
|
|
511
|
+
"tableHeaders": {
|
|
512
|
+
"number": "No.",
|
|
513
|
+
"subject": "Subject",
|
|
514
|
+
"status": "Status",
|
|
515
|
+
"date": "Date"
|
|
516
|
+
},
|
|
517
|
+
"projectStatus": {
|
|
518
|
+
"active": "Active",
|
|
519
|
+
"paused": "Paused",
|
|
520
|
+
"completed": "Completed"
|
|
521
|
+
}
|
|
522
|
+
},
|
|
523
|
+
"pendingEmails": {
|
|
524
|
+
"title": "Pending Emails",
|
|
525
|
+
"subtitle": "Incoming email queue -- Validate, link or ignore",
|
|
526
|
+
"pendingCount": "{{count}} pending",
|
|
527
|
+
"tabs": {
|
|
528
|
+
"pending": "Pending",
|
|
529
|
+
"processed": "Processed",
|
|
530
|
+
"ignored": "Ignored"
|
|
531
|
+
},
|
|
532
|
+
"empty": {
|
|
533
|
+
"pending": "No pending emails",
|
|
534
|
+
"processed": "No processed emails",
|
|
535
|
+
"ignored": "No ignored emails"
|
|
536
|
+
},
|
|
537
|
+
"actions": {
|
|
538
|
+
"createTicket": "Create a ticket",
|
|
539
|
+
"linkToTicket": "Link to a ticket",
|
|
540
|
+
"ignore": "Ignore"
|
|
541
|
+
},
|
|
542
|
+
"status": {
|
|
543
|
+
"ticketCreated": "Ticket created",
|
|
544
|
+
"messageAdded": "Linked",
|
|
545
|
+
"ignored": "Ignored"
|
|
546
|
+
},
|
|
547
|
+
"similarTo": "Similar to {{ticket}} ({{score}}%)",
|
|
548
|
+
"expand": "Show all",
|
|
549
|
+
"collapse": "Collapse",
|
|
550
|
+
"linkModal": {
|
|
551
|
+
"title": "Link to a ticket",
|
|
552
|
+
"suggestions": "Suggestions",
|
|
553
|
+
"searchPlaceholder": "Search a ticket (TK-0042, subject...)...",
|
|
554
|
+
"searching": "Searching...",
|
|
555
|
+
"noTicketFound": "No ticket found"
|
|
556
|
+
},
|
|
557
|
+
"clientModal": {
|
|
558
|
+
"title": "Choose a client",
|
|
559
|
+
"detected": "Detected client",
|
|
560
|
+
"useButton": "Use",
|
|
561
|
+
"searchPlaceholder": "Search a client (name, email, company)...",
|
|
562
|
+
"searching": "Searching...",
|
|
563
|
+
"noClientFound": "No client found",
|
|
564
|
+
"createNew": "Create a new client",
|
|
565
|
+
"cancelCreate": "Cancel creation",
|
|
566
|
+
"firstName": "First name *",
|
|
567
|
+
"lastName": "Last name",
|
|
568
|
+
"email": "Email *",
|
|
569
|
+
"company": "Company *",
|
|
570
|
+
"requiredFields": "Email, first name and company are required",
|
|
571
|
+
"creating": "Creating...",
|
|
572
|
+
"createAndUse": "Create and use",
|
|
573
|
+
"createError": "Error during creation"
|
|
574
|
+
}
|
|
575
|
+
},
|
|
576
|
+
"emailTracking": {
|
|
577
|
+
"title": "Email Tracking",
|
|
578
|
+
"tabs": {
|
|
579
|
+
"all": "All",
|
|
580
|
+
"success": "Success",
|
|
581
|
+
"errors": "Errors",
|
|
582
|
+
"ignored": "Ignored"
|
|
583
|
+
},
|
|
584
|
+
"stats": {
|
|
585
|
+
"emailsSent": "Emails sent",
|
|
586
|
+
"successRate": "Success rate",
|
|
587
|
+
"errors": "Errors",
|
|
588
|
+
"avgTime": "Average time"
|
|
589
|
+
},
|
|
590
|
+
"status": {
|
|
591
|
+
"success": "Success",
|
|
592
|
+
"error": "Error",
|
|
593
|
+
"ignored": "Ignored"
|
|
594
|
+
},
|
|
595
|
+
"tableHeaders": {
|
|
596
|
+
"date": "Date",
|
|
597
|
+
"recipient": "Recipient",
|
|
598
|
+
"subject": "Subject",
|
|
599
|
+
"ticket": "Ticket",
|
|
600
|
+
"status": "Status",
|
|
601
|
+
"action": "Action",
|
|
602
|
+
"time": "Time"
|
|
603
|
+
},
|
|
604
|
+
"noLogs": "No logs for this period",
|
|
605
|
+
"searchPlaceholder": "Email, subject..."
|
|
606
|
+
},
|
|
607
|
+
"billing": {
|
|
608
|
+
"title": "Pre-billing",
|
|
609
|
+
"subtitle": "Time aggregation by project for billing preparation",
|
|
610
|
+
"filters": {
|
|
611
|
+
"thisMonth": "This month",
|
|
612
|
+
"lastMonth": "Last month",
|
|
613
|
+
"thisQuarter": "This quarter",
|
|
614
|
+
"lastQuarter": "Last quarter",
|
|
615
|
+
"from": "From",
|
|
616
|
+
"to": "To",
|
|
617
|
+
"project": "Project",
|
|
618
|
+
"hourlyRate": "Hourly rate",
|
|
619
|
+
"rateUnit": "EUR/h",
|
|
620
|
+
"load": "Load",
|
|
621
|
+
"loading": "Loading..."
|
|
622
|
+
},
|
|
623
|
+
"empty": "No billable tickets with time entries for this period.",
|
|
624
|
+
"table": {
|
|
625
|
+
"checkbox": "Check/uncheck all",
|
|
626
|
+
"ticketNumber": "Ticket No.",
|
|
627
|
+
"subject": "Subject",
|
|
628
|
+
"date": "Date",
|
|
629
|
+
"duration": "Duration",
|
|
630
|
+
"description": "Description",
|
|
631
|
+
"amount": "Amount",
|
|
632
|
+
"billed": "Billed",
|
|
633
|
+
"markBilled": "Mark as billed",
|
|
634
|
+
"markUnbilled": "Mark as unbilled",
|
|
635
|
+
"billedLabel": "billed",
|
|
636
|
+
"timeLabel": "(time)",
|
|
637
|
+
"flatRate": "(flat rate)"
|
|
638
|
+
},
|
|
639
|
+
"totals": {
|
|
640
|
+
"billableTickets": "{{count}} billable ticket",
|
|
641
|
+
"billableTicketsPlural": "{{count}} billable tickets",
|
|
642
|
+
"checked": "{{count}} checked",
|
|
643
|
+
"checkedPlural": "{{count}} checked",
|
|
644
|
+
"total": "Total",
|
|
645
|
+
"uncheckAll": "Uncheck all",
|
|
646
|
+
"checkAll": "Check all",
|
|
647
|
+
"copyRecap": "Copy summary",
|
|
648
|
+
"copiedRecap": "Copied!"
|
|
649
|
+
},
|
|
650
|
+
"recap": {
|
|
651
|
+
"header": "PRE-BILLING -- From {{from}} to {{to}}",
|
|
652
|
+
"hourlyRate": "Hourly rate: {{rate}} EUR/h",
|
|
653
|
+
"project": "PROJECT: {{name}}",
|
|
654
|
+
"client": "Client: {{company}}",
|
|
655
|
+
"subtotal": "Subtotal",
|
|
656
|
+
"projectTotal": "Project total",
|
|
657
|
+
"grandTotal": "GRAND TOTAL"
|
|
658
|
+
}
|
|
659
|
+
},
|
|
660
|
+
"timeDashboard": {
|
|
661
|
+
"title": "Time Dashboard",
|
|
662
|
+
"subtitle": "Time tracking analysis by period, project and ticket",
|
|
663
|
+
"newEntry": "+ New entry",
|
|
664
|
+
"filters": {
|
|
665
|
+
"thisMonth": "This month",
|
|
666
|
+
"lastMonth": "Last month",
|
|
667
|
+
"twoMonthsAgo": "-2 months",
|
|
668
|
+
"from": "From",
|
|
669
|
+
"to": "To",
|
|
670
|
+
"groupBy": "Group by",
|
|
671
|
+
"day": "Day",
|
|
672
|
+
"week": "Week",
|
|
673
|
+
"project": "Project"
|
|
674
|
+
},
|
|
675
|
+
"kpis": {
|
|
676
|
+
"totalTime": "Total time",
|
|
677
|
+
"entries": "Entries",
|
|
678
|
+
"dailyAverage": "Daily average"
|
|
679
|
+
},
|
|
680
|
+
"chart": {
|
|
681
|
+
"title": "Time per day"
|
|
682
|
+
},
|
|
683
|
+
"empty": "No time entries for this period.",
|
|
684
|
+
"weekLabel": "Week {{number}}"
|
|
685
|
+
},
|
|
686
|
+
"logs": {
|
|
687
|
+
"title": "Email Log",
|
|
688
|
+
"titleAuth": "Authentication Log",
|
|
689
|
+
"tabs": {
|
|
690
|
+
"email": "Emails",
|
|
691
|
+
"auth": "Authentication"
|
|
692
|
+
},
|
|
693
|
+
"purge7": "Purge +7d",
|
|
694
|
+
"purge30": "Purge +30d",
|
|
695
|
+
"purgeAll": "Purge all",
|
|
696
|
+
"purgeConfirm": "Delete {{label}} ({{collection}})? This action is irreversible.",
|
|
697
|
+
"purgeAllLabel": "ALL logs",
|
|
698
|
+
"purgeDaysLabel": "logs older than {{days}} days",
|
|
699
|
+
"purgeResult": "{{count}} log(s) deleted",
|
|
700
|
+
"noLogs": "No logs",
|
|
701
|
+
"tableHeaders": {
|
|
702
|
+
"date": "Date",
|
|
703
|
+
"status": "Status",
|
|
704
|
+
"recipient": "Recipient",
|
|
705
|
+
"subject": "Subject",
|
|
706
|
+
"action": "Action",
|
|
707
|
+
"time": "Time",
|
|
708
|
+
"email": "Email",
|
|
709
|
+
"ip": "IP",
|
|
710
|
+
"userAgent": "User Agent"
|
|
711
|
+
},
|
|
712
|
+
"statusSuccess": "Success",
|
|
713
|
+
"statusError": "Error",
|
|
714
|
+
"statusIgnored": "Ignored",
|
|
715
|
+
"statusFailed": "Failed"
|
|
716
|
+
},
|
|
717
|
+
"import": {
|
|
718
|
+
"title": "Import a conversation",
|
|
719
|
+
"newImport": "New import",
|
|
720
|
+
"dropzoneText": "Drop a .md file here or click to browse",
|
|
721
|
+
"dropzoneLoaded": "File loaded -- click to choose another",
|
|
722
|
+
"acceptedFormats": "Accepted formats: .md, .txt",
|
|
723
|
+
"formatError": "Accepted format: .md or .txt",
|
|
724
|
+
"sizeError": "File too large (max 500 KB)",
|
|
725
|
+
"preview": "Preview",
|
|
726
|
+
"analyzing": "Analyzing...",
|
|
727
|
+
"importButton": "Import {{count}} messages",
|
|
728
|
+
"importing": "Importing...",
|
|
729
|
+
"client": "Client",
|
|
730
|
+
"name": "Name",
|
|
731
|
+
"email": "Email",
|
|
732
|
+
"company": "Company",
|
|
733
|
+
"parsing": "Parsing",
|
|
734
|
+
"parsingRegex": "Regex",
|
|
735
|
+
"parsingAi": "AI",
|
|
736
|
+
"messages": "messages",
|
|
737
|
+
"resultTitle": "Conversation imported",
|
|
738
|
+
"resultTicket": "Ticket",
|
|
739
|
+
"resultClient": "Client",
|
|
740
|
+
"resultCompany": "Company",
|
|
741
|
+
"resultMessages": "Messages",
|
|
742
|
+
"resultImported": "{{count}} imported",
|
|
743
|
+
"resultNew": "New"
|
|
744
|
+
},
|
|
745
|
+
"detail": {
|
|
746
|
+
"backLabel": "Back",
|
|
747
|
+
"copyLink": "Copy link",
|
|
748
|
+
"payloadView": "Payload View",
|
|
749
|
+
"clientView": "Client view",
|
|
750
|
+
"viewingAlso": "{{names}} is also viewing this ticket",
|
|
751
|
+
"viewingAlsoPlural": "{{names}} are also viewing this ticket",
|
|
752
|
+
"typing": "{{name}} is typing...",
|
|
753
|
+
"internalNote": "Internal note",
|
|
754
|
+
"notify": "Notify",
|
|
755
|
+
"sendNote": "Add note",
|
|
756
|
+
"sendReply": "Send ->",
|
|
757
|
+
"sending": "Sending...",
|
|
758
|
+
"iaSuggestion": "AI Suggestion",
|
|
759
|
+
"rewrite": "Rewrite",
|
|
760
|
+
"file": "File",
|
|
761
|
+
"macros": "Macros",
|
|
762
|
+
"applyingMacro": "Applying...",
|
|
763
|
+
"cannedResponses": "Canned responses",
|
|
764
|
+
"details": "Details",
|
|
765
|
+
"priority": "Priority",
|
|
766
|
+
"category": "Category",
|
|
767
|
+
"source": "Source",
|
|
768
|
+
"assigned": "Assigned",
|
|
769
|
+
"tags": "Tags",
|
|
770
|
+
"time": "Time",
|
|
771
|
+
"total": "total",
|
|
772
|
+
"manualAdd": "+ Add",
|
|
773
|
+
"manualEntry": "Manual entry",
|
|
774
|
+
"activity": "Activity",
|
|
775
|
+
"messageDeleted": "Message deleted",
|
|
776
|
+
"undo": "Undo",
|
|
777
|
+
"extractTitle": "Extract to new ticket",
|
|
778
|
+
"extractSubjectPlaceholder": "New ticket subject...",
|
|
779
|
+
"statusOpen": "Open",
|
|
780
|
+
"statusWaiting": "Waiting",
|
|
781
|
+
"statusResolved": "Resolved",
|
|
782
|
+
"selectTicket": "Select a ticket from the list",
|
|
783
|
+
"notFound": "Ticket not found"
|
|
784
|
+
},
|
|
785
|
+
"settingsView": {
|
|
786
|
+
"configTitle": "Support Module Configuration",
|
|
787
|
+
"features": "Features",
|
|
788
|
+
"featuresDescription": "Enable or disable module features. Disabled features are completely hidden from the interface.",
|
|
789
|
+
"emailConfig": "Email Configuration",
|
|
790
|
+
"emailDescription": "Email notification settings. The SMTP address is configured via server environment variables.",
|
|
791
|
+
"senderAddress": "Sender address",
|
|
792
|
+
"senderAddressDesc": "Email address shown in the From field",
|
|
793
|
+
"senderName": "Sender name",
|
|
794
|
+
"senderNameDesc": "Name displayed next to the email address",
|
|
795
|
+
"replyTo": "Reply-To address",
|
|
796
|
+
"replyToDesc": "If different from sender address",
|
|
797
|
+
"smtpServer": "SMTP Server",
|
|
798
|
+
"smtpServerDesc": "Configured via environment variables",
|
|
799
|
+
"smtpPort": "SMTP Port",
|
|
800
|
+
"aiTitle": "Artificial Intelligence",
|
|
801
|
+
"aiDescription": "Configure the AI provider and enable/disable each feature independently.",
|
|
802
|
+
"aiProvider": "Provider",
|
|
803
|
+
"aiProviderDesc": "AI service used for analysis",
|
|
804
|
+
"aiApiKey": "API Key",
|
|
805
|
+
"aiApiKeyDesc": "Provider secret key (not stored in plain text)",
|
|
806
|
+
"aiModel": "Model",
|
|
807
|
+
"aiModelDesc": "Model name to use",
|
|
808
|
+
"aiSubFeatures": "Individual AI features",
|
|
809
|
+
"aiSentiment": "Sentiment analysis",
|
|
810
|
+
"aiSentimentDesc": "Detects client frustration or satisfaction level",
|
|
811
|
+
"aiSynthesis": "Automatic summary",
|
|
812
|
+
"aiSynthesisDesc": "Summarizes long conversations in a few sentences",
|
|
813
|
+
"aiSuggestion": "Reply suggestion",
|
|
814
|
+
"aiSuggestionDesc": "Proposes a reply draft based on context",
|
|
815
|
+
"aiRewrite": "Rewriting",
|
|
816
|
+
"aiRewriteDesc": "Rewrites a message to make it more professional",
|
|
817
|
+
"showKey": "Show",
|
|
818
|
+
"hideKey": "Hide",
|
|
819
|
+
"active": "Active",
|
|
820
|
+
"inactive": "Inactive",
|
|
821
|
+
"slaTitle": "SLA (Service Level Agreements)",
|
|
822
|
+
"slaDescription": "Set expected response and resolution times.",
|
|
823
|
+
"slaFirstResponse": "First response",
|
|
824
|
+
"slaFirstResponseDesc": "Maximum delay in minutes (default: 120 = 2h)",
|
|
825
|
+
"slaResolution": "Resolution",
|
|
826
|
+
"slaResolutionDesc": "Maximum delay in minutes (default: 1440 = 24h)",
|
|
827
|
+
"minutes": "minutes",
|
|
828
|
+
"businessHoursOnly": "Business hours only",
|
|
829
|
+
"businessHoursDesc": "SLA countdown pauses outside business hours (Mon-Fri, 9am-6pm)",
|
|
830
|
+
"escalationEmail": "Escalation email",
|
|
831
|
+
"escalationEmailDesc": "Address notified when SLA is exceeded",
|
|
832
|
+
"autoCloseTitle": "Automatic closure",
|
|
833
|
+
"autoCloseDescription": "Waiting tickets without client response will be automatically resolved after the configured delay.",
|
|
834
|
+
"autoCloseEnable": "Enable automatic closure",
|
|
835
|
+
"autoCloseDelay": "Delay before closure",
|
|
836
|
+
"autoCloseDelayDesc": "Days without client response",
|
|
837
|
+
"days": "days",
|
|
838
|
+
"autoCloseReminder": "Reminder before closure",
|
|
839
|
+
"autoCloseReminderDesc": "Reminder email sent X days before",
|
|
840
|
+
"daysBeforeReminder": "days before (reminder at D-{{count}})",
|
|
841
|
+
"myPreferences": "My preferences",
|
|
842
|
+
"myPreferencesDesc": "These settings are specific to your account.",
|
|
843
|
+
"localeTitle": "Language and localization",
|
|
844
|
+
"localeDescription": "Support module interface language and email notifications language.",
|
|
845
|
+
"language": "Language",
|
|
846
|
+
"languageDesc": "Module primary language",
|
|
847
|
+
"french": "Francais",
|
|
848
|
+
"english": "English",
|
|
849
|
+
"signatureTitle": "Email signature",
|
|
850
|
+
"signatureDescription": "Signature automatically added at the bottom of each reply email sent to the client.",
|
|
851
|
+
"signaturePlaceholder": "Best regards,\nThe ConsilioWEB team",
|
|
852
|
+
"purgeTitle": "Log purge",
|
|
853
|
+
"purgeDescription": "Delete old logs to free up space. This action is irreversible.",
|
|
854
|
+
"purgeEmailLogs": "Email Logs",
|
|
855
|
+
"purgeAuthLogs": "Auth Logs",
|
|
856
|
+
"purge7days": "7 days",
|
|
857
|
+
"purge30days": "30 days",
|
|
858
|
+
"purge90days": "90 days",
|
|
859
|
+
"purgeAllLabel": "All",
|
|
860
|
+
"purgeConfirm": "Delete {{collection}} logs older than {{days}} days?",
|
|
861
|
+
"purgeDone": "{{count}} log(s) deleted",
|
|
862
|
+
"resetAll": "Reset all",
|
|
863
|
+
"saving": "Saving...",
|
|
864
|
+
"saved": "\u2713 Saved",
|
|
865
|
+
"saveChanges": "Save changes",
|
|
866
|
+
"reset": "Reset",
|
|
867
|
+
"intro": "Configure the support module: features, email, AI, SLA and automatic closure. Changes take effect immediately after saving (reload the ticket page)."
|
|
868
|
+
},
|
|
869
|
+
"sla": {
|
|
870
|
+
"title": "SLA",
|
|
871
|
+
"loading": "SLA: Loading...",
|
|
872
|
+
"breached": "Breached",
|
|
873
|
+
"atRisk": "At risk",
|
|
874
|
+
"noBreached": "No breached tickets",
|
|
875
|
+
"noAtRisk": "No at-risk tickets",
|
|
876
|
+
"remaining": "{{time}} remaining"
|
|
877
|
+
}
|
|
878
|
+
}
|