@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.
Files changed (189) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +525 -0
  3. package/dist/client.cjs +7 -0
  4. package/dist/client.d.cts +3 -0
  5. package/dist/client.d.ts +3 -0
  6. package/dist/client.js +5 -0
  7. package/dist/index.cjs +7766 -0
  8. package/dist/index.d.cts +384 -0
  9. package/dist/index.d.ts +384 -0
  10. package/dist/index.js +7730 -0
  11. package/dist/views.d.cts +30 -0
  12. package/dist/views.d.ts +30 -0
  13. package/package.json +131 -0
  14. package/src/client.ts +1 -0
  15. package/src/collections/AuthLogs.ts +65 -0
  16. package/src/collections/CannedResponses.ts +69 -0
  17. package/src/collections/ChatMessages.ts +98 -0
  18. package/src/collections/EmailLogs.ts +94 -0
  19. package/src/collections/KnowledgeBase.ts +99 -0
  20. package/src/collections/Macros.ts +98 -0
  21. package/src/collections/PendingEmails.ts +122 -0
  22. package/src/collections/SatisfactionSurveys.ts +98 -0
  23. package/src/collections/SlaPolicies.ts +123 -0
  24. package/src/collections/SupportClients.ts +210 -0
  25. package/src/collections/TicketActivityLog.ts +81 -0
  26. package/src/collections/TicketMessages.ts +364 -0
  27. package/src/collections/TicketStatuses.ts +108 -0
  28. package/src/collections/Tickets.ts +704 -0
  29. package/src/collections/TimeEntries.ts +105 -0
  30. package/src/collections/WebhookEndpoints.ts +96 -0
  31. package/src/collections/index.ts +16 -0
  32. package/src/components/TicketConversation/components/AISummaryPanel.tsx +85 -0
  33. package/src/components/TicketConversation/components/ActionPanels.tsx +140 -0
  34. package/src/components/TicketConversation/components/ActivityLog.tsx +39 -0
  35. package/src/components/TicketConversation/components/ClientBar.tsx +37 -0
  36. package/src/components/TicketConversation/components/ClientHistory.tsx +117 -0
  37. package/src/components/TicketConversation/components/CodeBlock.tsx +186 -0
  38. package/src/components/TicketConversation/components/CodeBlockInserter.tsx +166 -0
  39. package/src/components/TicketConversation/components/QuickActions.tsx +82 -0
  40. package/src/components/TicketConversation/components/TicketHeader.tsx +91 -0
  41. package/src/components/TicketConversation/components/TimeTrackingPanel.tsx +161 -0
  42. package/src/components/TicketConversation/config.ts +82 -0
  43. package/src/components/TicketConversation/constants.ts +74 -0
  44. package/src/components/TicketConversation/context.ts +63 -0
  45. package/src/components/TicketConversation/hooks/useAI.ts +180 -0
  46. package/src/components/TicketConversation/hooks/useMessageActions.ts +131 -0
  47. package/src/components/TicketConversation/hooks/useReply.ts +190 -0
  48. package/src/components/TicketConversation/hooks/useTicketActions.ts +205 -0
  49. package/src/components/TicketConversation/hooks/useTimeTracking.ts +107 -0
  50. package/src/components/TicketConversation/hooks/useTranslation.ts +116 -0
  51. package/src/components/TicketConversation/index.tsx +1110 -0
  52. package/src/components/TicketConversation/locales/en.json +878 -0
  53. package/src/components/TicketConversation/locales/fr.json +878 -0
  54. package/src/components/TicketConversation/types.ts +54 -0
  55. package/src/components/TicketConversation/utils.ts +25 -0
  56. package/src/endpoints/admin-chat-stream.ts +238 -0
  57. package/src/endpoints/admin-chat.ts +263 -0
  58. package/src/endpoints/admin-stats.ts +200 -0
  59. package/src/endpoints/ai.ts +199 -0
  60. package/src/endpoints/apply-macro.ts +144 -0
  61. package/src/endpoints/auth-2fa.ts +163 -0
  62. package/src/endpoints/auto-close.ts +175 -0
  63. package/src/endpoints/billing.ts +167 -0
  64. package/src/endpoints/bulk-action.ts +103 -0
  65. package/src/endpoints/chat-stream.ts +127 -0
  66. package/src/endpoints/chat.ts +188 -0
  67. package/src/endpoints/chatbot.ts +113 -0
  68. package/src/endpoints/delete-account.ts +129 -0
  69. package/src/endpoints/email-stats.ts +109 -0
  70. package/src/endpoints/export-csv.ts +84 -0
  71. package/src/endpoints/export-data.ts +104 -0
  72. package/src/endpoints/import-conversation.ts +307 -0
  73. package/src/endpoints/index.ts +154 -0
  74. package/src/endpoints/login.ts +92 -0
  75. package/src/endpoints/merge-clients.ts +132 -0
  76. package/src/endpoints/merge-tickets.ts +137 -0
  77. package/src/endpoints/oauth-google.ts +179 -0
  78. package/src/endpoints/pending-emails-process.ts +224 -0
  79. package/src/endpoints/presence.ts +104 -0
  80. package/src/endpoints/process-scheduled.ts +144 -0
  81. package/src/endpoints/purge-logs.ts +58 -0
  82. package/src/endpoints/resend-notification.ts +99 -0
  83. package/src/endpoints/round-robin-config.ts +92 -0
  84. package/src/endpoints/satisfaction.ts +93 -0
  85. package/src/endpoints/search.ts +106 -0
  86. package/src/endpoints/seed-kb.ts +153 -0
  87. package/src/endpoints/settings.ts +144 -0
  88. package/src/endpoints/signature.ts +93 -0
  89. package/src/endpoints/sla-check.ts +124 -0
  90. package/src/endpoints/split-ticket.ts +131 -0
  91. package/src/endpoints/statuses.ts +45 -0
  92. package/src/endpoints/track-open.ts +154 -0
  93. package/src/endpoints/typing.ts +101 -0
  94. package/src/endpoints/user-prefs.ts +125 -0
  95. package/src/hooks/checkSLA.ts +414 -0
  96. package/src/hooks/ticketStatusEmail.ts +182 -0
  97. package/src/index.ts +51 -0
  98. package/src/plugin.ts +157 -0
  99. package/src/portal/LiveChat.tsx +1353 -0
  100. package/src/portal/auth/ChatWidget.tsx +350 -0
  101. package/src/portal/auth/ChatbotWidget.tsx +285 -0
  102. package/src/portal/auth/SupportHeader.tsx +409 -0
  103. package/src/portal/auth/dashboard/DashboardClient.tsx +650 -0
  104. package/src/portal/auth/dashboard/page.tsx +84 -0
  105. package/src/portal/auth/faq/FAQSearch.tsx +117 -0
  106. package/src/portal/auth/faq/page.tsx +199 -0
  107. package/src/portal/auth/layout.tsx +61 -0
  108. package/src/portal/auth/profile/page.tsx +705 -0
  109. package/src/portal/auth/tickets/detail/CloseTicketButton.tsx +74 -0
  110. package/src/portal/auth/tickets/detail/CollapsibleMessages.tsx +46 -0
  111. package/src/portal/auth/tickets/detail/MarkSolutionButton.tsx +50 -0
  112. package/src/portal/auth/tickets/detail/MessageActions.tsx +158 -0
  113. package/src/portal/auth/tickets/detail/PrintButton.tsx +16 -0
  114. package/src/portal/auth/tickets/detail/ReadReceipt.tsx +34 -0
  115. package/src/portal/auth/tickets/detail/ReopenTicketButton.tsx +74 -0
  116. package/src/portal/auth/tickets/detail/SatisfactionForm.tsx +156 -0
  117. package/src/portal/auth/tickets/detail/TicketPolling.tsx +57 -0
  118. package/src/portal/auth/tickets/detail/TicketReplyForm.tsx +294 -0
  119. package/src/portal/auth/tickets/detail/TypingIndicator.tsx +58 -0
  120. package/src/portal/auth/tickets/detail/page.tsx +738 -0
  121. package/src/portal/auth/tickets/new/page.tsx +515 -0
  122. package/src/portal/forgot-password/page.tsx +114 -0
  123. package/src/portal/layout.tsx +26 -0
  124. package/src/portal/locales/en.json +374 -0
  125. package/src/portal/locales/fr.json +374 -0
  126. package/src/portal/login/page.tsx +351 -0
  127. package/src/portal/page.tsx +162 -0
  128. package/src/portal/register/page.tsx +281 -0
  129. package/src/portal/reset-password/page.tsx +152 -0
  130. package/src/styles/BillingView.module.scss +311 -0
  131. package/src/styles/ChatView.module.scss +438 -0
  132. package/src/styles/CommandPalette.module.scss +160 -0
  133. package/src/styles/CrmView.module.scss +554 -0
  134. package/src/styles/EmailTracking.module.scss +238 -0
  135. package/src/styles/ImportConversation.module.scss +267 -0
  136. package/src/styles/Layout.module.scss +55 -0
  137. package/src/styles/Logs.module.scss +164 -0
  138. package/src/styles/NewTicket.module.scss +143 -0
  139. package/src/styles/PendingEmails.module.scss +629 -0
  140. package/src/styles/SupportDashboard.module.scss +649 -0
  141. package/src/styles/TicketDetail.module.scss +1043 -0
  142. package/src/styles/TicketInbox.module.scss +296 -0
  143. package/src/styles/TicketingSettings.module.scss +358 -0
  144. package/src/styles/TimeDashboard.module.scss +287 -0
  145. package/src/styles/_tokens.scss +78 -0
  146. package/src/styles/theme.css +633 -0
  147. package/src/types.ts +255 -0
  148. package/src/utils/adminNotification.ts +38 -0
  149. package/src/utils/auth.ts +46 -0
  150. package/src/utils/emailTemplate.ts +343 -0
  151. package/src/utils/fireWebhooks.ts +84 -0
  152. package/src/utils/index.ts +22 -0
  153. package/src/utils/rateLimiter.ts +52 -0
  154. package/src/utils/readSettings.ts +67 -0
  155. package/src/utils/slugs.ts +54 -0
  156. package/src/utils/webhookDispatcher.ts +120 -0
  157. package/src/views/BillingView/client.tsx +137 -0
  158. package/src/views/BillingView/index.tsx +33 -0
  159. package/src/views/ChatView/client.tsx +294 -0
  160. package/src/views/ChatView/index.tsx +33 -0
  161. package/src/views/CrmView/client.tsx +206 -0
  162. package/src/views/CrmView/index.tsx +33 -0
  163. package/src/views/EmailTrackingView/client.tsx +124 -0
  164. package/src/views/EmailTrackingView/index.tsx +33 -0
  165. package/src/views/ImportConversationView/client.tsx +133 -0
  166. package/src/views/ImportConversationView/index.tsx +33 -0
  167. package/src/views/LogsView/client.tsx +151 -0
  168. package/src/views/LogsView/index.tsx +30 -0
  169. package/src/views/NewTicketView/client.tsx +227 -0
  170. package/src/views/NewTicketView/index.tsx +30 -0
  171. package/src/views/PendingEmailsView/client.tsx +177 -0
  172. package/src/views/PendingEmailsView/index.tsx +33 -0
  173. package/src/views/SupportDashboardView/client.tsx +424 -0
  174. package/src/views/SupportDashboardView/index.tsx +33 -0
  175. package/src/views/TicketDetailView/client.tsx +775 -0
  176. package/src/views/TicketDetailView/index.tsx +33 -0
  177. package/src/views/TicketInboxView/client.tsx +313 -0
  178. package/src/views/TicketInboxView/index.tsx +30 -0
  179. package/src/views/TicketingSettingsView/client.tsx +866 -0
  180. package/src/views/TicketingSettingsView/index.tsx +33 -0
  181. package/src/views/TimeDashboardView/client.tsx +144 -0
  182. package/src/views/TimeDashboardView/index.tsx +33 -0
  183. package/src/views/shared/AdminViewHeader.tsx +69 -0
  184. package/src/views/shared/ErrorBoundary.tsx +68 -0
  185. package/src/views/shared/Skeleton.tsx +125 -0
  186. package/src/views/shared/adminTokens.ts +37 -0
  187. package/src/views/shared/config.ts +82 -0
  188. package/src/views/shared/index.ts +6 -0
  189. package/src/views.ts +16 -0
