rails_error_dashboard 0.14.4 → 0.15.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 +12 -5
- data/app/controllers/rails_error_dashboard/application_controller.rb +28 -4
- data/app/controllers/rails_error_dashboard/errors_controller.rb +68 -2
- data/app/controllers/rails_error_dashboard/health_controller.rb +38 -0
- data/app/helpers/rails_error_dashboard/application_helper.rb +2 -2
- data/app/helpers/rails_error_dashboard/backtrace_helper.rb +56 -2
- 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 +26 -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 +43 -12
- data/app/models/rails_error_dashboard/missing_translation.rb +43 -0
- data/app/views/layouts/rails_error_dashboard.html.erb +11 -1
- data/app/views/rails_error_dashboard/errors/_error_info.html.erb +3 -1
- 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/settings/_value_badge.html.erb +7 -4
- data/app/views/rails_error_dashboard/errors/settings.html.erb +19 -5
- data/config/locales/de.yml +68 -5
- data/config/locales/en.yml +78 -4
- data/config/locales/es.yml +68 -5
- data/config/locales/fr.yml +68 -5
- data/config/locales/it.yml +68 -5
- data/config/locales/ja.yml +68 -4
- data/config/locales/pl.yml +68 -5
- data/config/locales/pt-BR.yml +68 -5
- data/config/locales/ru.yml +68 -5
- data/config/locales/uk.yml +68 -5
- data/config/locales/zh-CN.yml +68 -4
- data/config/routes.rb +6 -0
- data/db/migrate/20251223000000_create_rails_error_dashboard_complete_schema.rb +10 -2
- data/db/migrate/20261010000001_create_missing_translations.rb +50 -0
- data/lib/generators/rails_error_dashboard/install/install_generator.rb +9 -4
- data/lib/generators/rails_error_dashboard/install/templates/initializer.rb +27 -0
- data/lib/rails_error_dashboard/commands/assign_error.rb +24 -1
- data/lib/rails_error_dashboard/commands/batch_resolve_errors.rb +9 -1
- data/lib/rails_error_dashboard/commands/flush_missing_translations.rb +103 -0
- data/lib/rails_error_dashboard/commands/log_error.rb +1 -1
- 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 +42 -1
- data/lib/rails_error_dashboard/engine.rb +42 -1
- 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/boot_errors.rb +76 -0
- 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/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 +15 -0
- data/lib/rails_error_dashboard/services/baseline_alert_payload_builder.rb +30 -0
- data/lib/rails_error_dashboard/services/crash_capture.rb +85 -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 -9
- 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/resolution_callbacks.rb +44 -0
- data/lib/rails_error_dashboard/services/severity_classifier.rb +52 -0
- data/lib/rails_error_dashboard/services/source_code_reader.rb +23 -3
- 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/version.rb +1 -1
- data/lib/rails_error_dashboard.rb +12 -0
- metadata +21 -2
data/config/locales/it.yml
CHANGED
|
@@ -60,6 +60,8 @@ it:
|
|
|
60
60
|
llm: LLM
|
|
61
61
|
n_plus_one: Query N+1
|
|
62
62
|
deprecations: Deprecations
|
|
63
|
+
missing_translations: "Traduzioni"
|
|
64
|
+
boot_errors: "Errori di avvio"
|
|
63
65
|
swallowed: Soppresse
|
|
64
66
|
diagnostic_dumps: Diagnostica
|
|
65
67
|
storms: Tempeste
|
|
@@ -850,6 +852,53 @@ it:
|
|
|
850
852
|
view_unrescued: Vedi gli errori %{exception} non intercettati finiti in error_log
|
|
851
853
|
footer_tip: Le eccezioni soppresse vengono sollevate e poi intercettate in
|
|
852
854
|
silenzio. Possono nascondere bug reali.
|
|
855
|
+
missing_translations_page:
|
|
856
|
+
title: "Traduzioni mancanti"
|
|
857
|
+
empty_title: "Nessuna traduzione mancante registrata"
|
|
858
|
+
empty_body: "Nessuna chiave di traduzione mancante è stata registrata negli ultimi %{days} giorni."
|
|
859
|
+
how_title: "Come vengono tracciate le traduzioni mancanti:"
|
|
860
|
+
how_enabled_html: "Il tracciamento deve essere attivo (%{option})"
|
|
861
|
+
how_hooked: "RED avvolge I18n.exception_handler e delega all'handler che la tua app aveva già; nient'altro cambia nella tua configurazione I18n"
|
|
862
|
+
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"
|
|
863
|
+
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"
|
|
864
|
+
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"
|
|
865
|
+
missing_keys: "Chiavi mancanti"
|
|
866
|
+
total_misses: "Fallimenti totali"
|
|
867
|
+
locales_affected: "Locale interessati"
|
|
868
|
+
all_title: "Chiavi di traduzione mancanti"
|
|
869
|
+
column_key: "Chiave"
|
|
870
|
+
column_locale: "Locale"
|
|
871
|
+
column_source: "Visto prima in"
|
|
872
|
+
column_misses: "Fallimenti"
|
|
873
|
+
column_first_seen: "Prima occorrenza"
|
|
874
|
+
overflow_notice: "%{count} fallimenti non sono stati attribuiti a una chiave perché il buffer del tracker (%{limit} chiavi per thread) era pieno."
|
|
875
|
+
footer_tip: "Aggiungi la chiave al file di locale, oppure passa un :default. Le chiavi effettivamente incontrate dagli utenti sono elencate per prime."
|
|
876
|
+
docs: "Guida i18n di Rails"
|
|
877
|
+
|
|
878
|
+
boot_errors_page:
|
|
879
|
+
title: "Errori di avvio"
|
|
880
|
+
empty_title: "Nessun errore di avvio registrato"
|
|
881
|
+
empty_body: "Nessun processo è morto durante l’avvio negli ultimi %{days} giorni."
|
|
882
|
+
how_title: "Come vengono catturati gli errori di avvio:"
|
|
883
|
+
how_enabled_html: "La cattura dei crash deve essere attiva (%{option})"
|
|
884
|
+
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"
|
|
885
|
+
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"
|
|
886
|
+
how_imported: "Il crash viene scritto su disco, perché non c’è ancora un database, e importato al successivo avvio riuscito"
|
|
887
|
+
how_never: "Un processo terminato da SIGKILL o da un segfault non viene mai visto da at_exit, in nessuno strumento"
|
|
888
|
+
unresolved: "Non risolti"
|
|
889
|
+
boot_crashes: "Crash all’avvio"
|
|
890
|
+
failed_boots: "Avvii falliti"
|
|
891
|
+
all_title: "Crash all’avvio per errore"
|
|
892
|
+
column_error: "Errore"
|
|
893
|
+
column_file: "File"
|
|
894
|
+
column_constant: "Costante"
|
|
895
|
+
column_boots: "Avvii"
|
|
896
|
+
column_first_seen: "Prima occorrenza"
|
|
897
|
+
column_status: "Stato"
|
|
898
|
+
status_open: "Aperto"
|
|
899
|
+
status_resolved: "Risolto"
|
|
900
|
+
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."
|
|
901
|
+
|
|
853
902
|
rack_attack_page:
|
|
854
903
|
title: Eventi di limite di richieste
|
|
855
904
|
missing_title: Rack Attack non è installato
|
|
@@ -1120,7 +1169,7 @@ it:
|
|
|
1120
1169
|
unable_to_detect: Impossibile rilevare
|
|
1121
1170
|
no_user_model: Nessun modello User rilevato
|
|
1122
1171
|
unable_to_query_count: Impossibile ottenere il conteggio
|
|
1123
|
-
|
|
1172
|
+
retention_enforced_by_job: "Eliminati da RetentionCleanupJob quando lo scheduler lo esegue"
|
|
1124
1173
|
keep_forever: Conserva per sempre
|
|
1125
1174
|
no_automatic_deletion: Nessuna eliminazione automatica
|
|
1126
1175
|
run_command: 'Esegui:'
|
|
@@ -1128,8 +1177,7 @@ it:
|
|
|
1128
1177
|
options:
|
|
1129
1178
|
enable_middleware: Intercetta le eccezioni non gestite
|
|
1130
1179
|
enable_error_subscriber: Si iscrive agli eventi di errore di Rails
|
|
1131
|
-
retention_days:
|
|
1132
|
-
DAYS=90)'
|
|
1180
|
+
retention_days: "Elimina gli errori non visti da questo numero di giorni. Applicato da RetentionCleanupJob, che la gem non pianifica da sola"
|
|
1133
1181
|
max_backtrace_lines: Limite di profondità dello stack trace
|
|
1134
1182
|
sampling_rate: Percentuale di errori acquisiti
|
|
1135
1183
|
application_name: Nome di questa applicazione (rilevato automaticamente se
|
|
@@ -1148,7 +1196,7 @@ it:
|
|
|
1148
1196
|
se non impostato)
|
|
1149
1197
|
async_logging: Elaborazione in job in background
|
|
1150
1198
|
async_adapter: Adapter della coda dei job
|
|
1151
|
-
enable_rate_limiting: Limita le richieste
|
|
1199
|
+
enable_rate_limiting: "Limita le richieste della dashboard per IP e percorso"
|
|
1152
1200
|
rate_limit_per_minute: Richieste al minuto per IP
|
|
1153
1201
|
enable_slack_notifications: Notifiche in tempo reale
|
|
1154
1202
|
slack_webhook_url: Endpoint del webhook di Slack
|
|
@@ -1157,10 +1205,15 @@ it:
|
|
|
1157
1205
|
notification_email_from: Indirizzo del mittente
|
|
1158
1206
|
enable_discord_notifications: Notifiche tramite webhook di Discord
|
|
1159
1207
|
discord_webhook_url: Endpoint del webhook di Discord
|
|
1208
|
+
enable_telegram_notifications: "Notifiche Telegram tramite la Bot API"
|
|
1209
|
+
telegram_bot_token: "Token del bot da @BotFather (impostare la variabile d'ambiente TELEGRAM_BOT_TOKEN)"
|
|
1210
|
+
telegram_chat_id: "Chat, gruppo o canale in cui scrive il bot"
|
|
1211
|
+
telegram_api_base_url: "Server della Bot API (da cambiare solo per un proxy o un server self-hosted)"
|
|
1160
1212
|
enable_pagerduty_notifications: Escalation degli errori critici
|
|
1161
1213
|
pagerduty_integration_key: Chiave API di PagerDuty
|
|
1162
1214
|
enable_webhook_notifications: Endpoint webhook generici
|
|
1163
1215
|
webhook_urls: Endpoint webhook personalizzati
|
|
1216
|
+
webhook_signing_secret: Firma i webhook in uscita con HMAC-SHA256 (imposta la variabile d’ambiente WEBHOOK_SIGNING_SECRET)
|
|
1164
1217
|
enable_scheduled_digests: E-mail di riepilogo giornaliere/settimanali. Pianifica
|
|
1165
1218
|
tramite SolidQueue, Sidekiq o cron
|
|
1166
1219
|
digest_frequency: Con quale frequenza inviare le e-mail di riepilogo
|
|
@@ -1181,7 +1234,7 @@ it:
|
|
|
1181
1234
|
source_code_context_lines: Righe prima e dopo quella di riferimento
|
|
1182
1235
|
enable_git_blame: Mostra le informazioni di git blame
|
|
1183
1236
|
source_code_cache_ttl: Durata della cache del codice sorgente
|
|
1184
|
-
only_show_app_code_source: Nascondi
|
|
1237
|
+
only_show_app_code_source: "Nascondi il codice di gem e vendor nel visualizzatore del codice"
|
|
1185
1238
|
git_branch_strategy: Strategia di risoluzione del branch
|
|
1186
1239
|
enable_breadcrumbs: Acquisisci la traccia delle attività della richiesta
|
|
1187
1240
|
breadcrumb_buffer_size: Numero massimo di breadcrumbs per richiesta
|
|
@@ -1214,6 +1267,7 @@ it:
|
|
|
1214
1267
|
enable_crash_capture: Hook at_exit per i crash non gestiti
|
|
1215
1268
|
enable_coverage_tracking: Modalità diagnostica — abilitala dal pannello per
|
|
1216
1269
|
vedere le righe eseguite nella vista del codice (Ruby 3.2+)
|
|
1270
|
+
enable_missing_translation_tracking: "Conta i fallimenti I18n dell'app per locale e chiave (avvolge I18n.exception_handler)"
|
|
1217
1271
|
enable_rack_attack_tracking: Registra gli eventi throttle/blocklist in una
|
|
1218
1272
|
tabella dedicata
|
|
1219
1273
|
enable_actioncable_tracking: Traccia gli eventi dei canali WebSocket come
|
|
@@ -1271,6 +1325,8 @@ it:
|
|
|
1271
1325
|
breadcrumbs: Breadcrumbs
|
|
1272
1326
|
system_health: Stato del sistema
|
|
1273
1327
|
swallowed_exceptions: Rilevamento delle eccezioni soppresse
|
|
1328
|
+
missing_translations: "Tracciamento delle traduzioni mancanti"
|
|
1329
|
+
boot_errors: "Cattura degli errori di avvio"
|
|
1274
1330
|
rack_attack: Tracciamento di Rack Attack
|
|
1275
1331
|
actioncable: Tracciamento di ActionCable
|
|
1276
1332
|
activestorage: Tracciamento di ActiveStorage
|
|
@@ -1682,6 +1738,13 @@ it:
|
|
|
1682
1738
|
guide_link: Guida ad ActionCable
|
|
1683
1739
|
activestorage:
|
|
1684
1740
|
title: Stato di ActiveStorage
|
|
1741
|
+
probe:
|
|
1742
|
+
title: "Raggiungibilità del servizio"
|
|
1743
|
+
reachable: "Raggiungibile"
|
|
1744
|
+
unreachable: "Non raggiungibile"
|
|
1745
|
+
service: "Servizio: %{name}"
|
|
1746
|
+
latency: "%{ms} ms andata e ritorno"
|
|
1747
|
+
how: "Un controllo di esistenza su una chiave mai memorizzata, eseguito al caricamento di questa pagina. GET /health esegue la stessa verifica."
|
|
1685
1748
|
empty:
|
|
1686
1749
|
title: Nessun evento ActiveStorage trovato
|
|
1687
1750
|
message: Negli ultimi %{days} giorni non sono state rilevate operazioni
|
data/config/locales/ja.yml
CHANGED
|
@@ -60,6 +60,8 @@ ja:
|
|
|
60
60
|
llm: LLM
|
|
61
61
|
n_plus_one: N+1 クエリ
|
|
62
62
|
deprecations: 非推奨
|
|
63
|
+
missing_translations: "翻訳"
|
|
64
|
+
boot_errors: "起動エラー"
|
|
63
65
|
swallowed: 握りつぶし
|
|
64
66
|
diagnostic_dumps: 診断
|
|
65
67
|
storms: ストーム
|
|
@@ -756,6 +758,53 @@ ja:
|
|
|
756
758
|
column_ratio: 比率
|
|
757
759
|
view_unrescued: error_log に記録された未 rescue の%{exception}エラーを表示
|
|
758
760
|
footer_tip: 握りつぶされた例外とは、raise された後に暗黙的に rescue された例外です。実際の不具合を隠している可能性があります。
|
|
761
|
+
missing_translations_page:
|
|
762
|
+
title: "翻訳の欠落"
|
|
763
|
+
empty_title: "欠落した翻訳は記録されていません"
|
|
764
|
+
empty_body: "過去 %{days} 日間に欠落した翻訳キーは記録されていません。"
|
|
765
|
+
how_title: "翻訳の欠落を追跡する仕組み:"
|
|
766
|
+
how_enabled_html: "追跡を有効にする必要があります(%{option})"
|
|
767
|
+
how_hooked: "RED は I18n.exception_handler をラップし、アプリが元々使っていたハンドラーに処理を委譲します。それ以外の I18n 設定は変更しません"
|
|
768
|
+
how_recorded: "ハンドラーに到達した検索は、I18n.t でもビューヘルパー t() でも、ロケールとキーごとに、最初に観測された呼び出し元とともに数えられます"
|
|
769
|
+
how_not_seen: ":default を指定した検索は欠落になりません。raise_on_missing_translations を使った検索はハンドラーが動く前に例外を投げるため、どちらもここでは数えられません"
|
|
770
|
+
how_buffered: "欠落はメモリ上で数えられ、リクエストまたはジョブの終了時に書き込まれるため、表示されるまで少し時間がかかります"
|
|
771
|
+
missing_keys: "欠落キー"
|
|
772
|
+
total_misses: "欠落の合計"
|
|
773
|
+
locales_affected: "影響を受けたロケール"
|
|
774
|
+
all_title: "欠落している翻訳キー"
|
|
775
|
+
column_key: "キー"
|
|
776
|
+
column_locale: "ロケール"
|
|
777
|
+
column_source: "最初の検出箇所"
|
|
778
|
+
column_misses: "欠落数"
|
|
779
|
+
column_first_seen: "初回検出"
|
|
780
|
+
overflow_notice: "トラッカーのバッファ(スレッドあたり %{limit} キー)が満杯だったため、%{count} 件の欠落をキーに割り当てられませんでした。"
|
|
781
|
+
footer_tip: "ロケールファイルにキーを追加するか、:default を渡してください。実際にユーザーが遭遇したキーが先に表示されます。"
|
|
782
|
+
docs: "Rails i18n ガイド"
|
|
783
|
+
|
|
784
|
+
boot_errors_page:
|
|
785
|
+
title: "起動エラー"
|
|
786
|
+
empty_title: "起動エラーは記録されていません"
|
|
787
|
+
empty_body: "過去 %{days} 日間に起動中に終了したプロセスはありません。"
|
|
788
|
+
how_title: "起動エラーを捕捉する仕組み:"
|
|
789
|
+
how_enabled_html: "クラッシュ捕捉を有効にする必要があります(%{option})"
|
|
790
|
+
how_hooked: "RED は initializer の直後、Rails の eager load の前に at_exit フックを登録するため、アプリが起動し切る前のクラッシュも捕捉されます"
|
|
791
|
+
how_captured_html: "誤った定数を定義したファイルによる %{zeitwerk}、モデル内の %{syntax}、例外を投げた initializer など、リクエストを処理する前にプロセスを終了させるもの"
|
|
792
|
+
how_imported: "この時点ではデータベースがないためクラッシュはディスクに書き込まれ、次に起動が成功したときに取り込まれます"
|
|
793
|
+
how_never: "SIGKILL やセグメンテーション違反で終了したプロセスは、どのツールでも at_exit では捕捉できません"
|
|
794
|
+
unresolved: "未解決"
|
|
795
|
+
boot_crashes: "起動クラッシュ"
|
|
796
|
+
failed_boots: "失敗した起動"
|
|
797
|
+
all_title: "エラー別の起動クラッシュ"
|
|
798
|
+
column_error: "エラー"
|
|
799
|
+
column_file: "ファイル"
|
|
800
|
+
column_constant: "定数"
|
|
801
|
+
column_boots: "起動回数"
|
|
802
|
+
column_first_seen: "初回検出"
|
|
803
|
+
column_status: "状態"
|
|
804
|
+
status_open: "未対応"
|
|
805
|
+
status_resolved: "解決済み"
|
|
806
|
+
footer_tip: "起動クラッシュはプロセスが一度もリクエストを処理しなかったことを意味します。次のデプロイ前に修正してください。行は他のエラーと同様に解決できます。"
|
|
807
|
+
|
|
759
808
|
rack_attack_page:
|
|
760
809
|
title: レート制限イベント
|
|
761
810
|
missing_title: Rack Attack がインストールされていません
|
|
@@ -972,7 +1021,7 @@ ja:
|
|
|
972
1021
|
unable_to_detect: 検出できません
|
|
973
1022
|
no_user_model: User モデルが見つかりません
|
|
974
1023
|
unable_to_query_count: 件数を取得できません
|
|
975
|
-
|
|
1024
|
+
retention_enforced_by_job: "スケジューラーが RetentionCleanupJob を実行すると削除されます"
|
|
976
1025
|
keep_forever: 無期限に保持
|
|
977
1026
|
no_automatic_deletion: 自動削除は行いません
|
|
978
1027
|
run_command: '実行:'
|
|
@@ -980,7 +1029,7 @@ ja:
|
|
|
980
1029
|
options:
|
|
981
1030
|
enable_middleware: 未処理の例外を捕捉します
|
|
982
1031
|
enable_error_subscriber: Rails のエラーイベントを購読します
|
|
983
|
-
retention_days:
|
|
1032
|
+
retention_days: "この日数の間発生しなかったエラーを削除します。RetentionCleanupJob が実行しますが、gem 自体はスケジュールしません"
|
|
984
1033
|
max_backtrace_lines: スタックトレースの深さの上限
|
|
985
1034
|
sampling_rate: エラーを記録する割合
|
|
986
1035
|
application_name: このアプリケーションの名前 (未設定の場合は自動検出)
|
|
@@ -994,7 +1043,7 @@ ja:
|
|
|
994
1043
|
total_users_for_impact: 影響率の算出に使用 (未設定の場合は自動検出)
|
|
995
1044
|
async_logging: バックグラウンドジョブで処理します
|
|
996
1045
|
async_adapter: ジョブキューのアダプタ
|
|
997
|
-
enable_rate_limiting:
|
|
1046
|
+
enable_rate_limiting: "ダッシュボードへのリクエストを IP とパスごとに制限します"
|
|
998
1047
|
rate_limit_per_minute: IP ごとの1分あたりのリクエスト数
|
|
999
1048
|
enable_slack_notifications: リアルタイム通知
|
|
1000
1049
|
slack_webhook_url: Slack の webhook エンドポイント
|
|
@@ -1003,10 +1052,15 @@ ja:
|
|
|
1003
1052
|
notification_email_from: 送信元アドレス
|
|
1004
1053
|
enable_discord_notifications: Discord の webhook 通知
|
|
1005
1054
|
discord_webhook_url: Discord の webhook エンドポイント
|
|
1055
|
+
enable_telegram_notifications: "Telegram Bot API 通知"
|
|
1056
|
+
telegram_bot_token: "@BotFather のボットトークン(環境変数 TELEGRAM_BOT_TOKEN を設定)"
|
|
1057
|
+
telegram_chat_id: "ボットが投稿するチャット・グループ・チャンネル"
|
|
1058
|
+
telegram_api_base_url: "Bot API サーバー(プロキシやセルフホストの場合のみ変更)"
|
|
1006
1059
|
enable_pagerduty_notifications: 重大なエラーのエスカレーション
|
|
1007
1060
|
pagerduty_integration_key: PagerDuty の API キー
|
|
1008
1061
|
enable_webhook_notifications: 汎用の webhook エンドポイント
|
|
1009
1062
|
webhook_urls: カスタム webhook エンドポイント
|
|
1063
|
+
webhook_signing_secret: 送信 webhook に HMAC-SHA256 署名を付けます(環境変数 WEBHOOK_SIGNING_SECRET を設定)
|
|
1010
1064
|
enable_scheduled_digests: 日次/週次のサマリーメール。SolidQueue、Sidekiq、cron でスケジュールします
|
|
1011
1065
|
digest_frequency: ダイジェストメールの送信頻度
|
|
1012
1066
|
digest_recipients: メールアドレス (未設定の場合は通知の宛先を使用)
|
|
@@ -1024,7 +1078,7 @@ ja:
|
|
|
1024
1078
|
source_code_context_lines: 対象行の前後に表示する行数
|
|
1025
1079
|
enable_git_blame: git blame の情報を表示します
|
|
1026
1080
|
source_code_cache_ttl: ソースコードのキャッシュ保持時間
|
|
1027
|
-
only_show_app_code_source:
|
|
1081
|
+
only_show_app_code_source: "ソースビューアーで gem と vendor のコードを非表示にします"
|
|
1028
1082
|
git_branch_strategy: ブランチの解決方法
|
|
1029
1083
|
enable_breadcrumbs: リクエストの操作履歴を記録します
|
|
1030
1084
|
breadcrumb_buffer_size: リクエストあたりの breadcrumb の最大数
|
|
@@ -1049,6 +1103,7 @@ ja:
|
|
|
1049
1103
|
enable_crash_capture: 未処理のクラッシュを捕捉する at_exit フック
|
|
1050
1104
|
enable_coverage_tracking: 診断モード — ダッシュボードから有効にすると、ソース表示で実行された行を確認できます (Ruby
|
|
1051
1105
|
3.2 以上)
|
|
1106
|
+
enable_missing_translation_tracking: "アプリの I18n 欠落をロケールとキーごとに数えます(I18n.exception_handler をラップ)"
|
|
1052
1107
|
enable_rack_attack_tracking: throttle/blocklist イベントを専用テーブルに記録します
|
|
1053
1108
|
enable_actioncable_tracking: WebSocket のチャネルイベントを breadcrumb として記録します
|
|
1054
1109
|
enable_activestorage_tracking: アップロード/ダウンロード/削除を breadcrumb として記録します
|
|
@@ -1094,6 +1149,8 @@ ja:
|
|
|
1094
1149
|
breadcrumbs: Breadcrumb
|
|
1095
1150
|
system_health: システムヘルス
|
|
1096
1151
|
swallowed_exceptions: 握りつぶされた例外の検出
|
|
1152
|
+
missing_translations: "翻訳欠落の追跡"
|
|
1153
|
+
boot_errors: "起動エラーの捕捉"
|
|
1097
1154
|
rack_attack: Rack Attack トラッキング
|
|
1098
1155
|
actioncable: ActionCable トラッキング
|
|
1099
1156
|
activestorage: ActiveStorage トラッキング
|
|
@@ -1462,6 +1519,13 @@ ja:
|
|
|
1462
1519
|
guide_link: ActionCable ガイド
|
|
1463
1520
|
activestorage:
|
|
1464
1521
|
title: ActiveStorage の状態
|
|
1522
|
+
probe:
|
|
1523
|
+
title: "サービスの到達性"
|
|
1524
|
+
reachable: "到達可能"
|
|
1525
|
+
unreachable: "到達不能"
|
|
1526
|
+
service: "サービス: %{name}"
|
|
1527
|
+
latency: "往復 %{ms} ms"
|
|
1528
|
+
how: "このページの読み込み時に、保存されることのないキーの存在確認を 1 回行います。GET /health も同じ検査を実行します。"
|
|
1465
1529
|
empty:
|
|
1466
1530
|
title: ActiveStorage のイベントが見つかりません
|
|
1467
1531
|
message: 過去%{days}日間、エラーの breadcrumb から ActiveStorage のサービス操作は検出されませんでした。
|
data/config/locales/pl.yml
CHANGED
|
@@ -60,6 +60,8 @@ pl:
|
|
|
60
60
|
llm: LLM
|
|
61
61
|
n_plus_one: Zapytania N+1
|
|
62
62
|
deprecations: Deprecations
|
|
63
|
+
missing_translations: "Tłumaczenia"
|
|
64
|
+
boot_errors: "Błędy startu"
|
|
63
65
|
swallowed: Wyciszone
|
|
64
66
|
diagnostic_dumps: Diagnostyka
|
|
65
67
|
storms: Sztormy
|
|
@@ -865,6 +867,53 @@ pl:
|
|
|
865
867
|
error_log
|
|
866
868
|
footer_tip: Wyciszone wyjątki są podnoszone, a następnie po cichu przechwytywane.
|
|
867
869
|
Mogą ukrywać prawdziwe błędy.
|
|
870
|
+
missing_translations_page:
|
|
871
|
+
title: "Brakujące tłumaczenia"
|
|
872
|
+
empty_title: "Nie zarejestrowano brakujących tłumaczeń"
|
|
873
|
+
empty_body: "W ciągu ostatnich %{days} dni nie zarejestrowano brakujących kluczy tłumaczeń."
|
|
874
|
+
how_title: "Jak śledzone są brakujące tłumaczenia:"
|
|
875
|
+
how_enabled_html: "Śledzenie musi być włączone (%{option})"
|
|
876
|
+
how_hooked: "RED opakowuje I18n.exception_handler i przekazuje wywołanie do handlera, który aplikacja już miała; nic więcej w konfiguracji I18n się nie zmienia"
|
|
877
|
+
how_recorded: "Każde wyszukanie, które trafia do handlera — zarówno z I18n.t, jak i z helpera widoku t() — jest liczone według locale i klucza, wraz z pierwszym zaobserwowanym miejscem wywołania"
|
|
878
|
+
how_not_seen: "Wyszukanie z :default nigdy nie kończy się brakiem, a wyszukanie z raise_on_missing_translations zgłasza wyjątek, zanim uruchomi się jakikolwiek handler, więc żadne z nich nie jest tu liczone"
|
|
879
|
+
how_buffered: "Braki są liczone w pamięci i zapisywane na końcu żądania lub zadania, więc mogą pojawić się z niewielkim opóźnieniem"
|
|
880
|
+
missing_keys: "Brakujące klucze"
|
|
881
|
+
total_misses: "Łącznie braków"
|
|
882
|
+
locales_affected: "Dotknięte locale"
|
|
883
|
+
all_title: "Brakujące klucze tłumaczeń"
|
|
884
|
+
column_key: "Klucz"
|
|
885
|
+
column_locale: "Locale"
|
|
886
|
+
column_source: "Pierwszy raz w"
|
|
887
|
+
column_misses: "Braki"
|
|
888
|
+
column_first_seen: "Pierwsze wystąpienie"
|
|
889
|
+
overflow_notice: "%{count} braków nie udało się przypisać do klucza, ponieważ bufor trackera (%{limit} kluczy na wątek) był pełny."
|
|
890
|
+
footer_tip: "Dodaj klucz do pliku locale albo przekaż :default. Klucze, na które użytkownicy faktycznie trafili, są wymienione jako pierwsze."
|
|
891
|
+
docs: "Przewodnik i18n Rails"
|
|
892
|
+
|
|
893
|
+
boot_errors_page:
|
|
894
|
+
title: "Błędy startu"
|
|
895
|
+
empty_title: "Nie zarejestrowano błędów startu"
|
|
896
|
+
empty_body: "W ciągu ostatnich %{days} dni żaden proces nie zginął podczas startu."
|
|
897
|
+
how_title: "Jak przechwytywane są błędy startu:"
|
|
898
|
+
how_enabled_html: "Przechwytywanie awarii musi być włączone (%{option})"
|
|
899
|
+
how_hooked: "RED rejestruje swój hook at_exit zaraz po Twoich initializerach i przed eager loadingiem Rails, więc awaria podczas startu jest widziana, mimo że aplikacja nigdy nie wystartowała do końca"
|
|
900
|
+
how_captured_html: "%{zeitwerk} z pliku definiującego niewłaściwą stałą, %{syntax} w modelu, initializer zgłaszający wyjątek: wszystko, co zabija proces, zanim obsłuży żądanie"
|
|
901
|
+
how_imported: "Awaria jest zapisywana na dysk, bo bazy danych jeszcze nie ma, i importowana przy następnym udanym starcie"
|
|
902
|
+
how_never: "Procesu zabitego przez SIGKILL lub segfault at_exit nigdy nie zobaczy, w żadnym narzędziu"
|
|
903
|
+
unresolved: "Nierozwiązane"
|
|
904
|
+
boot_crashes: "Awarie startu"
|
|
905
|
+
failed_boots: "Nieudane starty"
|
|
906
|
+
all_title: "Awarie startu według błędu"
|
|
907
|
+
column_error: "Błąd"
|
|
908
|
+
column_file: "Plik"
|
|
909
|
+
column_constant: "Stała"
|
|
910
|
+
column_boots: "Starty"
|
|
911
|
+
column_first_seen: "Pierwsze wystąpienie"
|
|
912
|
+
column_status: "Status"
|
|
913
|
+
status_open: "Otwarty"
|
|
914
|
+
status_resolved: "Rozwiązany"
|
|
915
|
+
footer_tip: "Awaria startu oznacza, że proces nigdy nie obsłużył żądania. Napraw ją przed następnym wdrożeniem; wiersz rozwiązuje się jak każdy inny błąd."
|
|
916
|
+
|
|
868
917
|
rack_attack_page:
|
|
869
918
|
title: Zdarzenia limitu żądań
|
|
870
919
|
missing_title: Rack Attack nie jest zainstalowany
|
|
@@ -1150,7 +1199,7 @@ pl:
|
|
|
1150
1199
|
unable_to_detect: Nie udało się wykryć
|
|
1151
1200
|
no_user_model: Nie wykryto modelu User
|
|
1152
1201
|
unable_to_query_count: Nie udało się odczytać liczby
|
|
1153
|
-
|
|
1202
|
+
retention_enforced_by_job: "Usuwane przez RetentionCleanupJob, gdy uruchomi go Twój harmonogram"
|
|
1154
1203
|
keep_forever: Przechowuj bezterminowo
|
|
1155
1204
|
no_automatic_deletion: Bez automatycznego usuwania
|
|
1156
1205
|
run_command: 'Uruchom:'
|
|
@@ -1158,8 +1207,7 @@ pl:
|
|
|
1158
1207
|
options:
|
|
1159
1208
|
enable_middleware: Przechwytuje nieobsłużone wyjątki
|
|
1160
1209
|
enable_error_subscriber: Subskrybuje zdarzenia błędów Rails
|
|
1161
|
-
retention_days:
|
|
1162
|
-
DAYS=90)'
|
|
1210
|
+
retention_days: "Usuwaj błędy niewidziane przez tyle dni. Wykonuje to RetentionCleanupJob, którego gem sam nie planuje"
|
|
1163
1211
|
max_backtrace_lines: Limit głębokości śladu stosu
|
|
1164
1212
|
sampling_rate: Odsetek przechwytywanych błędów
|
|
1165
1213
|
application_name: Nazwa tej aplikacji (wykrywana automatycznie, jeśli nie
|
|
@@ -1178,7 +1226,7 @@ pl:
|
|
|
1178
1226
|
nie ustawiono)
|
|
1179
1227
|
async_logging: Przetwarzanie w zadaniach w tle
|
|
1180
1228
|
async_adapter: Adapter kolejki zadań
|
|
1181
|
-
enable_rate_limiting:
|
|
1229
|
+
enable_rate_limiting: "Ograniczaj żądania do panelu według IP i ścieżki"
|
|
1182
1230
|
rate_limit_per_minute: Żądań na minutę z jednego IP
|
|
1183
1231
|
enable_slack_notifications: Powiadomienia w czasie rzeczywistym
|
|
1184
1232
|
slack_webhook_url: Punkt końcowy webhooka Slack
|
|
@@ -1187,10 +1235,15 @@ pl:
|
|
|
1187
1235
|
notification_email_from: Adres nadawcy
|
|
1188
1236
|
enable_discord_notifications: Powiadomienia przez webhook Discord
|
|
1189
1237
|
discord_webhook_url: Punkt końcowy webhooka Discord
|
|
1238
|
+
enable_telegram_notifications: "Powiadomienia Telegram przez Bot API"
|
|
1239
|
+
telegram_bot_token: "Token bota z @BotFather (ustaw zmienną środowiskową TELEGRAM_BOT_TOKEN)"
|
|
1240
|
+
telegram_chat_id: "Czat, grupa lub kanał, do którego pisze bot"
|
|
1241
|
+
telegram_api_base_url: "Serwer Bot API (zmieniaj tylko dla proxy lub własnego serwera)"
|
|
1190
1242
|
enable_pagerduty_notifications: Eskalacja błędów krytycznych
|
|
1191
1243
|
pagerduty_integration_key: Klucz API PagerDuty
|
|
1192
1244
|
enable_webhook_notifications: Dowolne punkty końcowe webhooków
|
|
1193
1245
|
webhook_urls: Własne punkty końcowe webhooków
|
|
1246
|
+
webhook_signing_secret: Podpisuje wychodzące webhooki algorytmem HMAC-SHA256 (ustaw zmienną środowiskową WEBHOOK_SIGNING_SECRET)
|
|
1194
1247
|
enable_scheduled_digests: Dzienne/tygodniowe e-maile podsumowujące. Planuj
|
|
1195
1248
|
przez SolidQueue, Sidekiq lub cron
|
|
1196
1249
|
digest_frequency: Jak często wysyłać e-maile podsumowujące
|
|
@@ -1210,7 +1263,7 @@ pl:
|
|
|
1210
1263
|
source_code_context_lines: Linie przed i po linii docelowej
|
|
1211
1264
|
enable_git_blame: Pokazuj informacje git blame
|
|
1212
1265
|
source_code_cache_ttl: Czas buforowania kodu źródłowego
|
|
1213
|
-
only_show_app_code_source: Ukryj
|
|
1266
|
+
only_show_app_code_source: "Ukryj kod gemów i vendor w podglądzie źródeł"
|
|
1214
1267
|
git_branch_strategy: Strategia ustalania gałęzi
|
|
1215
1268
|
enable_breadcrumbs: Przechwytuj ślad aktywności żądania
|
|
1216
1269
|
breadcrumb_buffer_size: Maksymalna liczba breadcrumbs na żądanie
|
|
@@ -1242,6 +1295,7 @@ pl:
|
|
|
1242
1295
|
enable_crash_capture: Hak at_exit dla nieobsłużonych awarii
|
|
1243
1296
|
enable_coverage_tracking: Tryb diagnostyczny — włącz w panelu, aby widzieć
|
|
1244
1297
|
wykonane linie w podglądzie kodu (Ruby 3.2+)
|
|
1298
|
+
enable_missing_translation_tracking: "Zlicza braki I18n aplikacji według locale i klucza (opakowuje I18n.exception_handler)"
|
|
1245
1299
|
enable_rack_attack_tracking: Zapisuj zdarzenia throttle/blocklist w osobnej
|
|
1246
1300
|
tabeli
|
|
1247
1301
|
enable_actioncable_tracking: Śledź zdarzenia kanałów WebSocket jako breadcrumbs
|
|
@@ -1301,6 +1355,8 @@ pl:
|
|
|
1301
1355
|
breadcrumbs: Breadcrumbs
|
|
1302
1356
|
system_health: Stan systemu
|
|
1303
1357
|
swallowed_exceptions: Wykrywanie wyciszonych wyjątków
|
|
1358
|
+
missing_translations: "Śledzenie brakujących tłumaczeń"
|
|
1359
|
+
boot_errors: "Przechwytywanie błędów startu"
|
|
1304
1360
|
rack_attack: Śledzenie Rack Attack
|
|
1305
1361
|
actioncable: Śledzenie ActionCable
|
|
1306
1362
|
activestorage: Śledzenie ActiveStorage
|
|
@@ -1713,6 +1769,13 @@ pl:
|
|
|
1713
1769
|
guide_link: Przewodnik po ActionCable
|
|
1714
1770
|
activestorage:
|
|
1715
1771
|
title: Stan ActiveStorage
|
|
1772
|
+
probe:
|
|
1773
|
+
title: "Osiągalność usługi"
|
|
1774
|
+
reachable: "Osiągalna"
|
|
1775
|
+
unreachable: "Nieosiągalna"
|
|
1776
|
+
service: "Usługa: %{name}"
|
|
1777
|
+
latency: "%{ms} ms w obie strony"
|
|
1778
|
+
how: "Jedno sprawdzenie istnienia klucza, który nigdy nie jest zapisywany, wykonywane przy ładowaniu tej strony. GET /health wykonuje tę samą sondę."
|
|
1716
1779
|
empty:
|
|
1717
1780
|
title: Nie znaleziono zdarzeń ActiveStorage
|
|
1718
1781
|
message: W ciągu ostatnich %{days} dni nie wykryto operacji usług ActiveStorage
|
data/config/locales/pt-BR.yml
CHANGED
|
@@ -60,6 +60,8 @@ pt-BR:
|
|
|
60
60
|
llm: LLM
|
|
61
61
|
n_plus_one: Consultas N+1
|
|
62
62
|
deprecations: Deprecations
|
|
63
|
+
missing_translations: "Traduções"
|
|
64
|
+
boot_errors: "Erros de inicialização"
|
|
63
65
|
swallowed: Engolidas
|
|
64
66
|
diagnostic_dumps: Diagnóstico
|
|
65
67
|
storms: Tempestades
|
|
@@ -855,6 +857,53 @@ pt-BR:
|
|
|
855
857
|
view_unrescued: Ver os erros %{exception} não tratados que chegaram ao error_log
|
|
856
858
|
footer_tip: As exceções engolidas são levantadas e depois tratadas em silêncio.
|
|
857
859
|
Elas podem esconder bugs reais.
|
|
860
|
+
missing_translations_page:
|
|
861
|
+
title: "Traduções ausentes"
|
|
862
|
+
empty_title: "Nenhuma tradução ausente registrada"
|
|
863
|
+
empty_body: "Nenhuma chave de tradução ausente foi registrada nos últimos %{days} dias."
|
|
864
|
+
how_title: "Como as traduções ausentes são rastreadas:"
|
|
865
|
+
how_enabled_html: "O rastreamento precisa estar ativado (%{option})"
|
|
866
|
+
how_hooked: "O RED envolve o I18n.exception_handler e delega ao handler que sua aplicação já tinha; nada mais muda na sua configuração do I18n"
|
|
867
|
+
how_recorded: "Toda busca que chega ao handler — tanto por I18n.t quanto pelo helper de view t() — é contada por locale e chave, junto com o primeiro ponto de chamada observado"
|
|
868
|
+
how_not_seen: "Uma busca com :default nunca falha, e uma feita com raise_on_missing_translations lança uma exceção antes de qualquer handler rodar, então nenhuma das duas é contada aqui"
|
|
869
|
+
how_buffered: "As falhas são contadas em memória e gravadas ao fim da requisição ou do job, então espere um pequeno atraso até aparecerem"
|
|
870
|
+
missing_keys: "Chaves ausentes"
|
|
871
|
+
total_misses: "Total de falhas"
|
|
872
|
+
locales_affected: "Locales afetados"
|
|
873
|
+
all_title: "Chaves de tradução ausentes"
|
|
874
|
+
column_key: "Chave"
|
|
875
|
+
column_locale: "Locale"
|
|
876
|
+
column_source: "Visto primeiro em"
|
|
877
|
+
column_misses: "Falhas"
|
|
878
|
+
column_first_seen: "Primeira ocorrência"
|
|
879
|
+
overflow_notice: "%{count} falhas não puderam ser atribuídas a uma chave porque o buffer do rastreador (%{limit} chaves por thread) estava cheio."
|
|
880
|
+
footer_tip: "Adicione a chave ao arquivo de locale ou passe um :default. As chaves que os usuários realmente encontraram aparecem primeiro."
|
|
881
|
+
docs: "Guia i18n do Rails"
|
|
882
|
+
|
|
883
|
+
boot_errors_page:
|
|
884
|
+
title: "Erros de inicialização"
|
|
885
|
+
empty_title: "Nenhum erro de inicialização registrado"
|
|
886
|
+
empty_body: "Nenhum processo morreu ao iniciar nos últimos %{days} dias."
|
|
887
|
+
how_title: "Como os erros de inicialização são capturados:"
|
|
888
|
+
how_enabled_html: "A captura de falhas precisa estar ativada (%{option})"
|
|
889
|
+
how_hooked: "O RED registra seu hook at_exit logo após seus initializers e antes do eager loading do Rails, então uma falha durante a inicialização é vista mesmo que o app nunca termine de subir"
|
|
890
|
+
how_captured_html: "Um %{zeitwerk} de um arquivo que define a constante errada, um %{syntax} em um model, um initializer que lançou exceção: qualquer coisa que mate o processo antes de atender uma requisição"
|
|
891
|
+
how_imported: "A falha é gravada em disco, porque ainda não há banco de dados, e importada na próxima inicialização bem-sucedida"
|
|
892
|
+
how_never: "Um processo morto por SIGKILL ou por um segfault nunca é visto pelo at_exit, em nenhuma ferramenta"
|
|
893
|
+
unresolved: "Não resolvidos"
|
|
894
|
+
boot_crashes: "Falhas de inicialização"
|
|
895
|
+
failed_boots: "Inicializações com falha"
|
|
896
|
+
all_title: "Falhas de inicialização por erro"
|
|
897
|
+
column_error: "Erro"
|
|
898
|
+
column_file: "Arquivo"
|
|
899
|
+
column_constant: "Constante"
|
|
900
|
+
column_boots: "Inicializações"
|
|
901
|
+
column_first_seen: "Primeira ocorrência"
|
|
902
|
+
column_status: "Status"
|
|
903
|
+
status_open: "Aberto"
|
|
904
|
+
status_resolved: "Resolvido"
|
|
905
|
+
footer_tip: "Uma falha de inicialização significa que o processo nunca atendeu uma requisição. Corrija antes do próximo deploy; a linha é resolvida como qualquer outro erro."
|
|
906
|
+
|
|
858
907
|
rack_attack_page:
|
|
859
908
|
title: Eventos de limite de taxa
|
|
860
909
|
missing_title: O Rack Attack não está instalado
|
|
@@ -1124,7 +1173,7 @@ pt-BR:
|
|
|
1124
1173
|
unable_to_detect: Não foi possível detectar
|
|
1125
1174
|
no_user_model: Nenhum modelo User detectado
|
|
1126
1175
|
unable_to_query_count: Não foi possível consultar a quantidade
|
|
1127
|
-
|
|
1176
|
+
retention_enforced_by_job: "Excluídos pelo RetentionCleanupJob quando seu agendador o executar"
|
|
1128
1177
|
keep_forever: Manter para sempre
|
|
1129
1178
|
no_automatic_deletion: Sem exclusão automática
|
|
1130
1179
|
run_command: 'Executar:'
|
|
@@ -1132,8 +1181,7 @@ pt-BR:
|
|
|
1132
1181
|
options:
|
|
1133
1182
|
enable_middleware: Captura exceções não tratadas
|
|
1134
1183
|
enable_error_subscriber: Assina os eventos de erro do Rails
|
|
1135
|
-
retention_days:
|
|
1136
|
-
DAYS=90)'
|
|
1184
|
+
retention_days: "Excluir erros não vistos há este número de dias. Aplicado pelo RetentionCleanupJob, que a gem não agenda por conta própria"
|
|
1137
1185
|
max_backtrace_lines: Profundidade máxima do backtrace
|
|
1138
1186
|
sampling_rate: Porcentagem de erros capturados
|
|
1139
1187
|
application_name: Nome desta aplicação (detectado automaticamente se não for
|
|
@@ -1151,7 +1199,7 @@ pt-BR:
|
|
|
1151
1199
|
se não for definido)
|
|
1152
1200
|
async_logging: Processamento por jobs em segundo plano
|
|
1153
1201
|
async_adapter: Adaptador da fila de jobs
|
|
1154
|
-
enable_rate_limiting: Limitar as requisições
|
|
1202
|
+
enable_rate_limiting: "Limitar as requisições do painel por IP e caminho"
|
|
1155
1203
|
rate_limit_per_minute: Requisições por minuto e por IP
|
|
1156
1204
|
enable_slack_notifications: Notificações em tempo real
|
|
1157
1205
|
slack_webhook_url: Endpoint do webhook do Slack
|
|
@@ -1160,10 +1208,15 @@ pt-BR:
|
|
|
1160
1208
|
notification_email_from: Endereço do remetente
|
|
1161
1209
|
enable_discord_notifications: Notificações por webhook do Discord
|
|
1162
1210
|
discord_webhook_url: Endpoint do webhook do Discord
|
|
1211
|
+
enable_telegram_notifications: "Notificações do Telegram via Bot API"
|
|
1212
|
+
telegram_bot_token: "Token do bot do @BotFather (defina a variável de ambiente TELEGRAM_BOT_TOKEN)"
|
|
1213
|
+
telegram_chat_id: "Chat, grupo ou canal em que o bot publica"
|
|
1214
|
+
telegram_api_base_url: "Servidor da Bot API (altere apenas para um proxy ou servidor próprio)"
|
|
1163
1215
|
enable_pagerduty_notifications: Escalonamento de erros críticos
|
|
1164
1216
|
pagerduty_integration_key: Chave de API do PagerDuty
|
|
1165
1217
|
enable_webhook_notifications: Endpoints de webhook genéricos
|
|
1166
1218
|
webhook_urls: Endpoints de webhook personalizados
|
|
1219
|
+
webhook_signing_secret: Assina os webhooks de saída com HMAC-SHA256 (defina a variável de ambiente WEBHOOK_SIGNING_SECRET)
|
|
1167
1220
|
enable_scheduled_digests: E-mails de resumo diários/semanais. Agendamento
|
|
1168
1221
|
via SolidQueue, Sidekiq ou cron
|
|
1169
1222
|
digest_frequency: Com que frequência enviar os e-mails de resumo
|
|
@@ -1183,7 +1236,7 @@ pt-BR:
|
|
|
1183
1236
|
source_code_context_lines: Linhas antes e depois da linha de destino
|
|
1184
1237
|
enable_git_blame: Exibir as informações do git blame
|
|
1185
1238
|
source_code_cache_ttl: Duração do cache do código-fonte
|
|
1186
|
-
only_show_app_code_source: Ocultar gems e
|
|
1239
|
+
only_show_app_code_source: "Ocultar código de gems e vendor no visualizador de código"
|
|
1187
1240
|
git_branch_strategy: Estratégia de resolução do branch
|
|
1188
1241
|
enable_breadcrumbs: Capturar o rastro de atividade da requisição
|
|
1189
1242
|
breadcrumb_buffer_size: Número máximo de breadcrumbs por requisição
|
|
@@ -1215,6 +1268,7 @@ pt-BR:
|
|
|
1215
1268
|
enable_crash_capture: Hook at_exit para falhas não tratadas
|
|
1216
1269
|
enable_coverage_tracking: Modo diagnóstico — ative pelo painel para ver as
|
|
1217
1270
|
linhas executadas na visualização do código-fonte (Ruby 3.2+)
|
|
1271
|
+
enable_missing_translation_tracking: "Conta as falhas de I18n do app por locale e chave (envolve o I18n.exception_handler)"
|
|
1218
1272
|
enable_rack_attack_tracking: Registrar os eventos throttle/blocklist em uma
|
|
1219
1273
|
tabela própria
|
|
1220
1274
|
enable_actioncable_tracking: Monitorar os eventos de canal do WebSocket como
|
|
@@ -1272,6 +1326,8 @@ pt-BR:
|
|
|
1272
1326
|
breadcrumbs: Breadcrumbs
|
|
1273
1327
|
system_health: Saúde do sistema
|
|
1274
1328
|
swallowed_exceptions: Detecção de exceções engolidas
|
|
1329
|
+
missing_translations: "Rastreamento de traduções ausentes"
|
|
1330
|
+
boot_errors: "Captura de erros de inicialização"
|
|
1275
1331
|
rack_attack: Monitoramento do Rack Attack
|
|
1276
1332
|
actioncable: Monitoramento do ActionCable
|
|
1277
1333
|
activestorage: Monitoramento do ActiveStorage
|
|
@@ -1680,6 +1736,13 @@ pt-BR:
|
|
|
1680
1736
|
guide_link: Guia do ActionCable
|
|
1681
1737
|
activestorage:
|
|
1682
1738
|
title: Saúde do ActiveStorage
|
|
1739
|
+
probe:
|
|
1740
|
+
title: "Alcançabilidade do serviço"
|
|
1741
|
+
reachable: "Alcançável"
|
|
1742
|
+
unreachable: "Inalcançável"
|
|
1743
|
+
service: "Serviço: %{name}"
|
|
1744
|
+
latency: "%{ms} ms de ida e volta"
|
|
1745
|
+
how: "Uma verificação de existência de uma chave que nunca é armazenada, feita ao carregar esta página. GET /health executa a mesma sonda."
|
|
1683
1746
|
empty:
|
|
1684
1747
|
title: Nenhum evento do ActiveStorage encontrado
|
|
1685
1748
|
message: Nenhuma operação do serviço ActiveStorage foi detectada nos breadcrumbs
|