rails_error_dashboard 0.8.4 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +35 -0
  3. data/app/controllers/rails_error_dashboard/application_controller.rb +107 -4
  4. data/app/controllers/rails_error_dashboard/errors_controller.rb +91 -73
  5. data/app/controllers/rails_error_dashboard/locales_controller.rb +87 -0
  6. data/app/helpers/rails_error_dashboard/application_helper.rb +20 -14
  7. data/app/helpers/rails_error_dashboard/backtrace_helper.rb +15 -6
  8. data/app/helpers/rails_error_dashboard/i18n_helper.rb +154 -0
  9. data/app/helpers/rails_error_dashboard/mailer_i18n_helper.rb +69 -0
  10. data/app/helpers/rails_error_dashboard/overview_helper.rb +18 -6
  11. data/app/helpers/rails_error_dashboard/user_agent_helper.rb +25 -11
  12. data/app/jobs/rails_error_dashboard/application_job.rb +5 -0
  13. data/app/jobs/rails_error_dashboard/baseline_alert_job.rb +18 -16
  14. data/app/jobs/rails_error_dashboard/concerns/localized_job.rb +83 -0
  15. data/app/jobs/rails_error_dashboard/discord_error_notification_job.rb +4 -2
  16. data/app/jobs/rails_error_dashboard/email_error_notification_job.rb +4 -2
  17. data/app/jobs/rails_error_dashboard/pagerduty_error_notification_job.rb +6 -2
  18. data/app/jobs/rails_error_dashboard/scheduled_digest_job.rb +8 -3
  19. data/app/jobs/rails_error_dashboard/slack_error_notification_job.rb +6 -4
  20. data/app/jobs/rails_error_dashboard/storm_notification_job.rb +26 -8
  21. data/app/jobs/rails_error_dashboard/webhook_error_notification_job.rb +4 -2
  22. data/app/mailers/rails_error_dashboard/application_mailer.rb +14 -0
  23. data/app/mailers/rails_error_dashboard/digest_mailer.rb +18 -2
  24. data/app/mailers/rails_error_dashboard/error_notification_mailer.rb +19 -2
  25. data/app/views/layouts/rails_error_dashboard.html.erb +255 -92
  26. data/app/views/rails_error_dashboard/digest_mailer/digest_summary.html.erb +23 -22
  27. data/app/views/rails_error_dashboard/digest_mailer/digest_summary.text.erb +30 -19
  28. data/app/views/rails_error_dashboard/error_notification_mailer/error_alert.html.erb +18 -16
  29. data/app/views/rails_error_dashboard/error_notification_mailer/error_alert.text.erb +21 -14
  30. data/app/views/rails_error_dashboard/errors/_ai_help_panel.html.erb +11 -7
  31. data/app/views/rails_error_dashboard/errors/_breadcrumbs_group.html.erb +45 -38
  32. data/app/views/rails_error_dashboard/errors/_co_occurring_errors.html.erb +17 -14
  33. data/app/views/rails_error_dashboard/errors/_discussion.html.erb +27 -9
  34. data/app/views/rails_error_dashboard/errors/_error_cascades.html.erb +25 -21
  35. data/app/views/rails_error_dashboard/errors/_error_info.html.erb +25 -22
  36. data/app/views/rails_error_dashboard/errors/_error_row.html.erb +24 -12
  37. data/app/views/rails_error_dashboard/errors/_instance_variables.html.erb +12 -11
  38. data/app/views/rails_error_dashboard/errors/_issue_section.html.erb +19 -13
  39. data/app/views/rails_error_dashboard/errors/_llm_summary.html.erb +14 -14
  40. data/app/views/rails_error_dashboard/errors/_local_variables.html.erb +8 -8
  41. data/app/views/rails_error_dashboard/errors/_modals.html.erb +60 -52
  42. data/app/views/rails_error_dashboard/errors/_pattern_insights.html.erb +59 -49
  43. data/app/views/rails_error_dashboard/errors/_request_context.html.erb +23 -20
  44. data/app/views/rails_error_dashboard/errors/_show_scripts.html.erb +14 -14
  45. data/app/views/rails_error_dashboard/errors/_sidebar_metadata.html.erb +118 -93
  46. data/app/views/rails_error_dashboard/errors/_similar_errors.html.erb +18 -12
  47. data/app/views/rails_error_dashboard/errors/_source_code.html.erb +20 -5
  48. data/app/views/rails_error_dashboard/errors/_stats.html.erb +5 -5
  49. data/app/views/rails_error_dashboard/errors/_timeline.html.erb +7 -7
  50. data/app/views/rails_error_dashboard/errors/_user_errors_table.html.erb +15 -12
  51. data/app/views/rails_error_dashboard/errors/actioncable_health_summary.html.erb +25 -25
  52. data/app/views/rails_error_dashboard/errors/activestorage_health_summary.html.erb +28 -28
  53. data/app/views/rails_error_dashboard/errors/analytics.html.erb +82 -82
  54. data/app/views/rails_error_dashboard/errors/cache_health_summary.html.erb +27 -27
  55. data/app/views/rails_error_dashboard/errors/correlation.html.erb +61 -57
  56. data/app/views/rails_error_dashboard/errors/database_health_summary.html.erb +64 -65
  57. data/app/views/rails_error_dashboard/errors/deprecations.html.erb +23 -23
  58. data/app/views/rails_error_dashboard/errors/diagnostic_dumps.html.erb +48 -36
  59. data/app/views/rails_error_dashboard/errors/index.html.erb +121 -70
  60. data/app/views/rails_error_dashboard/errors/job_health_summary.html.erb +30 -30
  61. data/app/views/rails_error_dashboard/errors/llm_health_summary.html.erb +38 -39
  62. data/app/views/rails_error_dashboard/errors/n_plus_one_summary.html.erb +28 -25
  63. data/app/views/rails_error_dashboard/errors/overview.html.erb +45 -39
  64. data/app/views/rails_error_dashboard/errors/platform_comparison.html.erb +45 -44
  65. data/app/views/rails_error_dashboard/errors/rack_attack_summary.html.erb +30 -29
  66. data/app/views/rails_error_dashboard/errors/releases.html.erb +46 -47
  67. data/app/views/rails_error_dashboard/errors/settings/_value_badge.html.erb +48 -44
  68. data/app/views/rails_error_dashboard/errors/settings.html.erb +122 -112
  69. data/app/views/rails_error_dashboard/errors/show.html.erb +44 -37
  70. data/app/views/rails_error_dashboard/errors/storms.html.erb +30 -24
  71. data/app/views/rails_error_dashboard/errors/swallowed_exceptions.html.erb +26 -26
  72. data/app/views/rails_error_dashboard/errors/user_impact.html.erb +31 -30
  73. data/config/locales/de.yml +2007 -0
  74. data/config/locales/en.yml +2719 -0
  75. data/config/locales/es.yml +2079 -0
  76. data/config/locales/fr.yml +2082 -0
  77. data/config/locales/it.yml +2060 -0
  78. data/config/locales/ja.yml +1802 -0
  79. data/config/locales/pl.yml +2108 -0
  80. data/config/locales/pt-BR.yml +2064 -0
  81. data/config/locales/ru.yml +2109 -0
  82. data/config/locales/uk.yml +2106 -0
  83. data/config/locales/zh-CN.yml +1791 -0
  84. data/config/routes.rb +5 -0
  85. data/db/migrate/20260325000001_fix_swallowed_exceptions_index_for_mysql.rb +9 -3
  86. data/lib/rails_error_dashboard/commands/batch_delete_errors.rb +3 -1
  87. data/lib/rails_error_dashboard/commands/batch_mute_errors.rb +4 -2
  88. data/lib/rails_error_dashboard/commands/batch_resolve_errors.rb +4 -2
  89. data/lib/rails_error_dashboard/commands/batch_unmute_errors.rb +4 -2
  90. data/lib/rails_error_dashboard/commands/create_issue.rb +5 -3
  91. data/lib/rails_error_dashboard/commands/link_existing_issue.rb +4 -2
  92. data/lib/rails_error_dashboard/commands/log_error.rb +1 -1
  93. data/lib/rails_error_dashboard/configuration.rb +10 -3
  94. data/lib/rails_error_dashboard/current.rb +56 -0
  95. data/lib/rails_error_dashboard/i18n_store.rb +293 -0
  96. data/lib/rails_error_dashboard/private_backend.rb +213 -0
  97. data/lib/rails_error_dashboard/services/baseline_alert_payload_builder.rb +89 -22
  98. data/lib/rails_error_dashboard/services/digest_builder.rb +21 -7
  99. data/lib/rails_error_dashboard/services/discord_payload_builder.rb +27 -15
  100. data/lib/rails_error_dashboard/services/error_notification_dispatcher.rb +10 -5
  101. data/lib/rails_error_dashboard/services/localized_time_formatter.rb +117 -0
  102. data/lib/rails_error_dashboard/services/notification_helpers.rb +87 -4
  103. data/lib/rails_error_dashboard/services/pagerduty_payload_builder.rb +22 -5
  104. data/lib/rails_error_dashboard/services/slack_payload_builder.rb +48 -28
  105. data/lib/rails_error_dashboard/services/storm_protection/gate.rb +2 -1
  106. data/lib/rails_error_dashboard/services/webhook_payload_builder.rb +15 -1
  107. data/lib/rails_error_dashboard/translation.rb +39 -0
  108. data/lib/rails_error_dashboard/version.rb +1 -1
  109. data/lib/rails_error_dashboard.rb +4 -0
  110. data/lib/tasks/error_dashboard.rake +5 -1
  111. metadata +24 -4