@@ -0,0 +1,374 @@
1
+ {
2
+ "common": {
3
+ "save": "Sauvegarder",
4
+ "cancel": "Annuler",
5
+ "delete": "Supprimer",
6
+ "edit": "Modifier",
7
+ "close": "Fermer",
8
+ "open": "Ouvrir",
9
+ "loading": "Chargement...",
10
+ "search": "Rechercher",
11
+ "send": "Envoyer",
12
+ "back": "Retour",
13
+ "error": "Erreur",
14
+ "success": "Succès",
15
+ "networkError": "Erreur de connexion. Veuillez réessayer.",
16
+ "required": "obligatoire",
17
+ "optional": "optionnel",
18
+ "or": "OU",
19
+ "today": "Aujourd'hui",
20
+ "yesterday": "Hier",
21
+ "justNow": "A l'instant",
22
+ "agoMinutes": "il y a {{count}}min",
23
+ "agoHours": "il y a {{count}}h",
24
+ "agoDays": "il y a {{count}}j"
25
+ },
26
+ "auth": {
27
+ "login": {
28
+ "title": "Connexion à votre espace",
29
+ "subtitle": "Portail client -- Support et suivi de projets",
30
+ "emailLabel": "Email",
31
+ "emailPlaceholder": "vous@entreprise.fr",
32
+ "passwordLabel": "Mot de passe",
33
+ "passwordPlaceholder": "........",
34
+ "submitButton": "Se connecter",
35
+ "submitting": "Connexion...",
36
+ "forgotPassword": "Mot de passe oublié ?",
37
+ "noAccount": "Pas encore de compte ?",
38
+ "createAccount": "Créer un compte",
39
+ "backToSite": "Retour àu site",
40
+ "continueWithGoogle": "Continuer avec Google",
41
+ "errorInvalidCredentials": "Email ou mot de passe incorrect.",
42
+ "errorConnection": "Erreur de connexion. Veuillez réessayer.",
43
+ "alreadyHaveAccount": "Vous avez déjà un compte. Connectez-vous pour accéder à votre espace support."
44
+ },
45
+ "register": {
46
+ "title": "Créer un compte",
47
+ "subtitle": "Rejoignez votre espace support en quelques secondes",
48
+ "firstNameLabel": "Prénom",
49
+ "lastNameLabel": "Nom",
50
+ "companyLabel": "Entreprise",
51
+ "phoneLabel": "Téléphone",
52
+ "emailLabel": "Email",
53
+ "passwordLabel": "Mot de passe",
54
+ "passwordPlaceholder": "Min. 8 caracteres",
55
+ "confirmPasswordLabel": "Confirmer le mot de passe",
56
+ "confirmPasswordPlaceholder": "Retapez votre mot de passe",
57
+ "submitButton": "Créer mon compte",
58
+ "submitting": "Création du compte...",
59
+ "signUpWithGoogle": "S'inscrire avec Google",
60
+ "alreadyHaveAccount": "Déjà un compte ?",
61
+ "loginLink": "Se connecter",
62
+ "errorPasswordLength": "Le mot de passe doit contenir au moins 8 caracteres.",
63
+ "errorPasswordMismatch": "Les mots de passe ne correspondent pas.",
64
+ "errorCreation": "Erreur lors de la création du compte."
65
+ },
66
+ "twoFactor": {
67
+ "title": "Vérification en deux étapes",
68
+ "codeSent": "Un code a été envoyé à",
69
+ "codeLabel": "Code de vérification",
70
+ "codePlaceholder": "000000",
71
+ "verifyButton": "Vérifier",
72
+ "verifying": "Vérification...",
73
+ "resendCode": "Renvoyer le code",
74
+ "resending": "Envoi...",
75
+ "back": "Retour",
76
+ "errorSendCode": "Erreur lors de l'envoi du code de vérification.",
77
+ "errorResendCode": "Erreur lors du renvoi du code.",
78
+ "errorInvalidCode": "Code incorrect.",
79
+ "errorAfterVerify": "Erreur de connexion après vérification."
80
+ },
81
+ "forgotPassword": {
82
+ "title": "Mot de passe oublié",
83
+ "subtitle": "Entrez votre email pour recevoir un lien de réinitialisation.",
84
+ "emailLabel": "Email",
85
+ "submitButton": "Envoyer le lien",
86
+ "submitting": "Envoi...",
87
+ "successMessage": "Si un compte existe avec cet email, vous recevrez un lien de reinitialisation.",
88
+ "backToLogin": "Retour à la connexion"
89
+ },
90
+ "resetPassword": {
91
+ "title": "Réinitialiser le mot de passe",
92
+ "newPasswordLabel": "Nouveau mot de passe",
93
+ "confirmPasswordLabel": "Confirmer le mot de passe",
94
+ "submitButton": "Réinitialiser",
95
+ "submitting": "Réinitialisation...",
96
+ "successMessage": "Mot de passe reinitialise avec succes.",
97
+ "loginLink": "Se connecter"
98
+ }
99
+ },
100
+ "landing": {
101
+ "assistanceAvailable": "Assistance disponible",
102
+ "heroTitle": "Espace Support Client",
103
+ "heroSubtitle": "Suivez vos projets, signalez un probleme ou posez une question. Notre equipe vous repond sous 24h.",
104
+ "accessSpace": "Accéder à mon espace",
105
+ "createAccount": "Créer un compte",
106
+ "howItWorks": "Comment ça fonctionne ?",
107
+ "howItWorksSubtitle": "Trois étapes pour obtenir de l'aide rapidement.",
108
+ "simpleAndEfficient": "Simple et efficace",
109
+ "step1Title": "Créez un ticket",
110
+ "step1Description": "Décrivez votre besoin ou problème. Ajoutez une catégorie et une priorité pour un traitement rapide.",
111
+ "step2Title": "Échangez avec nous",
112
+ "step2Description": "Discutez directement avec notre équipe. Chaque message est suivi et archivé dans votre espace.",
113
+ "step3Title": "Suivez l'avancement",
114
+ "step3Description": "Consultez le statut de vos tickets, le temps passé et l'historique complet de vos projets.",
115
+ "noAccount": "Pas encore de compte ?",
116
+ "noAccountDescription": "Créez votre compte en quelques secondes pour accéder à votre espace support, ou envoyez un email a",
117
+ "noAccountSuffix": "pour une creation automatique.",
118
+ "loginButton": "Se connecter"
119
+ },
120
+ "header": {
121
+ "myTickets": "Mes tickets",
122
+ "newTicket": "Nouveau ticket",
123
+ "faq": "FAQ",
124
+ "myProfile": "Mon profil",
125
+ "logout": "Déconnexion",
126
+ "impersonation": "Mode impersonation",
127
+ "quit": "Quitter",
128
+ "lightMode": "Mode clair",
129
+ "darkMode": "Mode sombre",
130
+ "notificationsEnabled": "Notifications activées",
131
+ "notificationsBlocked": "Notifications bloquées (modifiez dans les paramètres du navigateur)",
132
+ "enableNotifications": "Activer les notifications",
133
+ "notificationsActivated": "Notifications activées",
134
+ "notificationsBody": "Vous recevrez une notification quand le support répond.",
135
+ "newMessage": "Nouveau message"
136
+ },
137
+ "dashboard": {
138
+ "title": "Mes tickets",
139
+ "tabs": {
140
+ "active": "Actifs",
141
+ "archived": "Archives"
142
+ },
143
+ "search": {
144
+ "placeholder": "Rechercher un ticket...",
145
+ "searchInMessages": "Rechercher dans les messages"
146
+ },
147
+ "filters": {
148
+ "status": "Statut",
149
+ "category": "Catégorie",
150
+ "project": "Projet",
151
+ "sort": "Trier par",
152
+ "allStatuses": "Tous les statuts",
153
+ "allCategories": "Toutes les catégories",
154
+ "allProjects": "Tous les projets"
155
+ },
156
+ "sort": {
157
+ "updatedAt": "Dernière mise à jour",
158
+ "createdAt": "Date de création",
159
+ "priority": "Priorité"
160
+ },
161
+ "empty": {
162
+ "noTickets": "Aucun ticket",
163
+ "noTicketsDescription": "Vous n'avez aucun ticket pour le moment.",
164
+ "createFirst": "Créer mon premier ticket"
165
+ },
166
+ "newMessage": "Nouveau message",
167
+ "status": {
168
+ "open": "Ouvert",
169
+ "waiting_client": "En attente",
170
+ "resolved": "Résolu"
171
+ },
172
+ "priority": {
173
+ "low": "Basse",
174
+ "normal": "Normale",
175
+ "high": "Haute",
176
+ "urgent": "Urgente"
177
+ },
178
+ "category": {
179
+ "bug": "Bug",
180
+ "content": "Contenu",
181
+ "feature": "Fonctionnalité",
182
+ "question": "Question",
183
+ "hosting": "Hébergement"
184
+ }
185
+ },
186
+ "ticketDetail": {
187
+ "backToTickets": "Retour àux tickets",
188
+ "status": {
189
+ "open": "Ouvert",
190
+ "waiting_client": "En attente",
191
+ "resolved": "Résolu"
192
+ },
193
+ "priority": {
194
+ "low": "Basse",
195
+ "normal": "Normale",
196
+ "high": "Haute",
197
+ "urgent": "Urgente"
198
+ },
199
+ "category": {
200
+ "bug": "Bug / Dysfonctionnement",
201
+ "content": "Modification de contenu",
202
+ "feature": "Nouvelle fonctionnalité",
203
+ "question": "Question / Aide",
204
+ "hosting": "Hébergement / Domaine"
205
+ },
206
+ "timeline": {
207
+ "open": "Ouvert",
208
+ "waiting_client": "En attente",
209
+ "resolved": "Résolu"
210
+ },
211
+ "details": {
212
+ "category": "Catégorie",
213
+ "priority": "Priorité",
214
+ "created": "Créé le",
215
+ "updated": "Mis a jour le"
216
+ },
217
+ "messages": {
218
+ "support": "Support",
219
+ "internal": "Note interne",
220
+ "solution": "Solution",
221
+ "edited": "Modifié",
222
+ "deleted": "Ce message a été supprimé."
223
+ },
224
+ "reply": {
225
+ "placeholder": "Écrivez votre réponse...",
226
+ "sendButton": "Envoyer",
227
+ "sending": "Envoi...",
228
+ "attachments": "Pièces jointes",
229
+ "attachmentsTooLarge": "Fichier(s) trop volumineux",
230
+ "dropFiles": "Déposez vos fichiers ici"
231
+ },
232
+ "actions": {
233
+ "closeTicket": "Fermer le ticket",
234
+ "reopenTicket": "Rouvrir le ticket",
235
+ "markSolution": "Marquer comme solution",
236
+ "unmarkSolution": "Retirer la solution",
237
+ "print": "Imprimer"
238
+ },
239
+ "satisfaction": {
240
+ "title": "Votre avis compte",
241
+ "subtitle": "Comment evaluez-vous la resolution de ce ticket ?",
242
+ "ratingLabel": "Note",
243
+ "commentLabel": "Commentaire",
244
+ "commentPlaceholder": "Votre retour nous aide a nous ameliorer...",
245
+ "submitButton": "Envoyer mon avis",
246
+ "thanks": "Merci pour votre avis !"
247
+ },
248
+ "typing": {
249
+ "isTyping": "est en train d'écrire..."
250
+ },
251
+ "readReceipt": {
252
+ "read": "Lu",
253
+ "sent": "Envoyé"
254
+ }
255
+ },
256
+ "newTicket": {
257
+ "title": "Nouveau ticket",
258
+ "badge": "Nouveau ticket",
259
+ "heading": "Comment pouvons-nous vous aider ?",
260
+ "subtitle": "Décrivez votre besoin en détail et nous vous répondrons dans les plus brefs délais.",
261
+ "backToTickets": "Retour àux tickets",
262
+ "subjectLabel": "Sujet",
263
+ "subjectPlaceholder": "Ex: Erreur 404 sur la page contact",
264
+ "descriptionLabel": "Description",
265
+ "descriptionPlaceholder": "Décrivez votre problème en détail. Plus vous donnez d'informations, plus nous pourrons vous aider rapidement.",
266
+ "attachmentsLabel": "Pièces jointes",
267
+ "uploadButton": "Cliquez ou glissez-déposez vos fichiers",
268
+ "uploadHint": "Images, PDF, documents -- max {{maxSize}} par fichier",
269
+ "dropHere": "Déposez vos fichiers ici",
270
+ "fileTooLarge": "Fichier(s) trop volumineux (max {{maxSize}})",
271
+ "advancedOptions": "Options avancées",
272
+ "categoryLabel": "Catégorie",
273
+ "categorySelect": "Sélectionner",
274
+ "priorityLabel": "Priorité",
275
+ "projectLabel": "Projet",
276
+ "projectSelect": "Sélectionner",
277
+ "requiredFields": "Les champs marques d'un * sont obligatoires",
278
+ "submitButton": "Créer le ticket",
279
+ "submitting": "Envoi en cours...",
280
+ "errors": {
281
+ "subjectAndMessageRequired": "Le sujet et le message sont obligatoires.",
282
+ "creationError": "Erreur lors de la création du ticket.",
283
+ "messageError": "Le ticket a été créé mais le message n'a pas pu être envoyé.",
284
+ "networkError": "Erreur de connexion. Veuillez réessayer."
285
+ },
286
+ "templates": {
287
+ "bug": {
288
+ "message": "**Description du bug :**\n\n**Etapes pour reproduire :**\n1. \n2. \n3. \n\n**Resultat attendu :**\n\n**Resultat actuel :**\n\n**Navigateur / Appareil :**\n"
289
+ },
290
+ "feature": {
291
+ "message": "**Fonctionnalité souhaitée :**\n\n**Contexte / besoin :**\n\n**Comportement attendu :**\n\n**Priorite souhaitee :**\n"
292
+ },
293
+ "content": {
294
+ "message": "**Page concernee :**\n\n**Modification demandee :**\n\n**Nouveau contenu :**\n"
295
+ },
296
+ "hosting": {
297
+ "message": "**Nom de domaine :**\n\n**Description du probleme :**\n\n**Message d'erreur (si applicable) :**\n"
298
+ }
299
+ },
300
+ "categories": {
301
+ "bug": "Bug / Dysfonctionnement",
302
+ "content": "Modification de contenu",
303
+ "feature": "Nouvelle fonctionnalité",
304
+ "question": "Question / Aide",
305
+ "hosting": "Hébergement / Domaine"
306
+ },
307
+ "priorities": {
308
+ "low": "Basse",
309
+ "normal": "Normale",
310
+ "high": "Haute",
311
+ "urgent": "Urgente"
312
+ }
313
+ },
314
+ "profile": {
315
+ "title": "Mon profil",
316
+ "personalInfo": "Informations personnelles",
317
+ "firstNameLabel": "Prénom",
318
+ "lastNameLabel": "Nom",
319
+ "companyLabel": "Entreprise",
320
+ "phoneLabel": "Téléphone",
321
+ "emailLabel": "Email",
322
+ "emailReadonly": "L'email ne peut pas être modifié",
323
+ "saveProfile": "Sauvegarder",
324
+ "saving": "Sauvegarde...",
325
+ "profileUpdated": "Profil mis à jour avec succès.",
326
+ "loadError": "Impossible de charger le profil.",
327
+ "sessionExpired": "Session expirée. Veuillez vous reconnecter.",
328
+ "notifications": {
329
+ "title": "Notifications",
330
+ "onReply": "Recevoir un email quand le support repond",
331
+ "onStatusChange": "Recevoir un email lors d'un changement de statut"
332
+ },
333
+ "security": {
334
+ "title": "Sécurité",
335
+ "twoFactor": "Vérification en deux étapes (2FA)",
336
+ "twoFactorDescription": "Un code sera envoyé par email à chaque connexion",
337
+ "changePassword": "Changer le mot de passe",
338
+ "currentPassword": "Mot de passe actuel",
339
+ "newPassword": "Nouveau mot de passe",
340
+ "confirmPassword": "Confirmer le nouveau mot de passe",
341
+ "changeButton": "Changer le mot de passe",
342
+ "changing": "Changement...",
343
+ "passwordChanged": "Mot de passe modifie avec succes.",
344
+ "errorPasswordLength": "Le nouveau mot de passe doit contenir au moins 8 caracteres.",
345
+ "errorPasswordMismatch": "Les mots de passe ne correspondent pas.",
346
+ "errorCurrentPassword": "Mot de passe actuel incorrect."
347
+ },
348
+ "deleteAccount": {
349
+ "title": "Supprimer mon compte",
350
+ "warning": "Cette action est irréversible. Toutes vos données seront supprimées.",
351
+ "button": "Supprimer mon compte",
352
+ "confirmTitle": "Confirmer la suppression",
353
+ "confirmMessage": "Entrez votre mot de passe pour confirmer la suppression de votre compte.",
354
+ "passwordLabel": "Mot de passe",
355
+ "confirmButton": "Supprimer definitivement",
356
+ "deleting": "Suppression...",
357
+ "cancelButton": "Annuler"
358
+ }
359
+ },
360
+ "faq": {
361
+ "title": "Base de connaissances",
362
+ "subtitle": "Trouvez des réponses à vos questions",
363
+ "searchPlaceholder": "Rechercher un article...",
364
+ "noResults": "Aucun résultat pour votre recherche.",
365
+ "categories": {
366
+ "getting-started": "Premiers pas",
367
+ "tickets": "Tickets & Support",
368
+ "account": "Compte & Profil",
369
+ "billing": "Facturation",
370
+ "technical": "Technique",
371
+ "general": "Général"
372
+ }
373
+ }
374
+ }