rails_error_dashboard 0.14.4 → 0.16.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.
- checksums.yaml +4 -4
- data/README.md +19 -8
- data/app/controllers/rails_error_dashboard/application_controller.rb +28 -4
- data/app/controllers/rails_error_dashboard/errors_controller.rb +97 -4
- data/app/controllers/rails_error_dashboard/health_controller.rb +38 -0
- data/app/controllers/rails_error_dashboard/webhooks_controller.rb +10 -9
- data/app/helpers/rails_error_dashboard/application_helper.rb +2 -2
- data/app/helpers/rails_error_dashboard/backtrace_helper.rb +63 -16
- data/app/helpers/rails_error_dashboard/overview_helper.rb +4 -0
- data/app/jobs/rails_error_dashboard/baseline_alert_job.rb +20 -2
- data/app/jobs/rails_error_dashboard/cascade_detection_job.rb +30 -0
- data/app/jobs/rails_error_dashboard/concerns/plain_channel_message.rb +33 -6
- data/app/jobs/rails_error_dashboard/discord_error_notification_job.rb +1 -1
- data/app/jobs/rails_error_dashboard/pagerduty_error_notification_job.rb +1 -1
- data/app/jobs/rails_error_dashboard/retention_cleanup_job.rb +31 -0
- data/app/jobs/rails_error_dashboard/scheduled_digest_job.rb +6 -1
- data/app/jobs/rails_error_dashboard/slack_error_notification_job.rb +1 -1
- data/app/jobs/rails_error_dashboard/telegram_error_notification_job.rb +25 -0
- data/app/jobs/rails_error_dashboard/webhook_error_notification_job.rb +2 -18
- data/app/models/rails_error_dashboard/error_log.rb +54 -20
- data/app/models/rails_error_dashboard/error_occurrence.rb +1 -0
- data/app/models/rails_error_dashboard/error_occurrence_context.rb +14 -0
- data/app/models/rails_error_dashboard/missing_translation.rb +43 -0
- data/app/views/layouts/rails_error_dashboard.html.erb +14 -2
- data/app/views/rails_error_dashboard/errors/_captured_occurrences.html.erb +45 -0
- data/app/views/rails_error_dashboard/errors/_error_info.html.erb +12 -3
- data/app/views/rails_error_dashboard/errors/_occurrence_banner.html.erb +12 -0
- data/app/views/rails_error_dashboard/errors/_sidebar_metadata.html.erb +3 -1
- data/app/views/rails_error_dashboard/errors/_source_code.html.erb +3 -9
- data/app/views/rails_error_dashboard/errors/activestorage_health_summary.html.erb +28 -0
- data/app/views/rails_error_dashboard/errors/boot_errors.html.erb +130 -0
- data/app/views/rails_error_dashboard/errors/index.html.erb +1 -1
- data/app/views/rails_error_dashboard/errors/missing_translations.html.erb +143 -0
- data/app/views/rails_error_dashboard/errors/overview.html.erb +10 -7
- data/app/views/rails_error_dashboard/errors/platform_comparison.html.erb +16 -11
- data/app/views/rails_error_dashboard/errors/settings/_value_badge.html.erb +7 -4
- data/app/views/rails_error_dashboard/errors/settings.html.erb +23 -8
- data/app/views/rails_error_dashboard/errors/show.html.erb +7 -4
- data/config/locales/de.yml +87 -5
- data/config/locales/en.yml +99 -4
- data/config/locales/es.yml +88 -5
- data/config/locales/fr.yml +88 -5
- data/config/locales/it.yml +88 -5
- data/config/locales/ja.yml +86 -4
- data/config/locales/pl.yml +89 -5
- data/config/locales/pt-BR.yml +88 -5
- data/config/locales/ru.yml +89 -5
- data/config/locales/uk.yml +89 -5
- data/config/locales/zh-CN.yml +86 -4
- data/config/routes.rb +6 -0
- data/db/migrate/20251223000000_create_rails_error_dashboard_complete_schema.rb +10 -2
- data/db/migrate/20260106094256_backfill_application_for_existing_errors.rb +3 -3
- data/db/migrate/20261010000001_create_missing_translations.rb +50 -0
- data/db/migrate/20261015000001_create_rails_error_dashboard_error_occurrence_contexts.rb +35 -0
- data/db/migrate/20261015000002_add_capture_source_to_error_occurrences_and_error_logs.rb +46 -0
- data/lib/generators/rails_error_dashboard/install/install_generator.rb +9 -4
- data/lib/generators/rails_error_dashboard/install/templates/initializer.rb +41 -5
- data/lib/rails_error_dashboard/commands/assign_error.rb +24 -1
- data/lib/rails_error_dashboard/commands/batch_mute_errors.rb +11 -2
- data/lib/rails_error_dashboard/commands/batch_resolve_errors.rb +16 -3
- data/lib/rails_error_dashboard/commands/batch_unmute_errors.rb +7 -2
- data/lib/rails_error_dashboard/commands/find_or_increment_error.rb +6 -0
- data/lib/rails_error_dashboard/commands/flush_missing_translations.rb +101 -0
- data/lib/rails_error_dashboard/commands/flush_rack_attack_events.rb +2 -4
- data/lib/rails_error_dashboard/commands/flush_storm_counts.rb +7 -6
- data/lib/rails_error_dashboard/commands/flush_swallowed_exceptions.rb +2 -4
- data/lib/rails_error_dashboard/commands/log_error.rb +20 -8
- data/lib/rails_error_dashboard/commands/record_occurrence_context.rb +60 -0
- data/lib/rails_error_dashboard/commands/resolve_error.rb +2 -15
- data/lib/rails_error_dashboard/commands/update_error_status.rb +7 -0
- data/lib/rails_error_dashboard/configuration.rb +61 -4
- data/lib/rails_error_dashboard/engine.rb +42 -1
- data/lib/rails_error_dashboard/error_reporter.rb +4 -2
- data/lib/rails_error_dashboard/manual_error_reporter.rb +11 -1
- data/lib/rails_error_dashboard/middleware/error_catcher.rb +18 -4
- data/lib/rails_error_dashboard/middleware/rate_limiter.rb +7 -1
- data/lib/rails_error_dashboard/plugin.rb +19 -3
- data/lib/rails_error_dashboard/plugin_registry.rb +61 -12
- data/lib/rails_error_dashboard/queries/analytics_stats.rb +0 -12
- data/lib/rails_error_dashboard/queries/boot_errors.rb +76 -0
- data/lib/rails_error_dashboard/queries/co_occurring_errors.rb +59 -33
- data/lib/rails_error_dashboard/queries/dashboard_stats.rb +3 -11
- data/lib/rails_error_dashboard/queries/errors_list.rb +8 -16
- data/lib/rails_error_dashboard/queries/health_status.rb +191 -0
- data/lib/rails_error_dashboard/queries/missing_translation_summary.rb +82 -0
- data/lib/rails_error_dashboard/queries/platform_comparison.rb +14 -6
- data/lib/rails_error_dashboard/services/active_storage_probe.rb +91 -0
- data/lib/rails_error_dashboard/services/backtrace_parser.rb +13 -7
- data/lib/rails_error_dashboard/services/backtrace_processor.rb +31 -7
- data/lib/rails_error_dashboard/services/baseline_alert_payload_builder.rb +30 -0
- data/lib/rails_error_dashboard/services/crash_capture.rb +90 -2
- data/lib/rails_error_dashboard/services/digest_builder.rb +9 -6
- data/lib/rails_error_dashboard/services/error_notification_dispatcher.rb +6 -0
- data/lib/rails_error_dashboard/services/github_link_generator.rb +25 -14
- data/lib/rails_error_dashboard/services/markdown_error_formatter.rb +15 -16
- data/lib/rails_error_dashboard/services/missing_translation_handler.rb +152 -0
- data/lib/rails_error_dashboard/services/missing_translation_tracker.rb +316 -0
- data/lib/rails_error_dashboard/services/repository_url.rb +18 -0
- data/lib/rails_error_dashboard/services/resolution_callbacks.rb +44 -0
- data/lib/rails_error_dashboard/services/severity_classifier.rb +52 -0
- data/lib/rails_error_dashboard/services/similarity_calculator.rb +3 -9
- data/lib/rails_error_dashboard/services/source_code_reader.rb +23 -3
- data/lib/rails_error_dashboard/services/storm_protection/count_buffer.rb +6 -3
- data/lib/rails_error_dashboard/services/storm_protection/gate.rb +6 -1
- data/lib/rails_error_dashboard/services/telegram_delivery.rb +134 -0
- data/lib/rails_error_dashboard/services/telegram_payload_builder.rb +105 -0
- data/lib/rails_error_dashboard/services/webhook_delivery.rb +63 -0
- data/lib/rails_error_dashboard/services/webhook_signer.rb +80 -0
- data/lib/rails_error_dashboard/value_objects/occurrence_snapshot.rb +23 -0
- data/lib/rails_error_dashboard/version.rb +1 -1
- data/lib/rails_error_dashboard.rb +28 -0
- data/lib/tasks/error_dashboard.rake +2 -3
- metadata +29 -2
data/config/locales/fr.yml
CHANGED
|
@@ -36,6 +36,8 @@ fr:
|
|
|
36
36
|
healthy: "✅ Sain"
|
|
37
37
|
warning: "⚠️ Avertissement"
|
|
38
38
|
critical: "\U0001F534 Critique"
|
|
39
|
+
not_rated: "Non évalué"
|
|
40
|
+
not_rated_hint: "L'évaluation compare les plateformes : il faut des erreurs sur au moins deux."
|
|
39
41
|
device_type:
|
|
40
42
|
mobile: Mobile
|
|
41
43
|
tablet: Tablette
|
|
@@ -60,6 +62,8 @@ fr:
|
|
|
60
62
|
llm: LLM
|
|
61
63
|
n_plus_one: Requêtes N+1
|
|
62
64
|
deprecations: Dépréciations
|
|
65
|
+
missing_translations: "Traductions"
|
|
66
|
+
boot_errors: "Erreurs de démarrage"
|
|
63
67
|
swallowed: Avalées
|
|
64
68
|
diagnostic_dumps: Diagnostics
|
|
65
69
|
storms: Tempêtes
|
|
@@ -247,6 +251,10 @@ fr:
|
|
|
247
251
|
inactive_body: activez pour voir les lignes exécutées
|
|
248
252
|
enable: Activer
|
|
249
253
|
disable: Désactiver
|
|
254
|
+
occurrence:
|
|
255
|
+
title: "Occurrence #%{id}"
|
|
256
|
+
body: "Les breadcrumbs, l'état du système et les variables proviennent de cette occurrence. Tout le reste montre la capture la plus récente."
|
|
257
|
+
show_latest: "Voir la plus récente"
|
|
250
258
|
baselines:
|
|
251
259
|
title: Statistiques de référence
|
|
252
260
|
anomaly_label: 'Anomalie :'
|
|
@@ -517,6 +525,14 @@ fr:
|
|
|
517
525
|
other: "+%{count} autres"
|
|
518
526
|
many: "+%{count} autres"
|
|
519
527
|
view_errors: Voir les erreurs
|
|
528
|
+
captured_occurrences:
|
|
529
|
+
title: "Occurrences capturées"
|
|
530
|
+
hint: "Les breadcrumbs, l'état du système et les variables sont conservés pour les occurrences les plus récentes (occurrence_context_limit). Ouvrez-en une pour les voir."
|
|
531
|
+
column_occurrence: "Occurrence"
|
|
532
|
+
column_occurred_at: "Survenue"
|
|
533
|
+
column_version: "Version"
|
|
534
|
+
view: "Voir"
|
|
535
|
+
viewing: "Affichée"
|
|
520
536
|
co_occurring:
|
|
521
537
|
title: Erreurs concomitantes
|
|
522
538
|
badge: Motifs temporels
|
|
@@ -766,6 +782,7 @@ fr:
|
|
|
766
782
|
many: "%{count} frames"
|
|
767
783
|
click_to_expand: "(cliquez pour développer)"
|
|
768
784
|
view_source: Voir le code source
|
|
785
|
+
client_report_note: "Ces frames proviennent d'un rapport client (ManualErrorReporter). Ils décrivent du code exécuté côté client : RED n'ouvre donc aucun fichier source, n'affiche aucun extrait et n'exécute pas git blame pour eux."
|
|
769
786
|
none: Aucun backtrace disponible
|
|
770
787
|
row:
|
|
771
788
|
new_badge: NOUVEAU
|
|
@@ -857,6 +874,53 @@ fr:
|
|
|
857
874
|
dans error_log
|
|
858
875
|
footer_tip: Les exceptions avalées sont levées puis rattrapées silencieusement.
|
|
859
876
|
Elles peuvent masquer de vrais bugs.
|
|
877
|
+
missing_translations_page:
|
|
878
|
+
title: "Traductions manquantes"
|
|
879
|
+
empty_title: "Aucune traduction manquante enregistrée"
|
|
880
|
+
empty_body: "Aucune clé de traduction manquante n'a été enregistrée au cours des %{days} derniers jours."
|
|
881
|
+
how_title: "Comment les traductions manquantes sont suivies :"
|
|
882
|
+
how_enabled_html: "Le suivi doit être activé (%{option})"
|
|
883
|
+
how_hooked: "RED enveloppe I18n.exception_handler et délègue au handler que votre application avait déjà ; rien d'autre ne change dans votre configuration I18n"
|
|
884
|
+
how_recorded: "Chaque recherche qui aboutit au handler — via I18n.t comme via le helper de vue t() — est comptée par locale et par clé, avec le premier point d'appel observé"
|
|
885
|
+
how_not_seen: "Une recherche avec :default n'échoue jamais, et une recherche avec raise_on_missing_translations lève une exception avant tout handler ; aucune des deux n'est comptée ici"
|
|
886
|
+
how_buffered: "Les échecs sont comptés en mémoire et écrits à la fin de la requête ou du job ; comptez un court délai avant qu'ils n'apparaissent"
|
|
887
|
+
missing_keys: "Clés manquantes"
|
|
888
|
+
total_misses: "Échecs au total"
|
|
889
|
+
locales_affected: "Locales concernées"
|
|
890
|
+
all_title: "Clés de traduction manquantes"
|
|
891
|
+
column_key: "Clé"
|
|
892
|
+
column_locale: "Locale"
|
|
893
|
+
column_source: "Vu d'abord dans"
|
|
894
|
+
column_misses: "Échecs"
|
|
895
|
+
column_first_seen: "Première occurrence"
|
|
896
|
+
overflow_notice: "%{count} échecs n'ont pas pu être attribués à une clé parce que le tampon du suivi (%{limit} clés par thread) était plein."
|
|
897
|
+
footer_tip: "Ajoutez la clé au fichier de locale, ou passez un :default. Les clés réellement rencontrées par les utilisateurs sont listées en premier."
|
|
898
|
+
docs: "Guide i18n de Rails"
|
|
899
|
+
|
|
900
|
+
boot_errors_page:
|
|
901
|
+
title: "Erreurs de démarrage"
|
|
902
|
+
empty_title: "Aucune erreur de démarrage enregistrée"
|
|
903
|
+
empty_body: "Aucun processus n’est mort au démarrage au cours des %{days} derniers jours."
|
|
904
|
+
how_title: "Comment les erreurs de démarrage sont capturées :"
|
|
905
|
+
how_enabled_html: "La capture des plantages doit être activée (%{option})"
|
|
906
|
+
how_hooked: "RED enregistre son hook at_exit juste après vos initializers et avant l’eager loading de Rails, si bien qu’un plantage au démarrage est vu même si l’application n’a jamais fini de démarrer"
|
|
907
|
+
how_captured_html: "Une %{zeitwerk} due à un fichier qui définit la mauvaise constante, une %{syntax} dans un modèle, un initializer qui lève une exception : tout ce qui tue le processus avant qu’il serve une requête"
|
|
908
|
+
how_imported: "Le plantage est écrit sur disque, faute de base de données à ce stade, puis importé au prochain démarrage réussi"
|
|
909
|
+
how_never: "Un processus tué par SIGKILL ou un segfault n’est jamais vu par at_exit, dans aucun outil"
|
|
910
|
+
unresolved: "Non résolus"
|
|
911
|
+
boot_crashes: "Plantages au démarrage"
|
|
912
|
+
failed_boots: "Démarrages échoués"
|
|
913
|
+
all_title: "Plantages au démarrage par erreur"
|
|
914
|
+
column_error: "Erreur"
|
|
915
|
+
column_file: "Fichier"
|
|
916
|
+
column_constant: "Constante"
|
|
917
|
+
column_boots: "Démarrages"
|
|
918
|
+
column_first_seen: "Première occurrence"
|
|
919
|
+
column_status: "Statut"
|
|
920
|
+
status_open: "Ouvert"
|
|
921
|
+
status_resolved: "Résolu"
|
|
922
|
+
footer_tip: "Un plantage au démarrage signifie que le processus n’a jamais servi de requête. Corrigez-le avant le prochain déploiement ; la ligne se résout comme n’importe quelle autre erreur."
|
|
923
|
+
|
|
860
924
|
rack_attack_page:
|
|
861
925
|
title: Événements de limitation de débit
|
|
862
926
|
missing_title: Rack Attack n'est pas installé
|
|
@@ -1090,6 +1154,10 @@ fr:
|
|
|
1090
1154
|
one: "%{count} événement"
|
|
1091
1155
|
other: "%{count} événements"
|
|
1092
1156
|
many: "%{count} événements"
|
|
1157
|
+
occurrences:
|
|
1158
|
+
one: "%{count} occurrence"
|
|
1159
|
+
other: "%{count} occurrences"
|
|
1160
|
+
many: "%{count} occurrences"
|
|
1093
1161
|
queries:
|
|
1094
1162
|
one: "%{count} requête"
|
|
1095
1163
|
other: "%{count} requêtes"
|
|
@@ -1130,7 +1198,7 @@ fr:
|
|
|
1130
1198
|
unable_to_detect: Détection impossible
|
|
1131
1199
|
no_user_model: Aucun modèle User détecté
|
|
1132
1200
|
unable_to_query_count: Impossible d'interroger le nombre
|
|
1133
|
-
|
|
1201
|
+
retention_enforced_by_job: "Supprimés par RetentionCleanupJob dès que votre planificateur l'exécute"
|
|
1134
1202
|
keep_forever: Conserver indéfiniment
|
|
1135
1203
|
no_automatic_deletion: Aucune suppression automatique
|
|
1136
1204
|
run_command: 'Exécuter :'
|
|
@@ -1138,8 +1206,8 @@ fr:
|
|
|
1138
1206
|
options:
|
|
1139
1207
|
enable_middleware: Intercepte les exceptions non gérées
|
|
1140
1208
|
enable_error_subscriber: S'abonne aux événements d'erreur de Rails
|
|
1141
|
-
retention_days:
|
|
1142
|
-
|
|
1209
|
+
retention_days: "Supprimer les erreurs non vues depuis ce nombre de jours. Appliqué par RetentionCleanupJob, que la gem ne planifie pas elle-même"
|
|
1210
|
+
occurrence_context_limit: "Nombre d'occurrences récentes par erreur dont les breadcrumbs, l'état du système et les variables sont conservés (0 = désactivé)"
|
|
1143
1211
|
max_backtrace_lines: Profondeur maximale du backtrace
|
|
1144
1212
|
sampling_rate: Pourcentage d'erreurs capturées
|
|
1145
1213
|
application_name: Nom de cette application (détecté automatiquement si non
|
|
@@ -1158,7 +1226,7 @@ fr:
|
|
|
1158
1226
|
si non défini)
|
|
1159
1227
|
async_logging: Traitement par jobs en arrière-plan
|
|
1160
1228
|
async_adapter: Adaptateur de file d'attente des jobs
|
|
1161
|
-
enable_rate_limiting: Limiter
|
|
1229
|
+
enable_rate_limiting: "Limiter les requêtes du tableau de bord par IP et par chemin"
|
|
1162
1230
|
rate_limit_per_minute: Requêtes par minute et par IP
|
|
1163
1231
|
enable_slack_notifications: Notifications en temps réel
|
|
1164
1232
|
slack_webhook_url: Point de terminaison du webhook Slack
|
|
@@ -1167,10 +1235,15 @@ fr:
|
|
|
1167
1235
|
notification_email_from: Adresse de l'expéditeur
|
|
1168
1236
|
enable_discord_notifications: Notifications par webhook Discord
|
|
1169
1237
|
discord_webhook_url: Point de terminaison du webhook Discord
|
|
1238
|
+
enable_telegram_notifications: "Notifications Telegram via l'API Bot"
|
|
1239
|
+
telegram_bot_token: "Jeton du bot fourni par @BotFather (définir la variable d'environnement TELEGRAM_BOT_TOKEN)"
|
|
1240
|
+
telegram_chat_id: "Discussion, groupe ou canal où le bot publie"
|
|
1241
|
+
telegram_api_base_url: "Serveur de l'API Bot (à modifier seulement pour un proxy ou un serveur auto-hébergé)"
|
|
1170
1242
|
enable_pagerduty_notifications: Escalade des erreurs critiques
|
|
1171
1243
|
pagerduty_integration_key: Clé API PagerDuty
|
|
1172
1244
|
enable_webhook_notifications: Points de terminaison webhook génériques
|
|
1173
1245
|
webhook_urls: Points de terminaison webhook personnalisés
|
|
1246
|
+
webhook_signing_secret: Signe les webhooks sortants en HMAC-SHA256 (définir la variable d’environnement WEBHOOK_SIGNING_SECRET)
|
|
1174
1247
|
enable_scheduled_digests: E-mails de résumé quotidiens/hebdomadaires. Planification
|
|
1175
1248
|
via SolidQueue, Sidekiq ou cron
|
|
1176
1249
|
digest_frequency: Fréquence d'envoi des e-mails de résumé
|
|
@@ -1190,7 +1263,7 @@ fr:
|
|
|
1190
1263
|
source_code_context_lines: Lignes avant et après la ligne ciblée
|
|
1191
1264
|
enable_git_blame: Afficher les informations git blame
|
|
1192
1265
|
source_code_cache_ttl: Durée de mise en cache du code source
|
|
1193
|
-
only_show_app_code_source: Masquer
|
|
1266
|
+
only_show_app_code_source: "Masquer le code des gems et de vendor dans le visualiseur de code"
|
|
1194
1267
|
git_branch_strategy: Stratégie de résolution de la branche
|
|
1195
1268
|
enable_breadcrumbs: Capturer le fil d'activité de la requête
|
|
1196
1269
|
breadcrumb_buffer_size: Nombre maximal de breadcrumbs par requête
|
|
@@ -1224,6 +1297,7 @@ fr:
|
|
|
1224
1297
|
enable_crash_capture: Hook at_exit pour les plantages non gérés
|
|
1225
1298
|
enable_coverage_tracking: Mode diagnostic — à activer depuis le tableau de
|
|
1226
1299
|
bord pour voir les lignes exécutées dans la vue du code source (Ruby 3.2+)
|
|
1300
|
+
enable_missing_translation_tracking: "Compte les échecs I18n de l'app par locale et par clé (enveloppe I18n.exception_handler)"
|
|
1227
1301
|
enable_rack_attack_tracking: Enregistrer les événements throttle/blocklist
|
|
1228
1302
|
dans leur propre table
|
|
1229
1303
|
enable_actioncable_tracking: Suivre les événements des canaux WebSocket sous
|
|
@@ -1281,6 +1355,8 @@ fr:
|
|
|
1281
1355
|
breadcrumbs: Breadcrumbs
|
|
1282
1356
|
system_health: État du système
|
|
1283
1357
|
swallowed_exceptions: Détection des exceptions avalées
|
|
1358
|
+
missing_translations: "Suivi des traductions manquantes"
|
|
1359
|
+
boot_errors: "Capture des erreurs de démarrage"
|
|
1284
1360
|
rack_attack: Suivi de Rack Attack
|
|
1285
1361
|
actioncable: Suivi d'ActionCable
|
|
1286
1362
|
activestorage: Suivi d'ActiveStorage
|
|
@@ -1697,6 +1773,13 @@ fr:
|
|
|
1697
1773
|
guide_link: Guide d'ActionCable
|
|
1698
1774
|
activestorage:
|
|
1699
1775
|
title: État d'ActiveStorage
|
|
1776
|
+
probe:
|
|
1777
|
+
title: "Joignabilité du service"
|
|
1778
|
+
reachable: "Joignable"
|
|
1779
|
+
unreachable: "Injoignable"
|
|
1780
|
+
service: "Service : %{name}"
|
|
1781
|
+
latency: "%{ms} ms aller-retour"
|
|
1782
|
+
how: "Une vérification d’existence d’une clé jamais stockée, faite au chargement de cette page. GET /health exécute la même sonde."
|
|
1700
1783
|
empty:
|
|
1701
1784
|
title: Aucun événement ActiveStorage trouvé
|
|
1702
1785
|
message: Aucune opération de service ActiveStorage n'a été détectée dans
|
data/config/locales/it.yml
CHANGED
|
@@ -36,6 +36,8 @@ it:
|
|
|
36
36
|
healthy: "✅ Integro"
|
|
37
37
|
warning: "⚠️ Avviso"
|
|
38
38
|
critical: "\U0001F534 Critico"
|
|
39
|
+
not_rated: "Non valutato"
|
|
40
|
+
not_rated_hint: "La valutazione confronta le piattaforme, quindi servono errori su almeno due."
|
|
39
41
|
device_type:
|
|
40
42
|
mobile: Mobile
|
|
41
43
|
tablet: Tablet
|
|
@@ -60,6 +62,8 @@ it:
|
|
|
60
62
|
llm: LLM
|
|
61
63
|
n_plus_one: Query N+1
|
|
62
64
|
deprecations: Deprecations
|
|
65
|
+
missing_translations: "Traduzioni"
|
|
66
|
+
boot_errors: "Errori di avvio"
|
|
63
67
|
swallowed: Soppresse
|
|
64
68
|
diagnostic_dumps: Diagnostica
|
|
65
69
|
storms: Tempeste
|
|
@@ -244,6 +248,10 @@ it:
|
|
|
244
248
|
inactive_body: abilita per vedere le righe eseguite
|
|
245
249
|
enable: Abilita
|
|
246
250
|
disable: Disabilita
|
|
251
|
+
occurrence:
|
|
252
|
+
title: "Occorrenza #%{id}"
|
|
253
|
+
body: "Breadcrumbs, stato del sistema e variabili provengono da questa occorrenza. Tutto il resto mostra l'acquisizione più recente."
|
|
254
|
+
show_latest: "Mostra la più recente"
|
|
247
255
|
baselines:
|
|
248
256
|
title: Statistiche della baseline
|
|
249
257
|
anomaly_label: 'Anomalia:'
|
|
@@ -511,6 +519,14 @@ it:
|
|
|
511
519
|
other: "+%{count} altri"
|
|
512
520
|
many: "+%{count} altri"
|
|
513
521
|
view_errors: Vedi gli errori
|
|
522
|
+
captured_occurrences:
|
|
523
|
+
title: "Occorrenze acquisite"
|
|
524
|
+
hint: "Breadcrumbs, stato del sistema e variabili vengono conservati per le occorrenze più recenti (occurrence_context_limit). Aprine una per vederli."
|
|
525
|
+
column_occurrence: "Occorrenza"
|
|
526
|
+
column_occurred_at: "Avvenuta"
|
|
527
|
+
column_version: "Versione"
|
|
528
|
+
view: "Visualizza"
|
|
529
|
+
viewing: "In visualizzazione"
|
|
514
530
|
co_occurring:
|
|
515
531
|
title: Errori concomitanti
|
|
516
532
|
badge: Schemi temporali
|
|
@@ -759,6 +775,7 @@ it:
|
|
|
759
775
|
many: "%{count} frame"
|
|
760
776
|
click_to_expand: "(clicca per espandere)"
|
|
761
777
|
view_source: Vedi il codice
|
|
778
|
+
client_report_note: "Questi frame provengono da una segnalazione del client (ManualErrorReporter). Descrivono codice eseguito sul client, quindi RED non apre file sorgente, non mostra estratti e non esegue git blame per essi."
|
|
762
779
|
none: Backtrace non disponibile
|
|
763
780
|
row:
|
|
764
781
|
new_badge: NUOVO
|
|
@@ -850,6 +867,53 @@ it:
|
|
|
850
867
|
view_unrescued: Vedi gli errori %{exception} non intercettati finiti in error_log
|
|
851
868
|
footer_tip: Le eccezioni soppresse vengono sollevate e poi intercettate in
|
|
852
869
|
silenzio. Possono nascondere bug reali.
|
|
870
|
+
missing_translations_page:
|
|
871
|
+
title: "Traduzioni mancanti"
|
|
872
|
+
empty_title: "Nessuna traduzione mancante registrata"
|
|
873
|
+
empty_body: "Nessuna chiave di traduzione mancante è stata registrata negli ultimi %{days} giorni."
|
|
874
|
+
how_title: "Come vengono tracciate le traduzioni mancanti:"
|
|
875
|
+
how_enabled_html: "Il tracciamento deve essere attivo (%{option})"
|
|
876
|
+
how_hooked: "RED avvolge I18n.exception_handler e delega all'handler che la tua app aveva già; nient'altro cambia nella tua configurazione I18n"
|
|
877
|
+
how_recorded: "Ogni ricerca che arriva all'handler — sia da I18n.t sia dall'helper di vista t() — viene contata per locale e chiave, insieme al primo punto di chiamata osservato"
|
|
878
|
+
how_not_seen: "Una ricerca con :default non fallisce mai, e una fatta con raise_on_missing_translations solleva un'eccezione prima che qualsiasi handler venga eseguito, quindi nessuna delle due è contata qui"
|
|
879
|
+
how_buffered: "I fallimenti vengono contati in memoria e scritti alla fine della richiesta o del job, quindi attendi un breve ritardo prima che compaiano"
|
|
880
|
+
missing_keys: "Chiavi mancanti"
|
|
881
|
+
total_misses: "Fallimenti totali"
|
|
882
|
+
locales_affected: "Locale interessati"
|
|
883
|
+
all_title: "Chiavi di traduzione mancanti"
|
|
884
|
+
column_key: "Chiave"
|
|
885
|
+
column_locale: "Locale"
|
|
886
|
+
column_source: "Visto prima in"
|
|
887
|
+
column_misses: "Fallimenti"
|
|
888
|
+
column_first_seen: "Prima occorrenza"
|
|
889
|
+
overflow_notice: "%{count} fallimenti non sono stati attribuiti a una chiave perché il buffer del tracker (%{limit} chiavi per thread) era pieno."
|
|
890
|
+
footer_tip: "Aggiungi la chiave al file di locale, oppure passa un :default. Le chiavi effettivamente incontrate dagli utenti sono elencate per prime."
|
|
891
|
+
docs: "Guida i18n di Rails"
|
|
892
|
+
|
|
893
|
+
boot_errors_page:
|
|
894
|
+
title: "Errori di avvio"
|
|
895
|
+
empty_title: "Nessun errore di avvio registrato"
|
|
896
|
+
empty_body: "Nessun processo è morto durante l’avvio negli ultimi %{days} giorni."
|
|
897
|
+
how_title: "Come vengono catturati gli errori di avvio:"
|
|
898
|
+
how_enabled_html: "La cattura dei crash deve essere attiva (%{option})"
|
|
899
|
+
how_hooked: "RED registra il suo hook at_exit subito dopo i tuoi initializer e prima dell’eager loading di Rails, così un crash durante l’avvio viene visto anche se l’app non ha mai finito di partire"
|
|
900
|
+
how_captured_html: "Un %{zeitwerk} da un file che definisce la costante sbagliata, un %{syntax} in un modello, un initializer che solleva un’eccezione: qualsiasi cosa uccida il processo prima che serva una richiesta"
|
|
901
|
+
how_imported: "Il crash viene scritto su disco, perché non c’è ancora un database, e importato al successivo avvio riuscito"
|
|
902
|
+
how_never: "Un processo terminato da SIGKILL o da un segfault non viene mai visto da at_exit, in nessuno strumento"
|
|
903
|
+
unresolved: "Non risolti"
|
|
904
|
+
boot_crashes: "Crash all’avvio"
|
|
905
|
+
failed_boots: "Avvii falliti"
|
|
906
|
+
all_title: "Crash all’avvio per errore"
|
|
907
|
+
column_error: "Errore"
|
|
908
|
+
column_file: "File"
|
|
909
|
+
column_constant: "Costante"
|
|
910
|
+
column_boots: "Avvii"
|
|
911
|
+
column_first_seen: "Prima occorrenza"
|
|
912
|
+
column_status: "Stato"
|
|
913
|
+
status_open: "Aperto"
|
|
914
|
+
status_resolved: "Risolto"
|
|
915
|
+
footer_tip: "Un crash all’avvio significa che il processo non ha mai servito una richiesta. Correggilo prima del prossimo deploy; la riga si risolve come qualsiasi altro errore."
|
|
916
|
+
|
|
853
917
|
rack_attack_page:
|
|
854
918
|
title: Eventi di limite di richieste
|
|
855
919
|
missing_title: Rack Attack non è installato
|
|
@@ -1080,6 +1144,10 @@ it:
|
|
|
1080
1144
|
one: "%{count} evento"
|
|
1081
1145
|
other: "%{count} eventi"
|
|
1082
1146
|
many: "%{count} eventi"
|
|
1147
|
+
occurrences:
|
|
1148
|
+
one: "%{count} occorrenza"
|
|
1149
|
+
other: "%{count} occorrenze"
|
|
1150
|
+
many: "%{count} occorrenze"
|
|
1083
1151
|
queries:
|
|
1084
1152
|
one: "%{count} query"
|
|
1085
1153
|
other: "%{count} query"
|
|
@@ -1120,7 +1188,7 @@ it:
|
|
|
1120
1188
|
unable_to_detect: Impossibile rilevare
|
|
1121
1189
|
no_user_model: Nessun modello User rilevato
|
|
1122
1190
|
unable_to_query_count: Impossibile ottenere il conteggio
|
|
1123
|
-
|
|
1191
|
+
retention_enforced_by_job: "Eliminati da RetentionCleanupJob quando lo scheduler lo esegue"
|
|
1124
1192
|
keep_forever: Conserva per sempre
|
|
1125
1193
|
no_automatic_deletion: Nessuna eliminazione automatica
|
|
1126
1194
|
run_command: 'Esegui:'
|
|
@@ -1128,8 +1196,8 @@ it:
|
|
|
1128
1196
|
options:
|
|
1129
1197
|
enable_middleware: Intercetta le eccezioni non gestite
|
|
1130
1198
|
enable_error_subscriber: Si iscrive agli eventi di errore di Rails
|
|
1131
|
-
retention_days:
|
|
1132
|
-
|
|
1199
|
+
retention_days: "Elimina gli errori non visti da questo numero di giorni. Applicato da RetentionCleanupJob, che la gem non pianifica da sola"
|
|
1200
|
+
occurrence_context_limit: "Quante occorrenze recenti per errore conservano breadcrumbs, stato del sistema e variabili (0 = disattivato)"
|
|
1133
1201
|
max_backtrace_lines: Limite di profondità dello stack trace
|
|
1134
1202
|
sampling_rate: Percentuale di errori acquisiti
|
|
1135
1203
|
application_name: Nome di questa applicazione (rilevato automaticamente se
|
|
@@ -1148,7 +1216,7 @@ it:
|
|
|
1148
1216
|
se non impostato)
|
|
1149
1217
|
async_logging: Elaborazione in job in background
|
|
1150
1218
|
async_adapter: Adapter della coda dei job
|
|
1151
|
-
enable_rate_limiting: Limita le richieste
|
|
1219
|
+
enable_rate_limiting: "Limita le richieste della dashboard per IP e percorso"
|
|
1152
1220
|
rate_limit_per_minute: Richieste al minuto per IP
|
|
1153
1221
|
enable_slack_notifications: Notifiche in tempo reale
|
|
1154
1222
|
slack_webhook_url: Endpoint del webhook di Slack
|
|
@@ -1157,10 +1225,15 @@ it:
|
|
|
1157
1225
|
notification_email_from: Indirizzo del mittente
|
|
1158
1226
|
enable_discord_notifications: Notifiche tramite webhook di Discord
|
|
1159
1227
|
discord_webhook_url: Endpoint del webhook di Discord
|
|
1228
|
+
enable_telegram_notifications: "Notifiche Telegram tramite la Bot API"
|
|
1229
|
+
telegram_bot_token: "Token del bot da @BotFather (impostare la variabile d'ambiente TELEGRAM_BOT_TOKEN)"
|
|
1230
|
+
telegram_chat_id: "Chat, gruppo o canale in cui scrive il bot"
|
|
1231
|
+
telegram_api_base_url: "Server della Bot API (da cambiare solo per un proxy o un server self-hosted)"
|
|
1160
1232
|
enable_pagerduty_notifications: Escalation degli errori critici
|
|
1161
1233
|
pagerduty_integration_key: Chiave API di PagerDuty
|
|
1162
1234
|
enable_webhook_notifications: Endpoint webhook generici
|
|
1163
1235
|
webhook_urls: Endpoint webhook personalizzati
|
|
1236
|
+
webhook_signing_secret: Firma i webhook in uscita con HMAC-SHA256 (imposta la variabile d’ambiente WEBHOOK_SIGNING_SECRET)
|
|
1164
1237
|
enable_scheduled_digests: E-mail di riepilogo giornaliere/settimanali. Pianifica
|
|
1165
1238
|
tramite SolidQueue, Sidekiq o cron
|
|
1166
1239
|
digest_frequency: Con quale frequenza inviare le e-mail di riepilogo
|
|
@@ -1181,7 +1254,7 @@ it:
|
|
|
1181
1254
|
source_code_context_lines: Righe prima e dopo quella di riferimento
|
|
1182
1255
|
enable_git_blame: Mostra le informazioni di git blame
|
|
1183
1256
|
source_code_cache_ttl: Durata della cache del codice sorgente
|
|
1184
|
-
only_show_app_code_source: Nascondi
|
|
1257
|
+
only_show_app_code_source: "Nascondi il codice di gem e vendor nel visualizzatore del codice"
|
|
1185
1258
|
git_branch_strategy: Strategia di risoluzione del branch
|
|
1186
1259
|
enable_breadcrumbs: Acquisisci la traccia delle attività della richiesta
|
|
1187
1260
|
breadcrumb_buffer_size: Numero massimo di breadcrumbs per richiesta
|
|
@@ -1214,6 +1287,7 @@ it:
|
|
|
1214
1287
|
enable_crash_capture: Hook at_exit per i crash non gestiti
|
|
1215
1288
|
enable_coverage_tracking: Modalità diagnostica — abilitala dal pannello per
|
|
1216
1289
|
vedere le righe eseguite nella vista del codice (Ruby 3.2+)
|
|
1290
|
+
enable_missing_translation_tracking: "Conta i fallimenti I18n dell'app per locale e chiave (avvolge I18n.exception_handler)"
|
|
1217
1291
|
enable_rack_attack_tracking: Registra gli eventi throttle/blocklist in una
|
|
1218
1292
|
tabella dedicata
|
|
1219
1293
|
enable_actioncable_tracking: Traccia gli eventi dei canali WebSocket come
|
|
@@ -1271,6 +1345,8 @@ it:
|
|
|
1271
1345
|
breadcrumbs: Breadcrumbs
|
|
1272
1346
|
system_health: Stato del sistema
|
|
1273
1347
|
swallowed_exceptions: Rilevamento delle eccezioni soppresse
|
|
1348
|
+
missing_translations: "Tracciamento delle traduzioni mancanti"
|
|
1349
|
+
boot_errors: "Cattura degli errori di avvio"
|
|
1274
1350
|
rack_attack: Tracciamento di Rack Attack
|
|
1275
1351
|
actioncable: Tracciamento di ActionCable
|
|
1276
1352
|
activestorage: Tracciamento di ActiveStorage
|
|
@@ -1682,6 +1758,13 @@ it:
|
|
|
1682
1758
|
guide_link: Guida ad ActionCable
|
|
1683
1759
|
activestorage:
|
|
1684
1760
|
title: Stato di ActiveStorage
|
|
1761
|
+
probe:
|
|
1762
|
+
title: "Raggiungibilità del servizio"
|
|
1763
|
+
reachable: "Raggiungibile"
|
|
1764
|
+
unreachable: "Non raggiungibile"
|
|
1765
|
+
service: "Servizio: %{name}"
|
|
1766
|
+
latency: "%{ms} ms andata e ritorno"
|
|
1767
|
+
how: "Un controllo di esistenza su una chiave mai memorizzata, eseguito al caricamento di questa pagina. GET /health esegue la stessa verifica."
|
|
1685
1768
|
empty:
|
|
1686
1769
|
title: Nessun evento ActiveStorage trovato
|
|
1687
1770
|
message: Negli ultimi %{days} giorni non sono state rilevate operazioni
|
data/config/locales/ja.yml
CHANGED
|
@@ -36,6 +36,8 @@ ja:
|
|
|
36
36
|
healthy: "✅ 正常"
|
|
37
37
|
warning: "⚠️ 警告"
|
|
38
38
|
critical: "\U0001F534 重大"
|
|
39
|
+
not_rated: "評価なし"
|
|
40
|
+
not_rated_hint: "評価はプラットフォーム同士の比較なので、2つ以上のプラットフォームのエラーが必要です。"
|
|
39
41
|
device_type:
|
|
40
42
|
mobile: モバイル
|
|
41
43
|
tablet: タブレット
|
|
@@ -60,6 +62,8 @@ ja:
|
|
|
60
62
|
llm: LLM
|
|
61
63
|
n_plus_one: N+1 クエリ
|
|
62
64
|
deprecations: 非推奨
|
|
65
|
+
missing_translations: "翻訳"
|
|
66
|
+
boot_errors: "起動エラー"
|
|
63
67
|
swallowed: 握りつぶし
|
|
64
68
|
diagnostic_dumps: 診断
|
|
65
69
|
storms: ストーム
|
|
@@ -231,6 +235,10 @@ ja:
|
|
|
231
235
|
inactive_body: 有効にすると実行された行を確認できます
|
|
232
236
|
enable: 有効にする
|
|
233
237
|
disable: 無効にする
|
|
238
|
+
occurrence:
|
|
239
|
+
title: "発生 #%{id}"
|
|
240
|
+
body: "Breadcrumb、システムヘルス、変数はこの発生時のものです。それ以外は最新のキャプチャを表示しています。"
|
|
241
|
+
show_latest: "最新を表示"
|
|
234
242
|
baselines:
|
|
235
243
|
title: ベースライン統計
|
|
236
244
|
anomaly_label: '異常:'
|
|
@@ -452,6 +460,14 @@ ja:
|
|
|
452
460
|
more:
|
|
453
461
|
other: 他%{count}件
|
|
454
462
|
view_errors: エラーを表示
|
|
463
|
+
captured_occurrences:
|
|
464
|
+
title: "記録された発生"
|
|
465
|
+
hint: "Breadcrumb、システムヘルス、変数は最新の発生分だけ保持されます(occurrence_context_limit)。発生を開くと確認できます。"
|
|
466
|
+
column_occurrence: "発生"
|
|
467
|
+
column_occurred_at: "発生日時"
|
|
468
|
+
column_version: "バージョン"
|
|
469
|
+
view: "表示"
|
|
470
|
+
viewing: "表示中"
|
|
455
471
|
co_occurring:
|
|
456
472
|
title: 同時発生エラー
|
|
457
473
|
badge: 時間パターン
|
|
@@ -680,6 +696,7 @@ ja:
|
|
|
680
696
|
other: "%{count}フレーム"
|
|
681
697
|
click_to_expand: "(クリックで展開)"
|
|
682
698
|
view_source: ソースを表示
|
|
699
|
+
client_report_note: "これらのフレームはクライアントからの報告(ManualErrorReporter)によるものです。クライアント側で実行されたコードを示すため、RED はソースファイルを開かず、コード片の表示や git blame も行いません。"
|
|
683
700
|
none: Backtrace はありません
|
|
684
701
|
row:
|
|
685
702
|
new_badge: NEW
|
|
@@ -756,6 +773,53 @@ ja:
|
|
|
756
773
|
column_ratio: 比率
|
|
757
774
|
view_unrescued: error_log に記録された未 rescue の%{exception}エラーを表示
|
|
758
775
|
footer_tip: 握りつぶされた例外とは、raise された後に暗黙的に rescue された例外です。実際の不具合を隠している可能性があります。
|
|
776
|
+
missing_translations_page:
|
|
777
|
+
title: "翻訳の欠落"
|
|
778
|
+
empty_title: "欠落した翻訳は記録されていません"
|
|
779
|
+
empty_body: "過去 %{days} 日間に欠落した翻訳キーは記録されていません。"
|
|
780
|
+
how_title: "翻訳の欠落を追跡する仕組み:"
|
|
781
|
+
how_enabled_html: "追跡を有効にする必要があります(%{option})"
|
|
782
|
+
how_hooked: "RED は I18n.exception_handler をラップし、アプリが元々使っていたハンドラーに処理を委譲します。それ以外の I18n 設定は変更しません"
|
|
783
|
+
how_recorded: "ハンドラーに到達した検索は、I18n.t でもビューヘルパー t() でも、ロケールとキーごとに、最初に観測された呼び出し元とともに数えられます"
|
|
784
|
+
how_not_seen: ":default を指定した検索は欠落になりません。raise_on_missing_translations を使った検索はハンドラーが動く前に例外を投げるため、どちらもここでは数えられません"
|
|
785
|
+
how_buffered: "欠落はメモリ上で数えられ、リクエストまたはジョブの終了時に書き込まれるため、表示されるまで少し時間がかかります"
|
|
786
|
+
missing_keys: "欠落キー"
|
|
787
|
+
total_misses: "欠落の合計"
|
|
788
|
+
locales_affected: "影響を受けたロケール"
|
|
789
|
+
all_title: "欠落している翻訳キー"
|
|
790
|
+
column_key: "キー"
|
|
791
|
+
column_locale: "ロケール"
|
|
792
|
+
column_source: "最初の検出箇所"
|
|
793
|
+
column_misses: "欠落数"
|
|
794
|
+
column_first_seen: "初回検出"
|
|
795
|
+
overflow_notice: "トラッカーのバッファ(スレッドあたり %{limit} キー)が満杯だったため、%{count} 件の欠落をキーに割り当てられませんでした。"
|
|
796
|
+
footer_tip: "ロケールファイルにキーを追加するか、:default を渡してください。実際にユーザーが遭遇したキーが先に表示されます。"
|
|
797
|
+
docs: "Rails i18n ガイド"
|
|
798
|
+
|
|
799
|
+
boot_errors_page:
|
|
800
|
+
title: "起動エラー"
|
|
801
|
+
empty_title: "起動エラーは記録されていません"
|
|
802
|
+
empty_body: "過去 %{days} 日間に起動中に終了したプロセスはありません。"
|
|
803
|
+
how_title: "起動エラーを捕捉する仕組み:"
|
|
804
|
+
how_enabled_html: "クラッシュ捕捉を有効にする必要があります(%{option})"
|
|
805
|
+
how_hooked: "RED は initializer の直後、Rails の eager load の前に at_exit フックを登録するため、アプリが起動し切る前のクラッシュも捕捉されます"
|
|
806
|
+
how_captured_html: "誤った定数を定義したファイルによる %{zeitwerk}、モデル内の %{syntax}、例外を投げた initializer など、リクエストを処理する前にプロセスを終了させるもの"
|
|
807
|
+
how_imported: "この時点ではデータベースがないためクラッシュはディスクに書き込まれ、次に起動が成功したときに取り込まれます"
|
|
808
|
+
how_never: "SIGKILL やセグメンテーション違反で終了したプロセスは、どのツールでも at_exit では捕捉できません"
|
|
809
|
+
unresolved: "未解決"
|
|
810
|
+
boot_crashes: "起動クラッシュ"
|
|
811
|
+
failed_boots: "失敗した起動"
|
|
812
|
+
all_title: "エラー別の起動クラッシュ"
|
|
813
|
+
column_error: "エラー"
|
|
814
|
+
column_file: "ファイル"
|
|
815
|
+
column_constant: "定数"
|
|
816
|
+
column_boots: "起動回数"
|
|
817
|
+
column_first_seen: "初回検出"
|
|
818
|
+
column_status: "状態"
|
|
819
|
+
status_open: "未対応"
|
|
820
|
+
status_resolved: "解決済み"
|
|
821
|
+
footer_tip: "起動クラッシュはプロセスが一度もリクエストを処理しなかったことを意味します。次のデプロイ前に修正してください。行は他のエラーと同様に解決できます。"
|
|
822
|
+
|
|
759
823
|
rack_attack_page:
|
|
760
824
|
title: レート制限イベント
|
|
761
825
|
missing_title: Rack Attack がインストールされていません
|
|
@@ -942,6 +1006,8 @@ ja:
|
|
|
942
1006
|
other: "%{count}秒"
|
|
943
1007
|
events:
|
|
944
1008
|
other: "%{count}件のイベント"
|
|
1009
|
+
occurrences:
|
|
1010
|
+
other: "%{count}件の発生"
|
|
945
1011
|
queries:
|
|
946
1012
|
other: "%{count}クエリ"
|
|
947
1013
|
std_devs: "%{count}σ"
|
|
@@ -972,7 +1038,7 @@ ja:
|
|
|
972
1038
|
unable_to_detect: 検出できません
|
|
973
1039
|
no_user_model: User モデルが見つかりません
|
|
974
1040
|
unable_to_query_count: 件数を取得できません
|
|
975
|
-
|
|
1041
|
+
retention_enforced_by_job: "スケジューラーが RetentionCleanupJob を実行すると削除されます"
|
|
976
1042
|
keep_forever: 無期限に保持
|
|
977
1043
|
no_automatic_deletion: 自動削除は行いません
|
|
978
1044
|
run_command: '実行:'
|
|
@@ -980,7 +1046,8 @@ ja:
|
|
|
980
1046
|
options:
|
|
981
1047
|
enable_middleware: 未処理の例外を捕捉します
|
|
982
1048
|
enable_error_subscriber: Rails のエラーイベントを購読します
|
|
983
|
-
retention_days:
|
|
1049
|
+
retention_days: "この日数の間発生しなかったエラーを削除します。RetentionCleanupJob が実行しますが、gem 自体はスケジュールしません"
|
|
1050
|
+
occurrence_context_limit: "エラーごとに Breadcrumb、システムヘルス、変数を保持する最新の発生数(0 = 無効)"
|
|
984
1051
|
max_backtrace_lines: スタックトレースの深さの上限
|
|
985
1052
|
sampling_rate: エラーを記録する割合
|
|
986
1053
|
application_name: このアプリケーションの名前 (未設定の場合は自動検出)
|
|
@@ -994,7 +1061,7 @@ ja:
|
|
|
994
1061
|
total_users_for_impact: 影響率の算出に使用 (未設定の場合は自動検出)
|
|
995
1062
|
async_logging: バックグラウンドジョブで処理します
|
|
996
1063
|
async_adapter: ジョブキューのアダプタ
|
|
997
|
-
enable_rate_limiting:
|
|
1064
|
+
enable_rate_limiting: "ダッシュボードへのリクエストを IP とパスごとに制限します"
|
|
998
1065
|
rate_limit_per_minute: IP ごとの1分あたりのリクエスト数
|
|
999
1066
|
enable_slack_notifications: リアルタイム通知
|
|
1000
1067
|
slack_webhook_url: Slack の webhook エンドポイント
|
|
@@ -1003,10 +1070,15 @@ ja:
|
|
|
1003
1070
|
notification_email_from: 送信元アドレス
|
|
1004
1071
|
enable_discord_notifications: Discord の webhook 通知
|
|
1005
1072
|
discord_webhook_url: Discord の webhook エンドポイント
|
|
1073
|
+
enable_telegram_notifications: "Telegram Bot API 通知"
|
|
1074
|
+
telegram_bot_token: "@BotFather のボットトークン(環境変数 TELEGRAM_BOT_TOKEN を設定)"
|
|
1075
|
+
telegram_chat_id: "ボットが投稿するチャット・グループ・チャンネル"
|
|
1076
|
+
telegram_api_base_url: "Bot API サーバー(プロキシやセルフホストの場合のみ変更)"
|
|
1006
1077
|
enable_pagerduty_notifications: 重大なエラーのエスカレーション
|
|
1007
1078
|
pagerduty_integration_key: PagerDuty の API キー
|
|
1008
1079
|
enable_webhook_notifications: 汎用の webhook エンドポイント
|
|
1009
1080
|
webhook_urls: カスタム webhook エンドポイント
|
|
1081
|
+
webhook_signing_secret: 送信 webhook に HMAC-SHA256 署名を付けます(環境変数 WEBHOOK_SIGNING_SECRET を設定)
|
|
1010
1082
|
enable_scheduled_digests: 日次/週次のサマリーメール。SolidQueue、Sidekiq、cron でスケジュールします
|
|
1011
1083
|
digest_frequency: ダイジェストメールの送信頻度
|
|
1012
1084
|
digest_recipients: メールアドレス (未設定の場合は通知の宛先を使用)
|
|
@@ -1024,7 +1096,7 @@ ja:
|
|
|
1024
1096
|
source_code_context_lines: 対象行の前後に表示する行数
|
|
1025
1097
|
enable_git_blame: git blame の情報を表示します
|
|
1026
1098
|
source_code_cache_ttl: ソースコードのキャッシュ保持時間
|
|
1027
|
-
only_show_app_code_source:
|
|
1099
|
+
only_show_app_code_source: "ソースビューアーで gem と vendor のコードを非表示にします"
|
|
1028
1100
|
git_branch_strategy: ブランチの解決方法
|
|
1029
1101
|
enable_breadcrumbs: リクエストの操作履歴を記録します
|
|
1030
1102
|
breadcrumb_buffer_size: リクエストあたりの breadcrumb の最大数
|
|
@@ -1049,6 +1121,7 @@ ja:
|
|
|
1049
1121
|
enable_crash_capture: 未処理のクラッシュを捕捉する at_exit フック
|
|
1050
1122
|
enable_coverage_tracking: 診断モード — ダッシュボードから有効にすると、ソース表示で実行された行を確認できます (Ruby
|
|
1051
1123
|
3.2 以上)
|
|
1124
|
+
enable_missing_translation_tracking: "アプリの I18n 欠落をロケールとキーごとに数えます(I18n.exception_handler をラップ)"
|
|
1052
1125
|
enable_rack_attack_tracking: throttle/blocklist イベントを専用テーブルに記録します
|
|
1053
1126
|
enable_actioncable_tracking: WebSocket のチャネルイベントを breadcrumb として記録します
|
|
1054
1127
|
enable_activestorage_tracking: アップロード/ダウンロード/削除を breadcrumb として記録します
|
|
@@ -1094,6 +1167,8 @@ ja:
|
|
|
1094
1167
|
breadcrumbs: Breadcrumb
|
|
1095
1168
|
system_health: システムヘルス
|
|
1096
1169
|
swallowed_exceptions: 握りつぶされた例外の検出
|
|
1170
|
+
missing_translations: "翻訳欠落の追跡"
|
|
1171
|
+
boot_errors: "起動エラーの捕捉"
|
|
1097
1172
|
rack_attack: Rack Attack トラッキング
|
|
1098
1173
|
actioncable: ActionCable トラッキング
|
|
1099
1174
|
activestorage: ActiveStorage トラッキング
|
|
@@ -1462,6 +1537,13 @@ ja:
|
|
|
1462
1537
|
guide_link: ActionCable ガイド
|
|
1463
1538
|
activestorage:
|
|
1464
1539
|
title: ActiveStorage の状態
|
|
1540
|
+
probe:
|
|
1541
|
+
title: "サービスの到達性"
|
|
1542
|
+
reachable: "到達可能"
|
|
1543
|
+
unreachable: "到達不能"
|
|
1544
|
+
service: "サービス: %{name}"
|
|
1545
|
+
latency: "往復 %{ms} ms"
|
|
1546
|
+
how: "このページの読み込み時に、保存されることのないキーの存在確認を 1 回行います。GET /health も同じ検査を実行します。"
|
|
1465
1547
|
empty:
|
|
1466
1548
|
title: ActiveStorage のイベントが見つかりません
|
|
1467
1549
|
message: 過去%{days}日間、エラーの breadcrumb から ActiveStorage のサービス操作は検出されませんでした。
|