@@ -0,0 +1,2082 @@
1
+ # RED dashboard translations — fr
2
+ #
3
+ # MACHINE-TRANSLATED AND NOT REVIEWED BY A NATIVE SPEAKER.
4
+ # See docs/guides/TRANSLATIONS.md. Corrections are welcome, and a one-key
5
+ # pull request is a perfectly good pull request.
6
+ #
7
+ # Structure is derived from en.yml, which is authoritative. Do not add keys
8
+ # here that do not exist there — run bin/i18n-check after editing.
9
+ fr:
10
+ red:
11
+ common:
12
+ not_available: N/D
13
+ close: Fermer
14
+ unknown: Inconnu
15
+ severity:
16
+ critical: Critique
17
+ high: Élevée
18
+ medium: Moyenne
19
+ low: Faible
20
+ days_filter:
21
+ '7': 7 jours
22
+ '14': 14 jours
23
+ '30': 30 jours
24
+ '90': 90 jours
25
+ frame_category:
26
+ app: Votre code
27
+ gem: Gem
28
+ framework: Framework Rails
29
+ ruby_core: Noyau Ruby
30
+ unknown: Inconnu
31
+ trend:
32
+ increasing: En hausse
33
+ decreasing: En baisse
34
+ stable: Stable
35
+ health_status:
36
+ healthy: "✅ Sain"
37
+ warning: "⚠️ Avertissement"
38
+ critical: "\U0001F534 Critique"
39
+ device_type:
40
+ mobile: Mobile
41
+ tablet: Tablette
42
+ bot: Bot
43
+ desktop: Ordinateur
44
+ nav:
45
+ sections:
46
+ core: Principal
47
+ health: État
48
+ diagnostics: Diagnostics
49
+ insights: Analyses
50
+ overview: Vue d'ensemble
51
+ errors: Erreurs
52
+ analytics: Analyse
53
+ platform: Plateforme
54
+ cache: Cache
55
+ jobs: Jobs
56
+ database: Base de données
57
+ rate_limits: Limites de débit
58
+ actioncable: ActionCable
59
+ activestorage: ActiveStorage
60
+ llm: LLM
61
+ n_plus_one: Requêtes N+1
62
+ deprecations: Deprecations
63
+ swallowed: Avalées
64
+ diagnostic_dumps: Diagnostics
65
+ storms: Tempêtes
66
+ correlation: Corrélation
67
+ releases: Releases
68
+ user_impact: Impact utilisateur
69
+ settings: Paramètres
70
+ sidebar:
71
+ back_to_app: Retour à %{app}
72
+ back_to_app_home: Retour à l'accueil de l'application
73
+ navbar:
74
+ search_placeholder: Rechercher des erreurs… /
75
+ toggle_sidebar: Afficher/masquer la barre latérale (S)
76
+ toggle_theme: Changer de thème
77
+ keyboard_shortcuts_title: Raccourcis clavier (?)
78
+ all_applications: Toutes les applications
79
+ language: Langue
80
+ choose_language: Choisir la langue du tableau de bord
81
+ all_apps: Toutes les applications (%{count})
82
+ banners:
83
+ credentials:
84
+ label: 'Avertissement de sécurité :'
85
+ body_html: Vous utilisez les identifiants par défaut (gandalf/youshallnotpass).
86
+ Définissez les variables d'environnement <code>ERROR_DASHBOARD_USER</code>
87
+ et <code>ERROR_DASHBOARD_PASSWORD</code>, ou configurez <code>authenticate_with</code>
88
+ dans votre initializer.
89
+ dismiss: Masquer pour cette session
90
+ storm:
91
+ active_title: Tempête d'erreurs en cours
92
+ recent_title: La protection anti-tempête s'est déclenchée récemment
93
+ active_paused: "(depuis %{time}) — la protection anti-tempête est active.
94
+ Les occurrences sont comptées exactement ; la capture des détails est suspendue
95
+ (mode comptage seul)."
96
+ active_sampled: "(depuis %{time}) — la protection anti-tempête est active.
97
+ Les occurrences sont comptées exactement ; la capture du contexte est échantillonnée."
98
+ recent_body: "(terminée %{time}) — %{count} occurrences ont été enregistrées
99
+ avec un comptage exact et des détails échantillonnés."
100
+ view_history: Voir l'historique des tempêtes
101
+ footer:
102
+ built_with: Créé avec
103
+ credit_html: Créé avec ❤️ par %{author}
104
+ shortcuts:
105
+ title: Raccourcis clavier
106
+ refresh: Actualiser la page
107
+ focus_search: Placer le curseur dans la recherche
108
+ analytics: Analyse
109
+ toggle_sidebar: Afficher/masquer la barre latérale
110
+ show_shortcuts: Afficher les raccourcis
111
+ errors:
112
+ index:
113
+ title: Erreurs
114
+ last_updated_html: 'Dernière mise à jour : %{time}'
115
+ live: En direct
116
+ summary:
117
+ errors_html:
118
+ one: "%{value} erreur"
119
+ other: "%{value} erreurs"
120
+ many: "%{value} erreurs"
121
+ unresolved_html: "%{value} non résolues"
122
+ all_time: Depuis le début
123
+ spike:
124
+ critical: Pic d'erreurs critiques détecté !
125
+ high: Pic d'erreurs important détecté
126
+ elevated: Activité d'erreurs élevée
127
+ today:
128
+ one: 'Aujourd''hui : %{count} erreur'
129
+ other: 'Aujourd''hui : %{count} erreurs'
130
+ many: 'Aujourd''hui : %{count} erreurs'
131
+ average: "(moy. sur 7 jours : %{avg})"
132
+ multiplier: "%{multiplier}x le niveau normal"
133
+ filters:
134
+ search_placeholder: Rechercher des erreurs…
135
+ more: Plus de filtres
136
+ apply: Appliquer les filtres
137
+ clear: Réinitialiser
138
+ clear_all: Tout réinitialiser
139
+ active_label: 'Filtres :'
140
+ status:
141
+ all: Tous
142
+ unresolved: Non résolues
143
+ resolved: Résolues
144
+ assigned: Assignées
145
+ reopened: Rouvertes
146
+ severity:
147
+ any: Toutes gravités
148
+ all_apps: Toutes les applications
149
+ all_platforms: Toutes les plateformes
150
+ all_types: Tous les types
151
+ all_timeframes: Toute la période
152
+ all_frequencies: Toutes les fréquences
153
+ all_priorities: Toutes les priorités
154
+ all_assignments: Toutes les assignations
155
+ all_assignees: Tous les assignés
156
+ unassigned: Non assignées
157
+ assigned: Assignées
158
+ unresolved_only: Non résolues uniquement
159
+ hide_snoozed: Masquer les mises en veille
160
+ hide_muted: Masquer les mises en sourdine
161
+ timeframes:
162
+ last_hour: Dernière heure
163
+ today: Aujourd'hui
164
+ yesterday: Hier
165
+ last_7_days: 7 derniers jours
166
+ last_30_days: 30 derniers jours
167
+ last_90_days: 90 derniers jours
168
+ frequencies:
169
+ once: Une fois
170
+ few: 2 à 9 fois
171
+ frequent: 10 à 99 fois
172
+ very_frequent: 100 fois et plus
173
+ recurring: Récurrentes
174
+ chips:
175
+ search: 'Recherche : %{value}'
176
+ application: 'Application : %{value}'
177
+ platform: 'Plateforme : %{value}'
178
+ error_type: 'Type : %{value}'
179
+ severity: 'Gravité : %{value}'
180
+ timeframe: 'Période : %{value}'
181
+ frequency: 'Fréquence : %{value}'
182
+ status: 'Statut : %{value}'
183
+ priority: 'Priorité : %{value}'
184
+ remove: Retirer le filtre
185
+ columns:
186
+ error: Erreur
187
+ status: Statut
188
+ events: Événements
189
+ users: Utilisateurs
190
+ last_seen: Dernière occurrence
191
+ application: Application
192
+ platform: Plateforme
193
+ select_all: Sélectionner toutes les erreurs
194
+ batch:
195
+ selected:
196
+ one: "%{count} sélectionnée"
197
+ other: "%{count} sélectionnées"
198
+ many: "%{count} sélectionnées"
199
+ resolve: Résoudre
200
+ delete: Supprimer
201
+ confirm_delete: Voulez-vous vraiment supprimer les erreurs sélectionnées
202
+ ?
203
+ pagination: "%{from}–%{to} sur %{count} erreurs"
204
+ empty:
205
+ filtered_title: Aucune erreur ne correspond à vos filtres
206
+ filtered_message: Ajustez votre recherche ou vos critères de filtrage pour
207
+ trouver ce que vous cherchez.
208
+ filtered_cta: Réinitialiser tous les filtres
209
+ clear_title: Tout va bien !
210
+ clear_message: Aucune erreur n'a encore été enregistrée. Votre application
211
+ fonctionne sans encombre. Les erreurs apparaîtront ici automatiquement
212
+ dès qu'elles surviendront.
213
+ show:
214
+ page_title: Erreur n°%{id}
215
+ breadcrumb_errors: Erreurs
216
+ hero:
217
+ reopened: Rouverte
218
+ occurrences_html:
219
+ one: "%{value} occurrence"
220
+ other: "%{value} occurrences"
221
+ many: "%{value} occurrences"
222
+ user_html: Utilisateur %{value}
223
+ first_seen_html: Première occurrence %{time}
224
+ last_seen_html: Dernière occurrence %{time}
225
+ actions:
226
+ resolve: Résoudre
227
+ assign: Assigner
228
+ copy_for_llm: Copier pour un LLM
229
+ ai_help: Aide IA
230
+ export_json: Exporter en JSON
231
+ tabs:
232
+ details: Détails
233
+ context: Contexte
234
+ history: Historique
235
+ issues: Issues
236
+ coverage:
237
+ active_label: Couverture active
238
+ active_body: développez le code source pour voir les lignes exécutées
239
+ inactive_label: Couverture des chemins de code
240
+ inactive_body: activez pour voir les lignes exécutées
241
+ enable: Activer
242
+ disable: Désactiver
243
+ baselines:
244
+ title: Statistiques de référence
245
+ anomaly_label: 'Anomalie :'
246
+ anomaly_body: "%{sigma}σ au-dessus de la référence (%{level})"
247
+ levels:
248
+ elevated: SUPÉRIEUR
249
+ high: ÉLEVÉ
250
+ critical: CRITIQUE
251
+ hourly: Horaire
252
+ daily: Quotidien
253
+ weekly: Hebdomadaire
254
+ mean: 'Moyenne :'
255
+ std_dev: 'σ :'
256
+ percentile_95: 'P95 :'
257
+ quick_actions:
258
+ title: Actions rapides
259
+ view_similar: Voir les erreurs similaires
260
+ view_user_errors: Voir les erreurs de l'utilisateur
261
+ view_platform_errors: Voir les erreurs %{platform}
262
+ analytics: Analyse
263
+ variables:
264
+ local_title: Variables locales
265
+ local_hint: Variables de la frame de pile où l'exception a été levée
266
+ instance_title: Variables d'instance
267
+ instance_hint_html: Variables d'instance de %{klass}, là où l'exception a
268
+ été levée
269
+ instance_hint_generic: Variables d'instance de l'objet où l'exception a été
270
+ levée
271
+ captured:
272
+ one: "%{count} capturée"
273
+ other: "%{count} capturées"
274
+ many: "%{count} capturées"
275
+ column_variable: Variable
276
+ column_type: Type
277
+ column_value: Valeur
278
+ filtered: "[FILTRÉE]"
279
+ truncated: tronquée
280
+ deprecations:
281
+ title: Avertissements de deprecation
282
+ hint: Avertissements de deprecation Rails détectés pendant cette requête
283
+ column_warning: Avertissement
284
+ column_source: Source
285
+ footer_tip: Corrigez les deprecations avant de mettre Rails à jour pour éviter
286
+ les changements incompatibles.
287
+ upgrade_guide: Guide de mise à jour de Rails
288
+ n_plus_one:
289
+ title: Détection des requêtes N+1
290
+ hint: Motifs de requêtes répétées détectés dans les breadcrumbs SQL de cette
291
+ requête
292
+ patterns:
293
+ one: "%{count} motif"
294
+ other: "%{count} motifs"
295
+ many: "%{count} motifs"
296
+ column_repeats: Répétitions
297
+ column_query: Motif de requête
298
+ column_total_time: Temps total
299
+ fingerprint: 'Fingerprint : %{fingerprint}'
300
+ tip_preload_html: 'Astuce : préchargez %{table} avec %{includes} ou %{preload}'
301
+ tip_generic_html: 'Astuce : utilisez %{includes} ou %{preload} pour précharger
302
+ les associations'
303
+ eager_loading_guide: Guide Rails du eager loading
304
+ cache_health:
305
+ title: État du cache
306
+ operations:
307
+ one: "%{count} opération"
308
+ other: "%{count} opérations"
309
+ many: "%{count} opérations"
310
+ hint: Analyse de l'activité du cache d'après les breadcrumbs de cette requête
311
+ reads: Lectures
312
+ writes: Écritures
313
+ hit_rate: Taux de réussite
314
+ hits:
315
+ one: "%{count} réussite"
316
+ other: "%{count} réussites"
317
+ many: "%{count} réussites"
318
+ misses:
319
+ one: "%{count} échec"
320
+ other: "%{count} échecs"
321
+ many: "%{count} échecs"
322
+ unknown_status:
323
+ one: "%{count} lecture au statut de réussite inconnu (breadcrumbs plus anciens)"
324
+ other: "%{count} lectures au statut de réussite inconnu (breadcrumbs plus
325
+ anciens)"
326
+ many: "%{count} lectures au statut de réussite inconnu (breadcrumbs plus
327
+ anciens)"
328
+ total_time_html: 'Temps de cache total : %{duration}'
329
+ slowest_html: 'La plus lente : %{duration}'
330
+ low_hit_rate: Faible taux de réussite — revoyez la conception des clés de
331
+ cache et les réglages de TTL.
332
+ moderate_hit_rate: Taux de réussite moyen — envisagez de préchauffer les caches
333
+ ou d'ajuster les durées d'expiration.
334
+ caching_guide: Guide de la mise en cache Rails
335
+ breadcrumbs:
336
+ title: Breadcrumbs
337
+ events:
338
+ one: "%{count} événement"
339
+ other: "%{count} événements"
340
+ many: "%{count} événements"
341
+ hint: Fil d'activité ayant conduit à cette erreur
342
+ column_category: Catégorie
343
+ column_message: Message
344
+ column_duration: Durée
345
+ patterns:
346
+ title: Motifs d'occurrence
347
+ window: "(%{days} derniers jours)"
348
+ pattern_type: Type de motif
349
+ types:
350
+ business_hours:
351
+ label: Motif des heures ouvrées
352
+ description: Les erreurs culminent pendant les heures ouvrées (9h-17h),
353
+ ce qui suggère un lien avec l'activité des utilisateurs
354
+ night:
355
+ label: Motif nocturne
356
+ description: Les erreurs culminent pendant la nuit (minuit-6h), possiblement
357
+ à cause de jobs en arrière-plan ou de tâches automatisées
358
+ weekend:
359
+ label: Motif de week-end
360
+ description: La plupart des erreurs surviennent le week-end, ce qui suggère
361
+ des usages propres au week-end
362
+ uniform:
363
+ label: Motif uniforme
364
+ description: Les erreurs se répartissent uniformément sur la journée,
365
+ sans motif net
366
+ none:
367
+ label: Aucun motif détecté
368
+ description: Données insuffisantes pour identifier un motif d'occurrence
369
+ net
370
+ strength: Intensité du motif
371
+ strengths:
372
+ strong:
373
+ label: Motif marqué
374
+ description: Les erreurs sont fortement concentrées sur certaines heures
375
+ moderate:
376
+ label: Motif modéré
377
+ description: Une certaine concentration sur certaines heures
378
+ weak:
379
+ label: Motif faible
380
+ description: Les erreurs se répartissent assez uniformément
381
+ heatmap_title: Carte thermique de la répartition horaire
382
+ heatmap_legend: Cellules plus sombres = plus d'erreurs. Les bordures rouges
383
+ signalent les heures de pointe (>%{multiplier}x la moyenne).
384
+ heatmap_cell:
385
+ one: "%{hour} – %{count} erreur"
386
+ other: "%{hour} – %{count} erreurs"
387
+ many: "%{hour} – %{count} erreurs"
388
+ peak_hours: 'Heures de pointe :'
389
+ peak_hours_hint: Le taux d'erreur y dépasse le double de la moyenne. Surveillez
390
+ les déploiements ou la charge à ces heures-là.
391
+ bursts_title: Rafales d'erreurs
392
+ bursts_window: "(%{days} derniers jours)"
393
+ bursts_hint: Les rafales d'erreurs sont des séquences rapides où plusieurs
394
+ erreurs surviennent en quelques minutes. Cela peut indiquer des défaillances
395
+ en cascade ou des pics de charge.
396
+ column_start_time: Heure de début
397
+ column_duration: Durée
398
+ column_error_count: Nombre d'erreurs
399
+ column_intensity: Intensité
400
+ burst_duration: "%{minutes} min"
401
+ burst_duration_seconds: "(%{seconds} s)"
402
+ burst_errors_html:
403
+ one: "%{value} erreur"
404
+ other: "%{value} erreurs"
405
+ many: "%{value} erreurs"
406
+ intensity_high: Élevée (20 erreurs et plus)
407
+ intensity_medium: Moyenne (10 à 19 erreurs)
408
+ intensity_low: Faible (5 à 9 erreurs)
409
+ bursts_truncated: Affichage de %{shown} rafales détectées sur %{total}
410
+ recommendation_label: 'Recommandation :'
411
+ recommendation_intro: 'Plusieurs rafales d''erreurs détectées. Examinez :'
412
+ recommendation_deploys: Les déploiements récents ou les changements de configuration
413
+ autour des rafales
414
+ recommendation_load: Les pics de charge ou les profils de trafic
415
+ recommendation_cascades: Les défaillances en cascade issues d'erreurs liées
416
+ recommendation_jobs: Les échecs de jobs en arrière-plan ou les tempêtes de
417
+ réessais
418
+ empty: Aucun motif d'occurrence ni rafale détecté. Davantage de données peuvent
419
+ être nécessaires pour l'analyse des motifs.
420
+ providers:
421
+ github: GitHub
422
+ gitlab: GitLab
423
+ bitbucket: Bitbucket
424
+ jira: Jira
425
+ linear: Linear
426
+ generic: Plateforme
427
+ generic_lowercase: la plateforme
428
+ discussion:
429
+ title: Discussion
430
+ activity_log: Journal d'activité
431
+ reply_on: Répondre sur %{provider}
432
+ start_on: Lancer la discussion sur %{provider}
433
+ empty: Aucun commentaire pour l'instant. Soyez le premier à discuter de cette
434
+ erreur sur %{provider}.
435
+ issue_section:
436
+ title: Gestionnaire d'issues
437
+ view_issue: Voir l'issue
438
+ linked: Liée
439
+ issue_reference: "%{provider} n°%{number}"
440
+ states:
441
+ open: Ouverte
442
+ closed: Fermée
443
+ merged: Fusionnée
444
+ assignees: Assignés
445
+ unassigned: Non assignée
446
+ labels: Labels
447
+ no_labels: Aucun label
448
+ create_new: Créer une nouvelle issue
449
+ create_issue: Créer une issue %{provider}
450
+ configure_html: Configurez %{token} et %{url} dans votre initializer pour
451
+ activer la création d'issues.
452
+ link_existing: Lier une issue existante
453
+ link: Lier
454
+ cascades:
455
+ title: Cascades d'erreurs
456
+ hint: Relations de cause à effet entre les erreurs
457
+ triggered_by: Déclenchée par
458
+ triggered_by_hint: "(erreurs qui provoquent celle-ci)"
459
+ triggers: Déclenche
460
+ triggers_hint: "(erreurs provoquées par celle-ci)"
461
+ column_error_type: Type d'erreur
462
+ column_message: Message
463
+ column_probability: Probabilité
464
+ column_frequency: Fréquence
465
+ column_avg_delay: Écart moy.
466
+ view: Voir
467
+ footnote: Les motifs de cascade montrent des relations de cause à effet. Une
468
+ probabilité (≥%{probability} %) et une fréquence (≥%{frequency}) élevées
469
+ indiquent des cascades marquées.
470
+ llm_summary:
471
+ title: Appels LLM
472
+ hint: Agrégés depuis les breadcrumbs de la requête
473
+ calls: Appels
474
+ tokens: Tokens
475
+ cost: Coût
476
+ input: Entrée
477
+ output: Sortie
478
+ tool_calls: Appels d'outils
479
+ total_time: Temps total
480
+ errors: Erreurs
481
+ by_model: Par modèle
482
+ failed_calls:
483
+ one: "%{count} appel en échec — voir le fil des breadcrumbs pour les détails."
484
+ other: "%{count} appels en échec — voir le fil des breadcrumbs pour les
485
+ détails."
486
+ many: "%{count} appels en échec — voir le fil des breadcrumbs pour les détails."
487
+ timeline:
488
+ title: Chronologie
489
+ hint: Erreurs liées récentes
490
+ current_error: Erreur actuelle
491
+ user: 'Utilisateur : %{id}'
492
+ resolved: Résolue
493
+ notes_label: 'Notes de résolution :'
494
+ notes_tooltip: 'Notes de résolution : %{notes}'
495
+ user_errors_table:
496
+ column_rank: Rang
497
+ column_user: Utilisateur
498
+ column_error_type_count: Types d'erreurs différents
499
+ column_error_count: Nombre d'erreurs
500
+ column_percentage: Pourcentage
501
+ column_error_types: Types d'erreurs
502
+ column_actions: Actions
503
+ types:
504
+ one: "%{count} type"
505
+ other: "%{count} types"
506
+ many: "%{count} types"
507
+ more:
508
+ one: "+%{count} autre"
509
+ other: "+%{count} autres"
510
+ many: "+%{count} autres"
511
+ view_errors: Voir les erreurs
512
+ co_occurring:
513
+ title: Erreurs concomitantes
514
+ badge: Motifs temporels
515
+ hint: Erreurs survenant dans les %{minutes} minutes autour de cette erreur
516
+ column_error_type: Type d'erreur
517
+ column_message: Message
518
+ column_platform: Plateforme
519
+ column_frequency: Fréquence
520
+ column_avg_delay: Écart moy.
521
+ times:
522
+ one: "%{count} fois"
523
+ other: "%{count} fois"
524
+ many: "%{count} fois"
525
+ before: "%{duration} avant"
526
+ after: "%{duration} après"
527
+ simultaneous: simultanée
528
+ view: Voir
529
+ modals:
530
+ cancel: Annuler
531
+ name_placeholder: ex. Jean Dupont
532
+ resolve:
533
+ title: Marquer l'erreur comme résolue
534
+ name_label: Votre nom
535
+ name_hint: Qui résout cette erreur ?
536
+ reference_label: Référence (facultatif)
537
+ reference_placeholder: ex. JIRA-123, PR n°456, issue GitHub n°789
538
+ reference_hint: Lien vers un ticket, une PR ou une issue
539
+ notes_label: Notes de résolution (facultatif)
540
+ notes_placeholder: Décrivez ce qui a été fait pour corriger cette erreur…
541
+ notes_hint: Qu'est-ce qui a été fait pour résoudre cette erreur ?
542
+ submit: Marquer comme résolue
543
+ assign:
544
+ title: Assigner l'erreur
545
+ label: Assigner à
546
+ hint: Qui doit analyser cette erreur ?
547
+ submit: Assigner
548
+ priority:
549
+ title: Modifier la priorité
550
+ label: Niveau de priorité
551
+ current: 'Actuelle : %{value}'
552
+ submit: Modifier la priorité
553
+ snooze:
554
+ title: Mettre l'erreur en veille
555
+ label: Durée de mise en veille
556
+ hint: Masquer cette erreur des vues actives
557
+ reason_label: Motif (facultatif)
558
+ reason_placeholder: Pourquoi mettez-vous cette erreur en veille ?
559
+ reason_hint: Le motif sera ajouté en commentaire
560
+ submit: Mettre en veille
561
+ hours:
562
+ one: "%{count} heure"
563
+ other: "%{count} heures"
564
+ many: "%{count} heures"
565
+ days:
566
+ one: "%{count} jour"
567
+ other: "%{count} jours"
568
+ many: "%{count} jours"
569
+ weeks:
570
+ one: "%{count} semaine"
571
+ other: "%{count} semaines"
572
+ many: "%{count} semaines"
573
+ hours_with_equivalent: "%{hours} (%{equivalent})"
574
+ mute:
575
+ title: Mettre les notifications en sourdine
576
+ description: Les erreurs en sourdine restent visibles dans le tableau de
577
+ bord mais ne déclenchent aucune notification (Slack, e-mail, Discord,
578
+ PagerDuty, webhooks).
579
+ name_label: Votre nom (facultatif)
580
+ reason_label: Motif (facultatif)
581
+ reason_placeholder: Pourquoi mettez-vous cette erreur en sourdine ?
582
+ reason_hint: Le motif sera ajouté en commentaire
583
+ submit: Mettre les notifications en sourdine
584
+ request_context:
585
+ title: Contexte de la requête
586
+ url: 'URL de la requête :'
587
+ hostname: 'Nom d''hôte :'
588
+ content_type: 'Content-Type :'
589
+ duration: 'Durée de la requête :'
590
+ params: 'Paramètres de la requête :'
591
+ user_agent: 'User-Agent :'
592
+ ip_address: 'Adresse IP :'
593
+ replay: 'Rejouer la requête :'
594
+ raw_user_agent: User-Agent brut
595
+ duration_seconds: "%{value} s"
596
+ duration_ms: "%{value} ms"
597
+ copy_curl: Copier en curl
598
+ copy_curl_title: Copier la commande curl dans le presse-papiers
599
+ copy_rspec: Copier en RSpec
600
+ copy_rspec_title: Copier le request spec RSpec dans le presse-papiers
601
+ similar_errors:
602
+ title: Erreurs similaires
603
+ badge: Correspondance approximative
604
+ hint: Erreurs dont le backtrace et le message sont proches (%{threshold} %
605
+ de similarité et plus)
606
+ column_similarity: Similarité
607
+ column_error_type: Type d'erreur
608
+ column_message: Message
609
+ column_platform: Plateforme
610
+ column_occurrences: Occurrences
611
+ occurrences:
612
+ one: "%{count}x"
613
+ other: "%{count}x"
614
+ many: "%{count}x"
615
+ view: Voir
616
+ source_code:
617
+ view_on: Voir sur %{host}
618
+ view_source: Voir le code source
619
+ coverage_legend_html: Couverture active — %{executed} = exécutée, %{not_executed}
620
+ = non exécutée
621
+ coverage_green: vert
622
+ coverage_gray: gris
623
+ read_failed: 'Impossible de lire le code source : %{message}'
624
+ ai_help:
625
+ title: Aide IA
626
+ providers:
627
+ openai: OpenAI
628
+ anthropic: Anthropic
629
+ close: Fermer l'aide IA
630
+ empty: Posez des questions sur la cause racine, les étapes de reproduction,
631
+ les correctifs probables ou ce qu'il faut examiner ensuite.
632
+ question_label: Question
633
+ question_placeholder: Quelle est la cause racine probable ?
634
+ ask: Demander
635
+ sidebar:
636
+ title: Métadonnées
637
+ occurrence_count: Nombre d'occurrences
638
+ occurred_times:
639
+ one: Cette erreur est survenue %{count} fois
640
+ other: Cette erreur est survenue %{count} fois
641
+ many: Cette erreur est survenue %{count} fois
642
+ first_seen: Première occurrence
643
+ last_seen: Dernière occurrence
644
+ jump_to_timeline: Aller à la chronologie
645
+ severity_level: Niveau de gravité
646
+ view_all_severity: Voir toutes les erreurs de gravité %{severity}
647
+ severity_badges:
648
+ critical: CRITIQUE
649
+ high: ÉLEVÉE
650
+ medium: MOYENNE
651
+ low: FAIBLE
652
+ platform: Plateforme
653
+ view_all_platform: Voir toutes les erreurs %{platform}
654
+ user: Utilisateur
655
+ view_user_errors: Voir toutes les erreurs de cet utilisateur
656
+ user_id: 'ID : %{id}'
657
+ user_id_label: 'ID utilisateur : %{id}'
658
+ guest: Invité / non authentifié
659
+ issue_tracking_linked_html: Le statut, l'assignation et la priorité sont gérés
660
+ via votre %{link}.
661
+ issue_tracking_link_text: issue liée
662
+ issue_tracking_unlinked: Le statut, l'assignation et la priorité sont gérés
663
+ via votre gestionnaire d'issues. Liez une issue pour voir les détails.
664
+ workflow_status: Statut du workflow
665
+ resolved: Résolue
666
+ unresolved: Non résolue
667
+ reopened: Rouverte
668
+ assigned_to: Assignée à
669
+ assign: Assigner
670
+ remove_assignment: Retirer l'assignation ?
671
+ priority: Priorité
672
+ snooze: Mettre en veille
673
+ snoozed: En veille
674
+ snoozed_until_html: Jusqu'à %{time}
675
+ unsnooze: Sortir de veille
676
+ notifications: Notifications
677
+ muted: En sourdine
678
+ muted_by: Par %{name}
679
+ muted_since_html: Depuis %{time}
680
+ mute: Mettre en sourdine
681
+ unmute: Désactiver la sourdine
682
+ resolved_by: Résolue par
683
+ reference: Référence
684
+ resolution_notes: Notes de résolution
685
+ error_id: ID de l'erreur
686
+ copy_error_id: Copier l'ID de l'erreur
687
+ environment:
688
+ title: Environnement
689
+ hint: Contexte d'exécution au moment de l'erreur
690
+ app_version: 'Version de l''application :'
691
+ view_all_version: Voir toutes les erreurs de la version %{version}
692
+ git_sha: 'SHA Git :'
693
+ rails: 'Rails :'
694
+ ruby: 'Ruby :'
695
+ environment: 'Environnement :'
696
+ server: 'Serveur :'
697
+ database: 'Base de données :'
698
+ key_gems: 'Gems principaux :'
699
+ health:
700
+ title: État du système
701
+ hint: État d'exécution au déclenchement de l'erreur
702
+ memory_rss: 'Mémoire (RSS) :'
703
+ process_swap: 'Swap du processus :'
704
+ peak_rss: 'RSS maximal :'
705
+ os_threads: 'Threads OS :'
706
+ threads: 'Threads :'
707
+ file_descriptors: 'Descripteurs de fichiers :'
708
+ load_average: 'Charge moyenne :'
709
+ system_memory: 'Mémoire système :'
710
+ system_swap: 'Swap système :'
711
+ tcp_connections: 'Connexions TCP :'
712
+ gc_live_objects: 'Objets vivants GC :'
713
+ major_gc_runs: 'Cycles GC majeurs :'
714
+ last_gc: 'Dernier GC :'
715
+ connection_pool: 'Pool de connexions :'
716
+ puma_threads: 'Threads Puma :'
717
+ job_queue: 'File d''attente des jobs (%{adapter}) :'
718
+ vm_cache_invalidations: 'Invalidations du cache VM :'
719
+ vm_cache_misses: 'Échecs du cache VM :'
720
+ shape_cache_size: 'Taille du cache de shapes :'
721
+ yjit_compiled: 'YJIT compilé :'
722
+ yjit_invalidations: 'Invalidations YJIT :'
723
+ yjit_code_size: 'Taille du code YJIT :'
724
+ yjit_compile_time: 'Temps de compilation YJIT :'
725
+ ruby_threads: "(Ruby : %{count})"
726
+ info:
727
+ new_badge: NOUVEAU
728
+ new_tooltip: Erreur survenue au cours de la dernière heure
729
+ reopened: Rouverte
730
+ reopened_tooltip: Précédemment résolue, réapparue %{time}
731
+ copy_error_type: Copier le type d'erreur
732
+ message_label: 'Message d''erreur :'
733
+ copy_message: Copier le message d'erreur
734
+ copy: Copier
735
+ cause_chain:
736
+ title: Chaîne de causes de l'exception
737
+ caused_by: 'Causée par :'
738
+ caused_by_indexed: 'Causée par (n°%{index}) :'
739
+ backtrace: Backtrace
740
+ backtrace:
741
+ label: 'Backtrace :'
742
+ frame_counts: "(%{app} votre code, %{framework} framework/gems)"
743
+ copy_full: Copier le backtrace complet
744
+ copy_full_title: Copier le backtrace complet
745
+ your_code: Votre code
746
+ framework_code: Code du framework et des gems
747
+ frames:
748
+ one: "%{count} frame"
749
+ other: "%{count} frames"
750
+ many: "%{count} frames"
751
+ click_to_expand: "(cliquez pour développer)"
752
+ view_source: Voir le code source
753
+ none: Aucun backtrace disponible
754
+ row:
755
+ new_badge: NOUVEAU
756
+ reopened: Rouverte
757
+ view_user_errors: Voir toutes les erreurs de l'utilisateur %{user}
758
+ status:
759
+ unresolved: non résolue
760
+ resolved: résolue
761
+ in_progress: en cours
762
+ investigating: en cours d'analyse
763
+ wont_fix: ne sera pas corrigée
764
+ assigned: assignée
765
+ snoozed: en veille
766
+ muted: en sourdine
767
+ stats:
768
+ today: Aujourd'hui
769
+ this_week: Cette semaine
770
+ unresolved: Non résolues
771
+ resolved: Résolues
772
+ reopened: Rouvertes
773
+ pages:
774
+ percent: "%{value} %"
775
+ column_errors: Erreurs
776
+ column_occurrences: Occurrences
777
+ column_last_seen: Dernière occurrence
778
+ total_occurrences: Total des occurrences
779
+ affected_errors: Erreurs concernées
780
+ more_errors:
781
+ one: "+%{count} autre"
782
+ other: "+%{count} autres"
783
+ many: "+%{count} autres"
784
+ none_in_last_days: Aucun résultat n'a été détecté sur les %{days} derniers
785
+ jours.
786
+ how_breadcrumbs_html: Les breadcrumbs doivent être activés (%{option})
787
+ deprecations_page:
788
+ title: Avertissements de deprecation
789
+ empty_title: Aucun avertissement de deprecation trouvé
790
+ empty_body: Aucun avertissement de deprecation n'a été détecté dans les breadcrumbs
791
+ d'erreur des %{days} derniers jours.
792
+ how_title: 'Comment les deprecations sont capturées :'
793
+ how_captured: Les avertissements de deprecation de Rails sont capturés automatiquement
794
+ comme breadcrumbs
795
+ how_appear: Les deprecations apparaissent ici lorsqu'une erreur survient pendant
796
+ une requête comportant des avertissements de deprecation
797
+ unique_warnings: Avertissements uniques
798
+ all_title: Tous les avertissements de deprecation
799
+ column_warning: Avertissement
800
+ column_source: Source
801
+ n_plus_one_page:
802
+ title: Motifs de requêtes N+1
803
+ empty_title: Aucun motif de requête N+1 trouvé
804
+ empty_body: Aucun motif de requête N+1 n'a été détecté dans les breadcrumbs
805
+ d'erreur des %{days} derniers jours.
806
+ how_title: 'Comment fonctionne la détection des N+1 :'
807
+ how_captured: Les requêtes SQL sont capturées comme breadcrumbs pendant les
808
+ requêtes qui produisent des erreurs
809
+ how_threshold_html: Les requêtes de même forme apparaissant >= %{threshold}
810
+ fois sont signalées
811
+ how_default:
812
+ one: Le seuil par défaut est de %{count} répétition
813
+ other: Le seuil par défaut est de %{count} répétitions
814
+ many: Le seuil par défaut est de %{count} répétitions
815
+ unique_patterns: Motifs uniques
816
+ all_title: Tous les motifs de requêtes N+1
817
+ duration_ms: "%{value} ms"
818
+ footer_tip_html: Utilisez %{includes}, %{preload} ou %{eager_load} pour corriger
819
+ les requêtes N+1.
820
+ swallowed_page:
821
+ title: Exceptions avalées
822
+ empty_title: Aucune exception avalée détectée
823
+ empty_body: Aucune exception avec un ratio de rescue supérieur à %{threshold}
824
+ % n'a été détectée sur les %{days} derniers jours.
825
+ how_title: 'Comment les exceptions avalées sont détectées :'
826
+ how_raise: TracePoint(:raise) compte chaque exception levée
827
+ how_rescue: TracePoint(:rescue) compte chaque exception rattrapée
828
+ how_ratio: Un ratio rescue/raise élevé = probablement avalée (rattrapée silencieusement)
829
+ how_requires_html: Nécessite Ruby 3.3+ et %{option}
830
+ swallowed_patterns: Motifs avalés
831
+ total_rescues: Total des rescues
832
+ total_raises: Total des raises
833
+ all_title: Motifs d'exceptions avalées
834
+ column_exception_class: Classe d'exception
835
+ column_raise_location: Emplacement du raise
836
+ column_rescue_location: Emplacement du rescue
837
+ column_raises: Raises
838
+ column_rescues: Rescues
839
+ column_ratio: Ratio
840
+ view_unrescued: Voir les erreurs %{exception} non rattrapées qui ont atterri
841
+ dans error_log
842
+ footer_tip: Les exceptions avalées sont levées puis rattrapées silencieusement.
843
+ Elles peuvent masquer de vrais bugs.
844
+ rack_attack_page:
845
+ title: Événements de limitation de débit
846
+ missing_title: Rack Attack n'est pas installé
847
+ missing_body_html: Le suivi est activé, mais le gem %{gem} n'est pas chargé
848
+ dans cette application — aucun événement ne peut donc être enregistré. Ajoutez-le
849
+ à votre Gemfile et configurez au moins une règle ; les événements apparaîtront
850
+ alors ici.
851
+ empty_title: Aucun événement de limitation de débit trouvé
852
+ empty_body: Aucun événement throttle, blocklist ou track de Rack Attack n'a
853
+ été enregistré sur les %{days} derniers jours.
854
+ how_title: 'Comment fonctionne le suivi de Rack Attack :'
855
+ how_enabled_html: Le suivi de Rack Attack doit être activé (%{option})
856
+ how_installed: Rack Attack doit être installé et configuré dans votre application
857
+ how_recorded: Les événements throttle, blocklist et track sont enregistrés
858
+ dès qu'une règle correspond — aucune erreur n'est nécessaire
859
+ how_buffered: Les événements sont mis en tampon et écrits toutes les %{seconds}
860
+ s ; prévoyez donc un léger délai avant leur apparition
861
+ unique_rules: Règles uniques
862
+ total_events: Total des événements
863
+ unique_ips: IP uniques
864
+ all_title: Événements de limitation de débit par règle
865
+ column_rule: Règle
866
+ column_type: Type
867
+ column_count: Nombre
868
+ column_ips: IP
869
+ column_top_path: Chemin principal
870
+ match_type:
871
+ blocklist: blocklist
872
+ throttle: throttle
873
+ track: track
874
+ footer_tip: Des valeurs élevées peuvent indiquer un abus ou des règles mal
875
+ configurées.
876
+ docs: Documentation de Rack Attack
877
+ diagnostic_dumps_page:
878
+ title: Dumps de diagnostic
879
+ capture: Créer un dump
880
+ empty_title: Aucun dump de diagnostic pour l'instant
881
+ empty_body: Créez à la demande un instantané de l'état de votre système à
882
+ des fins de débogage.
883
+ how_title: 'Comment fonctionnent les dumps de diagnostic :'
884
+ how_capture_html: Cliquez sur %{button} ci-dessus ou exécutez %{command}
885
+ how_captures: 'Capture : environnement, statistiques GC, threads, pool de
886
+ connexions, mémoire, file d''attente des jobs'
887
+ how_saved: Chaque dump est enregistré en base de données pour permettre une
888
+ comparaison historique
889
+ how_use: Utilisez les dumps pour analyser des problèmes en production ou vérifier
890
+ l'état du système
891
+ total_dumps: Total des dumps
892
+ threads_latest: Threads (dernier)
893
+ memory_latest: Mémoire (dernier)
894
+ history_title: Historique des dumps
895
+ details: Détails
896
+ pid: 'PID : %{pid}'
897
+ uptime: 'Durée de fonctionnement : %{minutes} min'
898
+ section_environment: Environnement
899
+ section_system_health: État du système
900
+ section_gc: GC
901
+ section_job_queue: File d'attente des jobs
902
+ env_versions: Ruby %{ruby} / Rails %{rails}
903
+ memory_mb: "%{value} Mo"
904
+ threads:
905
+ one: "%{count} thread"
906
+ other: "%{count} threads"
907
+ many: "%{count} threads"
908
+ pool: 'Pool : %{busy}/%{size}'
909
+ gc_stats: 'Vivants : %{live} / GC majeurs : %{major}'
910
+ jobs_failed: 'en échec : %{count}'
911
+ footer_tip_html: 'Vous pouvez aussi créer des dumps via : %{command}'
912
+ footer_note_html: 'Ajouter une note : %{command}'
913
+ unknown_short: "?"
914
+ storms_page:
915
+ title: Historique des tempêtes
916
+ intro_html: Lorsque le taux d'erreur s'envole (un déploiement défectueux,
917
+ une panne de dépendance), la protection anti-tempête limite les écritures
918
+ du gem en base de données afin qu'il n'amplifie jamais l'incident. Les occurrences
919
+ sont toujours comptées exactement — seuls les détails par événement sont
920
+ échantillonnés. Les seuils sont configurables par processus via les options
921
+ %{options}.
922
+ active_html: "%{label} depuis %{time} — débit maximal %{rate}."
923
+ active_label: Tempête en cours
924
+ empty_title: Aucune tempête enregistrée
925
+ empty_body: La protection anti-tempête est en veille. Si un déluge d'erreurs
926
+ frappe un jour cette application, les épisodes apparaîtront ici avec le
927
+ décompte exact de ce qui a été délesté.
928
+ column_started: Début
929
+ column_duration: Durée
930
+ column_peak_rate: Débit maximal
931
+ column_mode: Mode
932
+ column_counted: Comptées (exact)
933
+ column_overflow: Débordement
934
+ column_top_errors: Erreurs principales
935
+ active_badge: active
936
+ mode_count_only: comptage seul
937
+ mode_shedding: délestage
938
+ rate_per_minute: "%{value}/min"
939
+ occurrence_multiplier: "×%{count}"
940
+ overview_page:
941
+ page_title: Tableau de bord
942
+ title: Vue d'ensemble
943
+ last_updated_html: 'Dernière mise à jour : %{time}'
944
+ alert_banner:
945
+ one: "%{count} erreur critique/élevée dans la dernière heure"
946
+ other: "%{count} erreurs critiques/élevées dans la dernière heure"
947
+ many: "%{count} erreurs critiques/élevées dans la dernière heure"
948
+ alert_occurrences:
949
+ one: "%{count} occurrence"
950
+ other: "%{count} occurrences"
951
+ many: "%{count} occurrences"
952
+ alert_view: Voir
953
+ error_rate: Taux d'erreur
954
+ error_rate_hint: Erreurs par heure aujourd'hui
955
+ unresolved: Non résolues
956
+ unresolved_hint: En attente de résolution
957
+ resolution_rate: Taux de résolution
958
+ resolution_hint: "%{resolved} sur %{total} résolues"
959
+ affected_users: Utilisateurs affectés (aujourd'hui)
960
+ users_change: "%{count} par rapport à hier"
961
+ avg_resolution: Résolution moy.
962
+ avg_resolution_hint: Délai moyen de résolution
963
+ hours_short: "%{value} h"
964
+ error_trend: Évolution des erreurs
965
+ top_errors: Erreurs au plus fort impact
966
+ view_all: Tout voir →
967
+ users:
968
+ one: "%{count} utilisateur"
969
+ other: "%{count} utilisateurs"
970
+ many: "%{count} utilisateurs"
971
+ platform_health: État des plateformes
972
+ full_comparison: Comparaison complète →
973
+ stability_score_html: "%{score}/100"
974
+ platform_summary: "%{total} erreurs · %{critical} critiques · %{unresolved}
975
+ ouvertes"
976
+ correlation_title: Analyses de corrélation
977
+ full_analysis: Analyse complète →
978
+ problematic_releases: Releases problématiques
979
+ release_errors:
980
+ one: "%{count} erreur"
981
+ other: "%{count} erreurs"
982
+ many: "%{count} erreurs"
983
+ time_correlated: Corrélées dans le temps
984
+ correlation_value_html: "%{percent} de corrélation (%{strength})"
985
+ multi_error_users: Utilisateurs multi-erreurs
986
+ user_types_html: Utilisateur %{user} · %{types}
987
+ types:
988
+ one: "%{count} type"
989
+ other: "%{count} types"
990
+ many: "%{count} types"
991
+ settings:
992
+ title: Paramètres
993
+ version: v%{version}
994
+ intro_html: Vue en lecture seule de la configuration actuelle. Modifiez-la via
995
+ %{file} ou des variables d'environnement.
996
+ option_count:
997
+ one: "%{count} option"
998
+ other: "%{count} options"
999
+ many: "%{count} options"
1000
+ plugins:
1001
+ title: Plugins actifs
1002
+ column_name: Nom du plugin
1003
+ column_version: Version
1004
+ column_description: Description
1005
+ column_status: Statut
1006
+ active: Actif
1007
+ inactive: Inactif
1008
+ empty: Aucun plugin n'est actuellement enregistré. Vous pouvez créer des plugins
1009
+ personnalisés pour étendre les fonctionnalités.
1010
+ test_error:
1011
+ title: Tester les notifications
1012
+ description_html: Envoyez une erreur de test à travers toute la chaîne de
1013
+ capture et de notification. Cela crée un %{error_class} dans le journal
1014
+ des erreurs et envoie des notifications à tous les canaux configurés (Slack,
1015
+ Discord, PagerDuty, e-mail, webhooks). L'erreur de test est clairement identifiée
1016
+ et peut être résolue ou supprimée sans risque.
1017
+ confirm: Cela va créer une erreur de test et envoyer des notifications à tous
1018
+ les canaux configurés. Continuer ?
1019
+ submit: Envoyer une erreur de test
1020
+ help:
1021
+ title: Besoin de modifier ces paramètres ?
1022
+ edit_html: Modifiez votre configuration dans %{file} et redémarrez votre application.
1023
+ docs_html: Consultez la %{docs} pour plus d'informations.
1024
+ docs_link: documentation
1025
+ groups:
1026
+ core_features: Fonctionnalités principales
1027
+ multi_app: Prise en charge multi-applications
1028
+ user_integration: Intégration des utilisateurs
1029
+ performance: Paramètres de performance
1030
+ notifications: Canaux de notification
1031
+ analytics: Fonctionnalités d'analyse avancées
1032
+ source_code: Intégration du code source
1033
+ breadcrumbs: Breadcrumbs
1034
+ system_health: État du système
1035
+ enhanced_metrics: Métriques avancées
1036
+ issue_tracking: Suivi des issues
1037
+ deep_debugging: Débogage approfondi
1038
+ event_tracking: Suivi des événements
1039
+ advanced: Configuration avancée
1040
+ internal_logging: Journalisation interne
1041
+ units:
1042
+ lines:
1043
+ one: "%{count} ligne"
1044
+ other: "%{count} lignes"
1045
+ many: "%{count} lignes"
1046
+ minutes:
1047
+ one: "%{count} minute"
1048
+ other: "%{count} minutes"
1049
+ many: "%{count} minutes"
1050
+ seconds:
1051
+ one: "%{count} seconde"
1052
+ other: "%{count} secondes"
1053
+ many: "%{count} secondes"
1054
+ events:
1055
+ one: "%{count} événement"
1056
+ other: "%{count} événements"
1057
+ many: "%{count} événements"
1058
+ queries:
1059
+ one: "%{count} requête"
1060
+ other: "%{count} requêtes"
1061
+ many: "%{count} requêtes"
1062
+ std_devs: "%{count}σ"
1063
+ values:
1064
+ enabled: Activé
1065
+ disabled: Désactivé
1066
+ not_set: Non défini
1067
+ not_found: Introuvable
1068
+ not_available: Non disponible
1069
+ empty: Vide
1070
+ unknown: Inconnu
1071
+ set: Défini
1072
+ auto_detected: Détecté automatiquement
1073
+ configured: "(Configuré)"
1074
+ items:
1075
+ one: "%{count} élément"
1076
+ other: "%{count} éléments"
1077
+ many: "%{count} éléments"
1078
+ rules:
1079
+ one: "%{count} règle"
1080
+ other: "%{count} règles"
1081
+ many: "%{count} règles"
1082
+ users:
1083
+ one: "%{formatted} utilisateur"
1084
+ other: "%{formatted} utilisateurs"
1085
+ many: "%{formatted} utilisateurs"
1086
+ days:
1087
+ one: "%{count} jour"
1088
+ other: "%{count} jours"
1089
+ many: "%{count} jours"
1090
+ rails_app_name_unavailable: Nom de l'application Rails indisponible
1091
+ separate_db: 'BD séparée : %{name}'
1092
+ configured_but_not_found: Configuré mais introuvable
1093
+ shared_db_primary: BD partagée (primary)
1094
+ shared_db: BD partagée
1095
+ unable_to_detect: Détection impossible
1096
+ no_user_model: Aucun modèle User détecté
1097
+ unable_to_query_count: Impossible d'interroger le nombre
1098
+ manual_cleanup_required: Nettoyage manuel requis
1099
+ keep_forever: Conserver indéfiniment
1100
+ no_automatic_deletion: Aucune suppression automatique
1101
+ run_command: 'Exécuter :'
1102
+ to_cleanup: 'Pour nettoyer :'
1103
+ options:
1104
+ enable_middleware: Intercepte les exceptions non gérées
1105
+ enable_error_subscriber: S'abonne aux événements d'erreur de Rails
1106
+ retention_days: 'Nettoyage manuel uniquement (exécuter : rails error_dashboard:cleanup_resolved
1107
+ DAYS=90)'
1108
+ max_backtrace_lines: Profondeur maximale du backtrace
1109
+ sampling_rate: Pourcentage d'erreurs capturées
1110
+ application_name: Nom de cette application (détecté automatiquement si non
1111
+ défini)
1112
+ database: Base de données active pour les journaux d'erreurs
1113
+ use_separate_database: Utiliser une base de données dédiée aux journaux d'erreurs
1114
+ user_model: Nom du modèle pour les associations utilisateur (détecté automatiquement
1115
+ si non défini)
1116
+ total_users_for_impact: Pour le calcul de l'impact en % (détecté automatiquement
1117
+ si non défini)
1118
+ async_logging: Traitement par jobs en arrière-plan
1119
+ async_adapter: Adaptateur de file d'attente des jobs
1120
+ enable_rate_limiting: Limiter le débit des requêtes API
1121
+ rate_limit_per_minute: Requêtes par minute et par IP
1122
+ enable_slack_notifications: Notifications en temps réel
1123
+ slack_webhook_url: Point de terminaison du webhook Slack
1124
+ enable_email_notifications: Alertes par e-mail
1125
+ notification_email_recipients: Adresses des destinataires
1126
+ notification_email_from: Adresse de l'expéditeur
1127
+ enable_discord_notifications: Notifications par webhook Discord
1128
+ discord_webhook_url: Point de terminaison du webhook Discord
1129
+ enable_pagerduty_notifications: Escalade des erreurs critiques
1130
+ pagerduty_integration_key: Clé API PagerDuty
1131
+ enable_webhook_notifications: Points de terminaison webhook génériques
1132
+ webhook_urls: Points de terminaison webhook personnalisés
1133
+ enable_scheduled_digests: E-mails de résumé quotidiens/hebdomadaires. Planification
1134
+ via SolidQueue, Sidekiq ou cron
1135
+ digest_frequency: Fréquence d'envoi des e-mails de résumé
1136
+ digest_recipients: Adresses e-mail (à défaut, les destinataires des notifications)
1137
+ enable_similar_errors: Trouver les erreurs proches par similarité
1138
+ enable_co_occurring_errors: Erreurs survenant conjointement
1139
+ enable_error_cascades: Chaînes d'erreurs parent → enfant
1140
+ enable_error_correlation: Analyse par version, utilisateur et heure
1141
+ enable_platform_comparison: Analyse comparative iOS et Android
1142
+ enable_occurrence_patterns: Détection des cycles et des rafales
1143
+ enable_baseline_alerts: Détection des anomalies
1144
+ baseline_alert_threshold_std_devs: Écarts-types déclenchant une alerte
1145
+ baseline_alert_severities: Gravités donnant lieu à une alerte
1146
+ baseline_alert_cooldown_minutes: Minutes entre deux alertes pour le même type
1147
+ d'erreur
1148
+ enable_source_code_integration: Afficher le code dans le backtrace
1149
+ source_code_context_lines: Lignes avant et après la ligne ciblée
1150
+ enable_git_blame: Afficher les informations git blame
1151
+ source_code_cache_ttl: Durée de mise en cache du code source
1152
+ only_show_app_code_source: Masquer les gems et la stdlib par sécurité
1153
+ git_branch_strategy: Stratégie de résolution de la branche
1154
+ enable_breadcrumbs: Capturer le fil d'activité de la requête
1155
+ breadcrumb_buffer_size: Nombre maximal de breadcrumbs par requête
1156
+ enable_n_plus_one_detection: Détecter les motifs de requêtes répétées dans
1157
+ les breadcrumbs
1158
+ n_plus_one_threshold: Répétitions minimales pour signaler un N+1
1159
+ enable_system_health: Capturer le GC, la mémoire, les threads et le pool de
1160
+ connexions au moment de l'erreur
1161
+ app_version: Version actuelle de l'application
1162
+ git_sha: Commit déployé
1163
+ git_repository_url: URL du dépôt GitHub/GitLab
1164
+ dashboard_base_url: URL de base des liens du tableau de bord
1165
+ enable_issue_tracking: 'Intégration GitHub/GitLab/Codeberg — un seul interrupteur
1166
+ active tout : création d''issues, création automatique, synchronisation
1167
+ du cycle de vie, reflet de l''état de la plateforme et affichage des commentaires.
1168
+ Remplace les contrôles de workflow par l''état de la plateforme.'
1169
+ issue_tracker_token: Token du bot RED (définir la variable d'environnement
1170
+ RED_BOT_TOKEN)
1171
+ issue_tracker_provider: Détecté automatiquement depuis git_repository_url
1172
+ issue_tracker_repo: Détecté automatiquement depuis git_repository_url
1173
+ issue_tracker_labels: Labels ajoutés aux nouvelles issues
1174
+ issue_webhook_secret: À définir pour activer la synchronisation bidirectionnelle
1175
+ (vérification HMAC)
1176
+ enable_local_variables: TracePoint(:raise) — capturer les variables locales
1177
+ au moment de l'exception
1178
+ enable_instance_variables: Capturer les variables d'instance de self au moment
1179
+ de l'exception
1180
+ detect_swallowed_exceptions: TracePoint(:raise) + (:rescue) — détecter les
1181
+ exceptions silencieusement rattrapées (avalées) (Ruby 3.3+)
1182
+ enable_diagnostic_dump: Instantanés de l'état du système à la demande
1183
+ enable_crash_capture: Hook at_exit pour les plantages non gérés
1184
+ enable_coverage_tracking: Mode diagnostic — à activer depuis le tableau de
1185
+ bord pour voir les lignes exécutées dans la vue du code source (Ruby 3.2+)
1186
+ enable_rack_attack_tracking: Enregistrer les événements throttle/blocklist
1187
+ dans leur propre table
1188
+ enable_actioncable_tracking: Suivre les événements des canaux WebSocket sous
1189
+ forme de breadcrumbs
1190
+ enable_activestorage_tracking: Suivre les envois, téléchargements et suppressions
1191
+ sous forme de breadcrumbs
1192
+ custom_severity_rules: Correspondance entre type d'erreur et gravité
1193
+ ignored_exceptions: Exceptions à ignorer
1194
+ enable_internal_logging: Sortie de débogage du gem
1195
+ log_level: Niveau de verbosité
1196
+ flash:
1197
+ locale:
1198
+ unavailable: Cette langue n'est pas disponible. La langue par défaut est utilisée.
1199
+ batch:
1200
+ resolved:
1201
+ one: "%{count} erreur résolue avec succès"
1202
+ other: "%{count} erreurs résolues avec succès"
1203
+ many: "%{count} erreurs résolues avec succès"
1204
+ muted:
1205
+ one: "%{count} erreur mise en sourdine avec succès"
1206
+ other: "%{count} erreurs mises en sourdine avec succès"
1207
+ many: "%{count} erreurs mises en sourdine avec succès"
1208
+ unmuted:
1209
+ one: Sourdine désactivée avec succès pour %{count} erreur
1210
+ other: Sourdine désactivée avec succès pour %{count} erreurs
1211
+ many: Sourdine désactivée avec succès pour %{count} erreurs
1212
+ deleted:
1213
+ one: "%{count} erreur supprimée avec succès"
1214
+ other: "%{count} erreurs supprimées avec succès"
1215
+ many: "%{count} erreurs supprimées avec succès"
1216
+ failed: 'Échec de l''opération par lot : %{reason}'
1217
+ issue:
1218
+ created: Issue créée avec succès
1219
+ linked: Issue liée avec succès
1220
+ create_failed: 'Échec de la création de l''issue : %{reason}'
1221
+ link_failed: 'Échec de la liaison de l''issue : %{reason}'
1222
+ not_enabled: "%{feature} n'est pas activé. Activez-le dans %{file}"
1223
+ not_enabled_plural: "%{feature} ne sont pas activés. Activez-les dans %{file}"
1224
+ not_enabled_options: "%{feature} n'est pas activé. Activez %{options} dans %{file}"
1225
+ not_enabled_set_options: "%{feature} n'est pas activé. Définissez %{options}
1226
+ dans %{file}"
1227
+ features:
1228
+ platform_comparison: Comparaison des plateformes
1229
+ error_correlation: Corrélation des erreurs
1230
+ breadcrumbs: Breadcrumbs
1231
+ system_health: État du système
1232
+ swallowed_exceptions: Détection des exceptions avalées
1233
+ rack_attack: Suivi de Rack Attack
1234
+ actioncable: Suivi d'ActionCable
1235
+ activestorage: Suivi d'ActiveStorage
1236
+ diagnostic_dumps: Dumps de diagnostic
1237
+ diagnostic_dump:
1238
+ disabled: Les dumps de diagnostic ne sont pas activés.
1239
+ captured: Dump de diagnostic créé avec succès.
1240
+ failed: 'Échec de la création du dump de diagnostic : %{message}'
1241
+ coverage:
1242
+ not_enabled: Le suivi de la couverture n'est pas activé dans la configuration.
1243
+ enabled: Couverture des chemins de code activée. Reproduisez l'erreur, puis
1244
+ consultez le code source pour voir les lignes exécutées.
1245
+ disabled: Couverture des chemins de code désactivée.
1246
+ unavailable: Impossible d'activer la couverture. Ruby 3.2+ est requis.
1247
+ test_error:
1248
+ logged: Erreur de test enregistrée avec succès. Vérifiez vos canaux de notification
1249
+ (Slack, Discord, e-mail, etc.) pour confirmer la réception.
1250
+ failed: 'Échec de l''enregistrement de l''erreur de test : %{message}'
1251
+ swallowed_requires_ruby: La détection des exceptions avalées nécessite Ruby
1252
+ 3.3+ (vous avez %{version}). Mettez Ruby à jour pour utiliser cette fonctionnalité.
1253
+ ai_help:
1254
+ not_configured: L'aide IA n'est pas configurée
1255
+ blank_question: La question ne peut pas être vide
1256
+ question_too_long: La question est trop longue. Restez sous %{limit} caractères.
1257
+ commands:
1258
+ no_error_ids: Aucun identifiant d'erreur fourni
1259
+ invalid_action: Type d'action invalide
1260
+ issue:
1261
+ not_configured: Le suivi des issues n'est pas configuré
1262
+ already_linked: 'L''erreur a déjà une issue liée : %{url}'
1263
+ url_required: L'URL de l'issue est requise
1264
+ error_not_found: 'Erreur introuvable : %{id}'
1265
+ batch_failed:
1266
+ mute:
1267
+ one: Échec de la mise en sourdine de %{count} erreur
1268
+ other: Échec de la mise en sourdine de %{count} erreurs
1269
+ many: Échec de la mise en sourdine de %{count} erreurs
1270
+ unmute:
1271
+ one: Échec de la désactivation de la sourdine pour %{count} erreur
1272
+ other: Échec de la désactivation de la sourdine pour %{count} erreurs
1273
+ many: Échec de la désactivation de la sourdine pour %{count} erreurs
1274
+ resolve:
1275
+ one: Échec de la résolution de %{count} erreur
1276
+ other: Échec de la résolution de %{count} erreurs
1277
+ many: Échec de la résolution de %{count} erreurs
1278
+ mailers:
1279
+ shared:
1280
+ product_name: Rails Error Dashboard
1281
+ unknown_application: Inconnue
1282
+ error_alert:
1283
+ subject: "\U0001F6A8 [%{application}] %{error_type} : %{message}"
1284
+ heading: "\U0001F6A8 Alerte d'erreur"
1285
+ labels:
1286
+ application: Application
1287
+ error_type: Type d'erreur
1288
+ platform: Plateforme
1289
+ occurred_at: Survenue le
1290
+ user_id: ID utilisateur
1291
+ ip_address: Adresse IP
1292
+ request_url: URL de la requête
1293
+ message: Message
1294
+ error_id: ID de l'erreur
1295
+ stack_trace:
1296
+ one: Backtrace (%{count} première ligne)
1297
+ other: Backtrace (%{count} premières lignes)
1298
+ many: Backtrace (%{count} premières lignes)
1299
+ view_details: Voir tous les détails dans le tableau de bord
1300
+ view_details_text: 'Voir tous les détails dans le tableau de bord :'
1301
+ footer: Ceci est une notification d'erreur automatique de %{product}.
1302
+ digest:
1303
+ subject:
1304
+ one: Résumé RED — %{count} nouvelle erreur (%{period})
1305
+ other: Résumé RED — %{count} nouvelles erreurs (%{period})
1306
+ many: Résumé RED — %{count} nouvelles erreurs (%{period})
1307
+ heading: Résumé des erreurs RED
1308
+ periods:
1309
+ daily: Dernières 24 heures
1310
+ weekly: 7 derniers jours
1311
+ generated_at: Généré le
1312
+ summary: Résumé
1313
+ stats:
1314
+ new_errors: Nouvelles erreurs
1315
+ total_occurrences: Occurrences
1316
+ total_occurrences_text: Total des occurrences
1317
+ resolved: Résolues
1318
+ unresolved: Non résolues
1319
+ critical_high: Critiques/élevées
1320
+ resolution_rate: Taux de résolution
1321
+ comparison:
1322
+ heading: Par rapport à la période précédente
1323
+ versus: 'par rapport à la période précédente (%{period}) :'
1324
+ current: Actuel
1325
+ previous: Précédent
1326
+ change: Variation
1327
+ delta:
1328
+ one: "%{delta} erreur"
1329
+ other: "%{delta} erreurs"
1330
+ many: "%{delta} erreurs"
1331
+ critical_unresolved: Critiques et élevées non résolues
1332
+ top_errors: Erreurs les plus fréquentes
1333
+ columns:
1334
+ severity: Gravité
1335
+ error: Erreur
1336
+ error_type: Type d'erreur
1337
+ count: Nombre
1338
+ view: Voir
1339
+ open_dashboard: Ouvrir le tableau de bord
1340
+ view_dashboard_text: 'Voir le tableau de bord complet :'
1341
+ manage_settings: Gérer les paramètres du résumé
1342
+ footer: Résumé automatique de RED (%{product})
1343
+ notifications:
1344
+ shared:
1345
+ product_name: Rails Error Dashboard
1346
+ unknown: Inconnu
1347
+ not_available: N/D
1348
+ error_alert:
1349
+ fallback: "\U0001F6A8 Nouvelle alerte d'erreur"
1350
+ heading: "\U0001F6A8 Alerte d'erreur"
1351
+ discord_title: "\U0001F6A8 Nouvelle erreur : %{error_type}"
1352
+ pagerduty_summary: "[%{application}] Erreur critique : %{error_type} dans
1353
+ %{platform}"
1354
+ labels:
1355
+ application: Application
1356
+ error_type: Type d'erreur
1357
+ platform: Plateforme
1358
+ occurred: Survenue
1359
+ message: Message
1360
+ user: Utilisateur
1361
+ ip_address: Adresse IP
1362
+ request_url: URL de la requête
1363
+ occurrences: Occurrences
1364
+ controller: Controller
1365
+ action: Action
1366
+ first_seen: Première occurrence
1367
+ location: Emplacement
1368
+ user_fallback: 'Utilisateur #%{id}'
1369
+ view_details: Voir les détails
1370
+ view_in_dashboard: Voir dans Error Dashboard
1371
+ error_id: 'ID de l''erreur : %{id}'
1372
+ baseline_alert:
1373
+ fallback: "\U0001F6A8 Alerte d'anomalie par rapport à la référence"
1374
+ heading: "\U0001F6A8 Anomalie détectée par rapport à la référence"
1375
+ labels:
1376
+ severity: Gravité
1377
+ std_devs: Écarts-types
1378
+ threshold: Seuil
1379
+ baseline_type: Type de référence
1380
+ baseline_info: Informations de référence
1381
+ level:
1382
+ critical: CRITIQUE
1383
+ high: ÉLEVÉ
1384
+ elevated: SUPÉRIEUR
1385
+ unknown: INCONNU
1386
+ std_devs_above: "%{value}σ au-dessus de la référence"
1387
+ threshold_errors:
1388
+ one: "%{value} erreur"
1389
+ other: "%{value} erreurs"
1390
+ many: "%{value} erreurs"
1391
+ view_in_dashboard: Voir dans le tableau de bord
1392
+ storm:
1393
+ detected: Tempête d'erreurs détectée dans %{application} à %{started_at}.
1394
+ mode:
1395
+ open: mode comptage seul (occurrences comptées, détails suspendus)
1396
+ shedding: mode délestage (échantillonnage du contexte actif)
1397
+ engaged: Protection anti-tempête active — %{mode}.
1398
+ suppressed: Les notifications par erreur sont supprimées jusqu'à la fin de
1399
+ la tempête ; les comptages exacts sont conservés.
1400
+ dashboard: 'Tableau de bord : %{url}'
1401
+ time:
1402
+ ago: il y a %{duration}
1403
+ formats:
1404
+ full: "%d %B %Y %H:%M:%S"
1405
+ short: "%d/%m %H:%M"
1406
+ date_only: "%d %B %Y"
1407
+ time_only: "%H:%M:%S"
1408
+ datetime: "%d %b %Y %H:%M"
1409
+ health:
1410
+ columns:
1411
+ error: Erreur
1412
+ last_seen: Dernière occurrence
1413
+ database:
1414
+ title: État de la base de données
1415
+ stats:
1416
+ errors_with_pool: Erreurs avec données de pool
1417
+ peak_utilization: Utilisation maximale
1418
+ total_dead: Total mortes
1419
+ total_waiting: Total en attente
1420
+ live:
1421
+ title: État de la base de données en direct
1422
+ non_postgresql: Adaptateur non PostgreSQL détecté (%{adapter}).
1423
+ non_postgresql_hint: Les statistiques en direct sur les tables, index et
1424
+ l'activité nécessitent PostgreSQL. Le pool de connexions et les données
1425
+ historiques restent disponibles ci-dessous.
1426
+ pool_size: Taille du pool
1427
+ busy: Occupées
1428
+ idle: Inactives
1429
+ dead: Mortes
1430
+ waiting: En attente
1431
+ summary:
1432
+ total_db_size: Taille totale de la BD
1433
+ tables: Tables
1434
+ unused_indexes: Index inutilisés
1435
+ active_connections: Connexions actives
1436
+ host_tables:
1437
+ title: Tables de l'application hôte
1438
+ gem_tables:
1439
+ title: Tables d'Error Dashboard
1440
+ unused_indexes:
1441
+ title: Index inutilisés
1442
+ column_index: Index
1443
+ column_table: Table
1444
+ column_size: Taille
1445
+ activity:
1446
+ title: Activité des connexions
1447
+ total_badge: "%{count} au total"
1448
+ waiting_badge: "%{count} en attente"
1449
+ column_state: État
1450
+ column_count: Nombre
1451
+ column_waiting: En attente
1452
+ table_columns:
1453
+ table: Table
1454
+ est_rows: Lignes est.
1455
+ size: Taille
1456
+ seq_scans: Scans séq.
1457
+ idx_scans: Scans idx.
1458
+ dead_tuples: Tuples morts
1459
+ last_vacuum: Dernier vacuum
1460
+ never_vacuumed: Jamais
1461
+ pool_history:
1462
+ title: Pool de connexions par erreur
1463
+ empty_title: Aucune donnée de pool de connexions trouvée
1464
+ empty_message_html: Aucune statistique de pool de connexions n'a été détectée
1465
+ dans les instantanés d'état système des %{days} derniers jours. Activez
1466
+ <code>enable_system_health = true</code> pour capturer les statistiques
1467
+ du pool au moment de l'erreur.
1468
+ column_error: Erreur
1469
+ column_error_type: Type d'erreur
1470
+ column_utilization: Utilisation
1471
+ column_busy: Occupées
1472
+ column_idle: Inactives
1473
+ column_dead: Mortes
1474
+ column_waiting: En attente
1475
+ column_pool_size: Taille du pool
1476
+ column_last_seen: Dernière occurrence
1477
+ tip: Une utilisation élevée pendant les erreurs peut indiquer un épuisement
1478
+ du pool de connexions ou des requêtes de longue durée.
1479
+ guide_link: Guide de la base de données
1480
+ llm:
1481
+ title: État des LLM
1482
+ disabled:
1483
+ title: Observabilité des LLM non activée
1484
+ message: Pour voir ici les statistiques LLM par modèle, activez l'observabilité
1485
+ des LLM et les breadcrumbs.
1486
+ enable_in_html: 'À activer dans <code>config/initializers/rails_error_dashboard.rb</code>
1487
+ :'
1488
+ empty:
1489
+ title: Aucun appel LLM détecté
1490
+ message: 'Aucun appel d''API LLM n''a été capturé dans les breadcrumbs d''erreur
1491
+ des %{days} derniers jours. Instrumentez les appels LLM de l''une des
1492
+ trois façons suivantes :'
1493
+ tab_otel: OpenTelemetry
1494
+ tab_faraday: Faraday / RubyLLM
1495
+ tab_manual: Manuel
1496
+ otel_hint: Vous utilisez déjà un collecteur OTel ? Ajoutez ce gem et nous
1497
+ nous abonnons automatiquement.
1498
+ otel_requires_html: Nécessite <code>enable_llm_observability = true</code>.
1499
+ faraday_hint: Vous utilisez <code>ruby_llm</code>, <code>openai</code>,
1500
+ <code>anthropic</code> ou un autre SDK basé sur Faraday ? Insérez le middleware
1501
+ une seule fois.
1502
+ faraday_note: RED détecte automatiquement le fournisseur, le modèle et les
1503
+ tokens à partir de la requête et de la réponse.
1504
+ manual_hint: "<code>Net::HTTP</code> direct, gRPC, inférence locale ou autre
1505
+ — instrumentez manuellement."
1506
+ manual_note_html: Le coût est estimé automatiquement à partir des tokens
1507
+ — le payload peut le remplacer avec <code>cost_usd_estimate:</code>.
1508
+ stats:
1509
+ calls: Appels LLM
1510
+ models: Modèles
1511
+ errors_with_llm: Erreurs avec LLM (%{rate} %)
1512
+ total_cost: Coût total
1513
+ by_model:
1514
+ title: Performance par modèle
1515
+ column_provider_model: Fournisseur · Modèle
1516
+ column_calls: Appels
1517
+ column_tools: Tools
1518
+ column_avg_tokens: Tokens moy.
1519
+ column_avg_latency: Latence moy.
1520
+ column_error_rate: Taux d'erreur
1521
+ column_cost: Coût
1522
+ column_top_error: Erreur principale
1523
+ column_last_seen: Dernière occurrence
1524
+ avg_tokens_in: entrée
1525
+ avg_tokens_out: sortie
1526
+ failed_count: "%{count} en échec"
1527
+ tip_html: Un taux d'erreur élevé sur un modèle signale souvent un problème
1528
+ de quota ou de limite de débit. Une latence élevée (&gt;5 s) suggère une
1529
+ dégradation chez le fournisseur.
1530
+ guide_link: Guide d'instrumentation
1531
+ cache:
1532
+ title: État du cache
1533
+ empty:
1534
+ title: Aucune activité de cache trouvée
1535
+ message: Aucune opération de cache n'a été détectée dans les breadcrumbs
1536
+ d'erreur des %{days} derniers jours.
1537
+ how_it_works: 'Comment fonctionne le suivi du cache :'
1538
+ step_breadcrumbs_html: Les breadcrumbs doivent être activés (<code>enable_breadcrumbs
1539
+ = true</code>)
1540
+ step_capture: Les lectures et écritures de cache sont capturées comme breadcrumbs
1541
+ pendant les requêtes qui produisent des erreurs
1542
+ step_hit_status: Le statut de réussite est suivi pour les opérations de
1543
+ lecture
1544
+ step_sort: Cette page affiche la performance du cache par erreur, les plus
1545
+ mauvaises en premier
1546
+ stats:
1547
+ errors_with_cache: Erreurs avec cache
1548
+ avg_hit_rate: Taux de réussite moy.
1549
+ total_ops: Total des opérations de cache
1550
+ table:
1551
+ title: Performance du cache par erreur
1552
+ column_error: Erreur
1553
+ column_reads: Lectures
1554
+ column_writes: Écritures
1555
+ column_hit_rate: Taux de réussite
1556
+ column_total_time: Temps total
1557
+ column_slowest_op: Opération la plus lente
1558
+ column_last_seen: Dernière occurrence
1559
+ tip: Un faible taux de réussite peut indiquer des clés de cache qui expirent
1560
+ trop vite ou qui ne sont pas définies correctement.
1561
+ guide_link: Guide de la mise en cache Rails
1562
+ job:
1563
+ title: État des jobs
1564
+ empty:
1565
+ title: Aucune donnée de file d'attente des jobs trouvée
1566
+ message: Aucune statistique de file d'attente des jobs n'a été détectée
1567
+ dans les instantanés d'état système des %{days} derniers jours.
1568
+ how_it_works: 'Comment fonctionne le suivi de l''état des jobs :'
1569
+ step_enable_html: L'état du système doit être activé (<code>enable_system_health
1570
+ = true</code>)
1571
+ step_capture: Les statistiques de file d'attente sont capturées automatiquement
1572
+ lorsque Sidekiq, SolidQueue ou GoodJob est détecté
1573
+ step_collected: Les statistiques sont collectées par erreur au moment de
1574
+ la capture
1575
+ step_sort: Cette page affiche l'état de la file d'attente par erreur, trié
1576
+ par nombre d'échecs
1577
+ stats:
1578
+ errors_with_jobs: Erreurs avec données de jobs
1579
+ total_failed: Total des jobs en échec
1580
+ adapters_detected: Adaptateurs détectés
1581
+ table:
1582
+ title: État de la file d'attente des jobs par erreur
1583
+ column_error: Erreur
1584
+ column_adapter: Adaptateur
1585
+ column_failed: En échec
1586
+ column_queued: En file d'attente
1587
+ column_other_stats: Autres statistiques
1588
+ column_last_seen: Dernière occurrence
1589
+ enqueued: mis en file
1590
+ ready: prêts
1591
+ queued: en file d'attente
1592
+ other_stats_sidekiq: 'morts : %{dead}, réessais : %{retry}, workers : %{workers}'
1593
+ other_stats_solid_queue: 'réservés : %{claimed}, bloqués : %{blocked}, planifiés
1594
+ : %{scheduled}'
1595
+ other_stats_good_job: 'terminés : %{finished}'
1596
+ tip: Un nombre élevé de jobs en échec pendant les erreurs peut indiquer
1597
+ une saturation de la file d'attente ou des problèmes de services en amont.
1598
+ guide_link: Guide d'Active Job
1599
+ actioncable:
1600
+ title: État d'ActionCable
1601
+ empty:
1602
+ title: Aucun événement ActionCable trouvé
1603
+ message: Aucune action de canal, transmission ou événement d'abonnement
1604
+ ActionCable n'a été détecté dans les breadcrumbs d'erreur des %{days}
1605
+ derniers jours.
1606
+ how_it_works: 'Comment fonctionne le suivi d''ActionCable :'
1607
+ step_breadcrumbs_html: Les breadcrumbs doivent être activés (<code>enable_breadcrumbs
1608
+ = true</code>)
1609
+ step_tracking_html: Le suivi d'ActionCable doit être activé (<code>enable_actioncable_tracking
1610
+ = true</code>)
1611
+ step_configured: ActionCable doit être configuré dans votre application
1612
+ step_capture: Les actions de canal, transmissions et événements d'abonnement
1613
+ sont capturés comme breadcrumbs pendant les requêtes qui produisent des
1614
+ erreurs
1615
+ stats:
1616
+ active_channels: Canaux actifs
1617
+ total_events: Total des événements
1618
+ subscription_rejections: Abonnements rejetés
1619
+ table:
1620
+ title: Événements ActionCable par canal
1621
+ column_channel: Canal
1622
+ column_actions: Actions
1623
+ column_transmissions: Transmissions
1624
+ column_subscriptions: Abonnements
1625
+ column_rejections: Rejets
1626
+ column_errors: Erreurs
1627
+ column_last_seen: Dernière occurrence
1628
+ tip: Les événements ActionCable sont capturés lorsqu'ils coïncident avec
1629
+ des erreurs. Un nombre élevé de rejets peut indiquer des problèmes d'authentification
1630
+ ou d'autorisation.
1631
+ guide_link: Guide d'ActionCable
1632
+ activestorage:
1633
+ title: État d'ActiveStorage
1634
+ empty:
1635
+ title: Aucun événement ActiveStorage trouvé
1636
+ message: Aucune opération de service ActiveStorage n'a été détectée dans
1637
+ les breadcrumbs d'erreur des %{days} derniers jours.
1638
+ how_it_works: 'Comment fonctionne le suivi d''ActiveStorage :'
1639
+ step_breadcrumbs_html: Les breadcrumbs doivent être activés (<code>enable_breadcrumbs
1640
+ = true</code>)
1641
+ step_tracking_html: Le suivi d'ActiveStorage doit être activé (<code>enable_activestorage_tracking
1642
+ = true</code>)
1643
+ step_configured: ActiveStorage doit être configuré dans votre application
1644
+ step_capture: Les envois, téléchargements et suppressions sont capturés
1645
+ comme breadcrumbs pendant les requêtes qui produisent des erreurs
1646
+ stats:
1647
+ storage_services: Services de stockage
1648
+ total_operations: Total des opérations
1649
+ errors_with_storage: Erreurs avec opérations de stockage
1650
+ table:
1651
+ title: Opérations de stockage par service
1652
+ column_service: Service
1653
+ column_uploads: Envois
1654
+ column_downloads: Téléchargements
1655
+ column_deletes: Suppressions
1656
+ column_exists: Existence
1657
+ column_total: Total
1658
+ column_avg_duration: Durée moy.
1659
+ column_slowest: La plus lente
1660
+ column_errors: Erreurs
1661
+ column_last_seen: Dernière occurrence
1662
+ tip: Des opérations de stockage lentes peuvent indiquer des problèmes réseau,
1663
+ des fichiers volumineux ou une limitation par le fournisseur de service.
1664
+ guide_link: Guide d'ActiveStorage
1665
+ analytics:
1666
+ stability:
1667
+ green: Vert
1668
+ yellow: Jaune
1669
+ red: Rouge
1670
+ trend:
1671
+ increasing_significantly: en forte hausse
1672
+ increasing: en hausse
1673
+ stable: stable
1674
+ decreasing: en baisse
1675
+ decreasing_significantly: en forte baisse
1676
+ correlation_strength:
1677
+ strong: Forte
1678
+ moderate: Modérée
1679
+ weak: Faible
1680
+ days_pill:
1681
+ '7': 7 j
1682
+ '14': 14 j
1683
+ '30': 30 j
1684
+ '60': 60 j
1685
+ '90': 90 j
1686
+ overview:
1687
+ title: Analyse
1688
+ stats:
1689
+ total_errors: Total des erreurs
1690
+ unresolved: Non résolues
1691
+ resolution_rate: Taux de résolution
1692
+ trend_chart:
1693
+ title: Évolution des erreurs (%{days} derniers jours)
1694
+ platform_chart:
1695
+ title: Erreurs par plateforme
1696
+ quick_links: 'Liens rapides :'
1697
+ type_chart:
1698
+ title: Top 10 des types d'erreurs
1699
+ hour_chart:
1700
+ title: Erreurs par heure de la journée
1701
+ top_users:
1702
+ title: Top 10 des utilisateurs affectés
1703
+ type_breakdown:
1704
+ title: Répartition par type d'erreur
1705
+ subtitle: "%{days} derniers jours"
1706
+ column_rank: Rang
1707
+ column_error_type: Type d'erreur
1708
+ column_count: Nombre
1709
+ column_percentage: Pourcentage
1710
+ column_actions: Actions
1711
+ view_errors: Voir les erreurs
1712
+ recurring:
1713
+ title: Problèmes récurrents
1714
+ high_frequency_title: Erreurs à forte fréquence
1715
+ column_error_type: Type d'erreur
1716
+ column_total_occurrences: Total des occurrences
1717
+ column_duration: Durée
1718
+ column_first_seen: Première occurrence
1719
+ column_last_seen: Dernière occurrence
1720
+ column_status: Statut
1721
+ duration_days: "%{days} jours"
1722
+ active: Active
1723
+ inactive: Inactive
1724
+ empty_high_frequency: Aucune erreur à forte fréquence trouvée sur les %{days}
1725
+ derniers jours.
1726
+ persistent_title: Erreurs non résolues persistantes
1727
+ persistent_hint: Ces erreurs sont non résolues depuis plus de 7 jours.
1728
+ column_message: Message
1729
+ column_platform: Plateforme
1730
+ column_count: Nombre
1731
+ column_age: Ancienneté
1732
+ column_actions: Actions
1733
+ age_days: "%{days} jours"
1734
+ view: Voir
1735
+ releases:
1736
+ version_chart_title: Erreurs par version de release
1737
+ comparison_title: Dernière par rapport à la précédente
1738
+ latest_version: Dernière version
1739
+ latest_errors:
1740
+ one: "%{count} erreur"
1741
+ other: "%{count} erreurs"
1742
+ many: "%{count} erreurs"
1743
+ latest_critical:
1744
+ one: "%{count} critique"
1745
+ other: "%{count} critiques"
1746
+ many: "%{count} critiques"
1747
+ previous_version: Version précédente
1748
+ previous_errors:
1749
+ one: "%{count} erreur"
1750
+ other: "%{count} erreurs"
1751
+ many: "%{count} erreurs"
1752
+ previous_critical:
1753
+ one: "%{count} critique"
1754
+ other: "%{count} critiques"
1755
+ many: "%{count} critiques"
1756
+ change: Variation
1757
+ empty: Données de release insuffisantes pour une comparaison.
1758
+ problematic_title: Releases problématiques détectées
1759
+ problematic_hint_html: 'Les releases suivantes présentent des taux d''erreur
1760
+ nettement plus élevés (&gt;%{multiplier}x la moyenne) :'
1761
+ problematic_entry: "%{count} erreurs (%{critical} critiques, +%{deviation}
1762
+ % par rapport à la moyenne)"
1763
+ mttr:
1764
+ title: Performance de résolution (MTTR)
1765
+ overall_title: MTTR global
1766
+ overall_hint: Délai moyen de résolution
1767
+ fastest_title: Le plus rapide
1768
+ fastest_hint: Meilleur délai de résolution
1769
+ slowest_title: Le plus lent
1770
+ slowest_hint: Délai de résolution le plus long
1771
+ total_resolved_title: Total résolues
1772
+ total_resolved_hint: Sur les %{days} derniers jours
1773
+ by_platform_title: MTTR par plateforme
1774
+ by_severity_title: MTTR par gravité
1775
+ column_severity: Gravité
1776
+ column_avg_time: Délai moyen de résolution
1777
+ column_actions: Actions
1778
+ hours: "%{hours} heures"
1779
+ view: Voir
1780
+ trend_title: Évolution du MTTR (hebdomadaire)
1781
+ correlation:
1782
+ title: Analyse de corrélation des erreurs
1783
+ trend_analysis:
1784
+ title: Analyse des tendances
1785
+ current_period: Période actuelle
1786
+ previous_period: Période précédente
1787
+ change: Variation
1788
+ period_range: "%{start} – %{end}"
1789
+ problematic_releases:
1790
+ title: Releases problématiques
1791
+ hint: Versions dont le taux d'erreur dépasse le double de la moyenne
1792
+ column_version: Version
1793
+ column_error_count: Nombre d'erreurs
1794
+ column_deviation: Écart à la moyenne
1795
+ column_critical: Erreurs critiques
1796
+ column_unique_types: Types d'erreurs uniques
1797
+ column_platforms: Plateformes
1798
+ column_actions: Actions
1799
+ view: Voir
1800
+ by_version:
1801
+ title: Erreurs par version de l'application
1802
+ column_version: Version
1803
+ column_errors: Erreurs
1804
+ column_types: Types
1805
+ column_critical: Critiques
1806
+ by_git_sha:
1807
+ title: Erreurs par SHA Git
1808
+ column_sha: SHA
1809
+ column_errors: Erreurs
1810
+ column_types: Types
1811
+ column_versions: Versions
1812
+ multi_error_users:
1813
+ title: Utilisateurs affectés par plusieurs types d'erreurs
1814
+ hint: Utilisateurs rencontrant au moins 2 types d'erreurs différents
1815
+ truncated: Affichage de %{shown} utilisateurs sur %{total}
1816
+ time_correlated:
1817
+ title: Erreurs corrélées dans le temps
1818
+ hint: Types d'erreurs survenant à des heures similaires de la journée
1819
+ column_error_type_a: Type d'erreur A
1820
+ column_error_type_b: Type d'erreur B
1821
+ column_correlation: Corrélation
1822
+ column_strength: Intensité
1823
+ truncated: Affichage de %{shown} paires d'erreurs corrélées sur %{total}
1824
+ platform_specific:
1825
+ title: Erreurs propres à une plateforme et multiplateformes
1826
+ occurrences:
1827
+ one: "%{count} occurrence"
1828
+ other: "%{count} occurrences"
1829
+ many: "%{count} occurrences"
1830
+ platform_specific: Propre à une plateforme
1831
+ cross_platform: Multiplateforme
1832
+ also_on: 'Également sur : %{platforms}'
1833
+ empty:
1834
+ title: Données insuffisantes pour une analyse de corrélation
1835
+ message: L'analyse de corrélation nécessite davantage de données d'erreur
1836
+ pour identifier des motifs.
1837
+ needed_title: 'Ce qui est nécessaire :'
1838
+ needed_version: Le suivi de la version de l'application pour la corrélation
1839
+ par release
1840
+ needed_user: Le suivi des utilisateurs pour la corrélation par utilisateur
1841
+ needed_types: Plusieurs types d'erreurs pour la corrélation temporelle
1842
+ hint: Revenez consulter cette page lorsque davantage d'erreurs auront été
1843
+ enregistrées.
1844
+ platform_comparison:
1845
+ title: Comparaison de l'état des plateformes
1846
+ empty:
1847
+ title: Aucune donnée de plateforme disponible
1848
+ message: Aucune erreur n'a été enregistrée pour la période sélectionnée
1849
+ (%{days} jours).
1850
+ hint: Essayez de sélectionner une période plus longue ou revenez plus tard.
1851
+ health_card:
1852
+ healthy: Sain
1853
+ warning: Avertissement
1854
+ critical: Critique
1855
+ stability_score: Score de stabilité
1856
+ total_errors: 'Total des erreurs :'
1857
+ critical_errors: 'Critiques :'
1858
+ unresolved: 'Non résolues :'
1859
+ resolution_rate: 'Taux de résolution :'
1860
+ error_velocity: 'Vitesse d''apparition :'
1861
+ view_errors: Voir les erreurs %{platform}
1862
+ error_rate_chart:
1863
+ title: Taux d'erreur par plateforme
1864
+ daily_trend_chart:
1865
+ title: Évolution quotidienne des erreurs
1866
+ severity_distribution:
1867
+ title: Répartition par gravité
1868
+ severity_count: "%{label} : %{count}"
1869
+ breakdown_html: "%{critical} | %{high} | %{medium} | %{low}"
1870
+ empty: Aucune erreur
1871
+ resolution_time_chart:
1872
+ title: Délai moyen de résolution
1873
+ cross_platform:
1874
+ title: Erreurs multiplateformes
1875
+ column_error_type: Type d'erreur
1876
+ column_platforms: Plateformes
1877
+ column_total_occurrences: Total des occurrences
1878
+ column_breakdown: Répartition
1879
+ top_errors:
1880
+ title: Erreurs principales – %{platform}
1881
+ empty: Aucune erreur trouvée
1882
+ releases:
1883
+ title: Releases
1884
+ empty:
1885
+ title: Aucune donnée de release trouvée
1886
+ message: Aucune donnée de version n'a été détectée dans les erreurs des
1887
+ %{days} derniers jours.
1888
+ how_to_title: 'Comment activer le suivi des releases :'
1889
+ step_config_html: Définissez %{option} dans votre initializer
1890
+ step_env_html: Ou définissez la variable d'environnement %{env_var}
1891
+ step_git_sha_html: Le SHA Git est détecté automatiquement depuis %{git_sha},
1892
+ %{heroku} ou %{render}
1893
+ step_captured: La version et le SHA sont capturés automatiquement lorsque
1894
+ des erreurs surviennent
1895
+ summary:
1896
+ releases: Releases
1897
+ current_release: Release actuelle
1898
+ avg_errors: Erreurs moy. par release
1899
+ problematic: Releases problématiques
1900
+ current_card:
1901
+ title: 'Release actuelle :'
1902
+ live_badge: En ligne
1903
+ errors: Erreurs
1904
+ error_types: Types d'erreurs
1905
+ new_errors: Nouvelles erreurs
1906
+ stability: Stabilité
1907
+ git_sha: SHA Git
1908
+ vs_previous: Par rapport à la précédente
1909
+ timeline:
1910
+ title: Chronologie des releases
1911
+ column_version: Version
1912
+ column_git_sha: SHA Git
1913
+ column_time_range: Période
1914
+ column_errors: Erreurs
1915
+ column_types: Types
1916
+ column_new_errors: Nouvelles erreurs
1917
+ column_stability: Stabilité
1918
+ column_vs_previous: Par rapport à la précédente
1919
+ current_badge: Actuelle
1920
+ problematic_badge: Problématique
1921
+ more_shas: "+%{count}"
1922
+ new_count:
1923
+ one: "%{count} nouvelle"
1924
+ other: "%{count} nouvelles"
1925
+ many: "%{count} nouvelles"
1926
+ footer_html: 'Stabilité : <span class="badge bg-success">Vert</span> &le;
1927
+ moyenne des erreurs, <span class="badge bg-warning">Jaune</span> 1 à 2x
1928
+ la moyenne, <span class="badge bg-danger">Rouge</span> &gt; 2x la moyenne.
1929
+ Les « nouvelles » erreurs sont les types d''erreurs apparus pour la première
1930
+ fois dans cette release.'
1931
+ user_impact:
1932
+ title: Impact utilisateur
1933
+ empty:
1934
+ title: Aucune donnée d'impact utilisateur
1935
+ message: Aucune erreur associée à un utilisateur n'a été trouvée sur les
1936
+ %{days} derniers jours.
1937
+ how_tracked_title: 'Comment l''impact utilisateur est suivi :'
1938
+ step_user_id_html: Les erreurs doivent être associées à un %{attribute}
1939
+ step_auto_html: Détecté automatiquement via %{current_attributes} ou %{current_user}
1940
+ step_config_html: Ou définissez %{option} dans votre initializer
1941
+ summary:
1942
+ error_types: Types d'erreurs avec utilisateurs
1943
+ total_users_affected: Total des utilisateurs affectés
1944
+ most_impactful: Erreur au plus fort impact
1945
+ total_users: Total des utilisateurs (pour le %)
1946
+ table:
1947
+ title: Erreurs classées par impact utilisateur
1948
+ column_rank: "#"
1949
+ column_error_type: Type d'erreur
1950
+ column_unique_users: Utilisateurs uniques
1951
+ column_occurrences: Occurrences
1952
+ column_impact_percentage: Impact utilisateur %
1953
+ column_severity: Gravité
1954
+ column_last_seen: Dernière occurrence
1955
+ users:
1956
+ one: "%{count} utilisateur"
1957
+ other: "%{count} utilisateurs"
1958
+ many: "%{count} utilisateurs"
1959
+ occurrences:
1960
+ one: "%{count}x"
1961
+ other: "%{count}x"
1962
+ many: "%{count}x"
1963
+ footer: Classement par nombre d'utilisateurs uniques affectés, et non par
1964
+ nombre d'occurrences. Une erreur touchant 1000 utilisateurs une fois est
1965
+ plus grave qu'une erreur touchant 1 utilisateur 1000 fois.
1966
+ js:
1967
+ months:
1968
+ - janvier
1969
+ - février
1970
+ - mars
1971
+ - avril
1972
+ - mai
1973
+ - juin
1974
+ - juillet
1975
+ - août
1976
+ - septembre
1977
+ - octobre
1978
+ - novembre
1979
+ - décembre
1980
+ months_short:
1981
+ - janv.
1982
+ - févr.
1983
+ - mars
1984
+ - avr.
1985
+ - mai
1986
+ - juin
1987
+ - juil.
1988
+ - août
1989
+ - sept.
1990
+ - oct.
1991
+ - nov.
1992
+ - déc.
1993
+ days:
1994
+ - dimanche
1995
+ - lundi
1996
+ - mardi
1997
+ - mercredi
1998
+ - jeudi
1999
+ - vendredi
2000
+ - samedi
2001
+ days_short:
2002
+ - dim.
2003
+ - lun.
2004
+ - mar.
2005
+ - mer.
2006
+ - jeu.
2007
+ - ven.
2008
+ - sam.
2009
+ meridian:
2010
+ am: AM
2011
+ pm: PM
2012
+ intl_locale: fr-FR
2013
+ duration:
2014
+ seconds:
2015
+ one: 1 seconde
2016
+ other: "%{count} secondes"
2017
+ many: "%{count} secondes"
2018
+ minutes:
2019
+ one: 1 minute
2020
+ other: "%{count} minutes"
2021
+ many: "%{count} minutes"
2022
+ hours:
2023
+ one: 1 heure
2024
+ other: "%{count} heures"
2025
+ many: "%{count} heures"
2026
+ days:
2027
+ one: 1 jour
2028
+ other: "%{count} jours"
2029
+ many: "%{count} jours"
2030
+ months:
2031
+ one: 1 mois
2032
+ other: "%{count} mois"
2033
+ many: "%{count} mois"
2034
+ years:
2035
+ one: 1 an
2036
+ other: "%{count} ans"
2037
+ many: "%{count} ans"
2038
+ selected:
2039
+ one: 1 sélectionnée
2040
+ other: "%{count} sélectionnées"
2041
+ many: "%{count} sélectionnées"
2042
+ titles:
2043
+ local_time: Votre heure locale (cliquez pour voir UTC)
2044
+ utc_time: Heure UTC (cliquez pour voir l'heure locale)
2045
+ exact_time: Cliquez pour voir l'heure exacte
2046
+ relative_time: Cliquez pour voir l'heure relative
2047
+ ui_js:
2048
+ toast:
2049
+ loading: Chargement…
2050
+ copied: Copié !
2051
+ copied_to_clipboard: Copié dans le presse-papiers !
2052
+ failed: Échec
2053
+ copy_failed: Échec de la copie dans le presse-papiers
2054
+ downloaded: Téléchargé !
2055
+ ai_help:
2056
+ question_required: Saisissez d'abord une question.
2057
+ streaming: Diffusion en cours…
2058
+ streaming_unsupported: La diffusion n'est pas prise en charge par ce navigateur.
2059
+ request_failed: Échec de la requête.
2060
+ sections:
2061
+ error: Erreur
2062
+ request: Requête
2063
+ deprecations: Deprecations
2064
+ n_plus_one: N+1
2065
+ cache: Cache
2066
+ breadcrumbs: Breadcrumbs
2067
+ similar: Similaires
2068
+ co_occurring: Concomitantes
2069
+ timeline: Chronologie
2070
+ issue: Issue
2071
+ discussion: Discussion
2072
+ cascades: Cascades
2073
+ patterns: Motifs
2074
+ charts:
2075
+ axis_date: Date
2076
+ axis_hour: Heure
2077
+ axis_error_type: Type d'erreur
2078
+ axis_count: Nombre
2079
+ axis_number_of_errors: Nombre d'erreurs
2080
+ axis_hours: Heures
2081
+ series_total_errors: Total des erreurs
2082
+ series_hours_to_resolve: Heures avant résolution