rails_error_dashboard 0.8.3 → 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 +156 -0
  4. data/app/controllers/rails_error_dashboard/errors_controller.rb +95 -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 +39 -28
  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 +23 -0
  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,2109 @@
1
+ # RED dashboard translations — ru
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
+ ru:
10
+ red:
11
+ common:
12
+ not_available: Н/Д
13
+ close: Закрыть
14
+ unknown: Неизвестно
15
+ severity:
16
+ critical: Критическая
17
+ high: Высокая
18
+ medium: Средняя
19
+ low: Низкая
20
+ days_filter:
21
+ '7': 7 дней
22
+ '14': 14 дней
23
+ '30': 30 дней
24
+ '90': 90 дней
25
+ frame_category:
26
+ app: Ваш код
27
+ gem: Gem
28
+ framework: Фреймворк Rails
29
+ ruby_core: Ядро Ruby
30
+ unknown: Неизвестно
31
+ trend:
32
+ increasing: Рост
33
+ decreasing: Снижение
34
+ stable: Стабильно
35
+ health_status:
36
+ healthy: "✅ В норме"
37
+ warning: "⚠️ Предупреждение"
38
+ critical: "\U0001F534 Критично"
39
+ device_type:
40
+ mobile: Мобильное
41
+ tablet: Планшет
42
+ bot: Бот
43
+ desktop: Десктоп
44
+ nav:
45
+ sections:
46
+ core: Основное
47
+ health: Состояние
48
+ diagnostics: Диагностика
49
+ insights: Аналитика
50
+ overview: Обзор
51
+ errors: Ошибки
52
+ analytics: Аналитика
53
+ platform: Платформа
54
+ cache: Кэш
55
+ jobs: Задачи
56
+ database: База данных
57
+ rate_limits: Ограничения запросов
58
+ actioncable: ActionCable
59
+ activestorage: ActiveStorage
60
+ llm: LLM
61
+ n_plus_one: N+1 запросы
62
+ deprecations: Устаревшее
63
+ swallowed: Подавленные
64
+ diagnostic_dumps: Диагностика
65
+ storms: Штормы
66
+ correlation: Корреляция
67
+ releases: Релизы
68
+ user_impact: Влияние на пользователей
69
+ settings: Настройки
70
+ sidebar:
71
+ back_to_app: Назад в %{app}
72
+ back_to_app_home: На главную приложения
73
+ navbar:
74
+ search_placeholder: Поиск ошибок... /
75
+ toggle_sidebar: Показать/скрыть боковую панель (S)
76
+ toggle_theme: Переключить тему
77
+ keyboard_shortcuts_title: Горячие клавиши (?)
78
+ all_applications: Все приложения
79
+ language: Язык
80
+ choose_language: Выберите язык панели
81
+ all_apps: Все приложения (%{count})
82
+ banners:
83
+ credentials:
84
+ label: 'Предупреждение безопасности:'
85
+ body_html: Вы используете учётные данные по умолчанию (gandalf/youshallnotpass).
86
+ Задайте переменные окружения <code>ERROR_DASHBOARD_USER</code> и <code>ERROR_DASHBOARD_PASSWORD</code>
87
+ или настройте <code>authenticate_with</code> в инициализаторе.
88
+ dismiss: Скрыть до конца сессии
89
+ storm:
90
+ active_title: Идёт шторм ошибок
91
+ recent_title: Недавно сработала защита от шторма
92
+ active_paused: "(с %{time}) — сработала защита от шторма. Появления считаются
93
+ точно; сбор подробностей приостановлен (режим только подсчёта)."
94
+ active_sampled: "(с %{time}) — сработала защита от шторма. Появления считаются
95
+ точно; сбор контекста выборочный."
96
+ recent_body: "(завершился %{time}) — %{count} появлений записано точным подсчётом
97
+ с выборочными подробностями."
98
+ view_history: История штормов
99
+ footer:
100
+ built_with: Сделано с
101
+ credit_html: Сделано с ❤️ — %{author}
102
+ shortcuts:
103
+ title: Горячие клавиши
104
+ refresh: Обновить страницу
105
+ focus_search: Перейти к поиску
106
+ analytics: Аналитика
107
+ toggle_sidebar: Показать/скрыть боковую панель
108
+ show_shortcuts: Показать горячие клавиши
109
+ errors:
110
+ index:
111
+ title: Ошибки
112
+ last_updated_html: 'Обновлено: %{time}'
113
+ live: В реальном времени
114
+ summary:
115
+ errors_html:
116
+ one: "%{value} ошибка"
117
+ other: "%{value} ошибки"
118
+ few: "%{value} ошибки"
119
+ many: "%{value} ошибок"
120
+ unresolved_html: "%{value} не решено"
121
+ all_time: За всё время
122
+ spike:
123
+ critical: Обнаружен критический всплеск ошибок!
124
+ high: Обнаружен сильный всплеск ошибок
125
+ elevated: Повышенная активность ошибок
126
+ today:
127
+ one: 'Сегодня: %{count} ошибка'
128
+ other: 'Сегодня: %{count} ошибки'
129
+ few: 'Сегодня: %{count} ошибки'
130
+ many: 'Сегодня: %{count} ошибок'
131
+ average: "(среднее за 7 дн.: %{avg})"
132
+ multiplier: "%{multiplier}x от обычного уровня"
133
+ filters:
134
+ search_placeholder: Поиск ошибок...
135
+ more: Ещё фильтры
136
+ apply: Применить фильтры
137
+ clear: Сбросить
138
+ clear_all: Сбросить все
139
+ active_label: 'Фильтры:'
140
+ status:
141
+ all: Все
142
+ unresolved: Не решённые
143
+ resolved: Решённые
144
+ assigned: Назначенные
145
+ reopened: Переоткрытые
146
+ severity:
147
+ any: Любая важность
148
+ all_apps: Все приложения
149
+ all_platforms: Все платформы
150
+ all_types: Все типы
151
+ all_timeframes: За всё время
152
+ all_frequencies: Любая частота
153
+ all_priorities: Любой приоритет
154
+ all_assignments: Любое назначение
155
+ all_assignees: Все исполнители
156
+ unassigned: Без исполнителя
157
+ assigned: Назначена
158
+ unresolved_only: Только не решённые
159
+ hide_snoozed: Скрыть отложенные
160
+ hide_muted: Скрыть заглушённые
161
+ timeframes:
162
+ last_hour: Последний час
163
+ today: Сегодня
164
+ yesterday: Вчера
165
+ last_7_days: Последние 7 дней
166
+ last_30_days: Последние 30 дней
167
+ last_90_days: Последние 90 дней
168
+ frequencies:
169
+ once: Один раз
170
+ few: 2–9 раз
171
+ frequent: 10–99 раз
172
+ very_frequent: 100+ раз
173
+ recurring: Повторяющиеся
174
+ chips:
175
+ search: 'Поиск: %{value}'
176
+ application: 'Приложение: %{value}'
177
+ platform: 'Платформа: %{value}'
178
+ error_type: 'Тип: %{value}'
179
+ severity: 'Важность: %{value}'
180
+ timeframe: 'Период: %{value}'
181
+ frequency: 'Частота: %{value}'
182
+ status: 'Статус: %{value}'
183
+ priority: 'Приоритет: %{value}'
184
+ remove: Убрать фильтр
185
+ columns:
186
+ error: Ошибка
187
+ status: Статус
188
+ events: События
189
+ users: Пользователи
190
+ last_seen: Последнее появление
191
+ application: Приложение
192
+ platform: Платформа
193
+ select_all: Выбрать все ошибки
194
+ batch:
195
+ selected:
196
+ one: Выбрана %{count}
197
+ other: Выбрано %{count}
198
+ few: Выбрано %{count}
199
+ many: Выбрано %{count}
200
+ resolve: Решить
201
+ delete: Удалить
202
+ confirm_delete: Вы уверены, что хотите удалить выбранные ошибки?
203
+ pagination: Показаны %{from}–%{to} из %{count} ошибок
204
+ empty:
205
+ filtered_title: Нет ошибок, соответствующих фильтрам
206
+ filtered_message: Попробуйте изменить поисковый запрос или условия фильтрации.
207
+ filtered_cta: Сбросить все фильтры
208
+ clear_title: Всё чисто!
209
+ clear_message: Ошибок пока не зафиксировано. Приложение работает без сбоев.
210
+ Ошибки появятся здесь автоматически, когда возникнут.
211
+ show:
212
+ page_title: 'Ошибка #%{id}'
213
+ breadcrumb_errors: Ошибки
214
+ hero:
215
+ reopened: Переоткрыта
216
+ occurrences_html:
217
+ one: "%{value} появление"
218
+ other: "%{value} появления"
219
+ few: "%{value} появления"
220
+ many: "%{value} появлений"
221
+ user_html: Пользователь %{value}
222
+ first_seen_html: Впервые замечена %{time}
223
+ last_seen_html: Последний раз %{time}
224
+ actions:
225
+ resolve: Решить
226
+ assign: Назначить
227
+ copy_for_llm: Скопировать для LLM
228
+ ai_help: AI-помощь
229
+ export_json: Экспорт JSON
230
+ tabs:
231
+ details: Подробности
232
+ context: Контекст
233
+ history: История
234
+ issues: Задачи
235
+ coverage:
236
+ active_label: Покрытие активно
237
+ active_body: разверните исходный код, чтобы увидеть выполненные строки
238
+ inactive_label: Покрытие путей выполнения
239
+ inactive_body: включите, чтобы видеть выполненные строки
240
+ enable: Включить
241
+ disable: Отключить
242
+ baselines:
243
+ title: Статистика базовой линии
244
+ anomaly_label: 'Аномалия:'
245
+ anomaly_body: "%{sigma}σ выше базовой линии (%{level})"
246
+ levels:
247
+ elevated: ПОВЫШЕННЫЙ
248
+ high: ВЫСОКИЙ
249
+ critical: КРИТИЧЕСКИЙ
250
+ hourly: По часам
251
+ daily: По дням
252
+ weekly: По неделям
253
+ mean: 'Среднее:'
254
+ std_dev: 'σ:'
255
+ percentile_95: 'P95:'
256
+ quick_actions:
257
+ title: Быстрые действия
258
+ view_similar: Похожие ошибки
259
+ view_user_errors: Ошибки пользователя
260
+ view_platform_errors: 'Ошибки: %{platform}'
261
+ analytics: Аналитика
262
+ variables:
263
+ local_title: Локальные переменные
264
+ local_hint: Переменные из кадра стека, где было возбуждено исключение
265
+ instance_title: Переменные экземпляра
266
+ instance_hint_html: Переменные экземпляра из %{klass}, где было возбуждено
267
+ исключение
268
+ instance_hint_generic: Переменные экземпляра объекта, в котором было возбуждено
269
+ исключение
270
+ captured:
271
+ one: "%{count} захвачена"
272
+ other: "%{count} захвачено"
273
+ few: "%{count} захвачено"
274
+ many: "%{count} захвачено"
275
+ column_variable: Переменная
276
+ column_type: Тип
277
+ column_value: Значение
278
+ filtered: "[ОТФИЛЬТРОВАНО]"
279
+ truncated: обрезано
280
+ deprecations:
281
+ title: Предупреждения об устаревшем (deprecation)
282
+ hint: Предупреждения Rails об устаревшем, обнаруженные во время этого запроса
283
+ column_warning: Предупреждение
284
+ column_source: Источник
285
+ footer_tip: Устраните предупреждения об устаревшем перед обновлением Rails,
286
+ чтобы избежать ломающих изменений.
287
+ upgrade_guide: Руководство по обновлению Rails
288
+ n_plus_one:
289
+ title: Обнаружение запросов N+1
290
+ hint: Повторяющиеся запросы, обнаруженные в SQL-breadcrumbs этого запроса
291
+ patterns:
292
+ one: "%{count} закономерность"
293
+ other: "%{count} закономерности"
294
+ few: "%{count} закономерности"
295
+ many: "%{count} закономерностей"
296
+ column_repeats: Повторов
297
+ column_query: Форма запроса
298
+ column_total_time: Общее время
299
+ fingerprint: 'Отпечаток: %{fingerprint}'
300
+ tip_preload_html: 'Совет: загрузите %{table} заранее через %{includes} или
301
+ %{preload}'
302
+ tip_generic_html: 'Совет: используйте %{includes} или %{preload} для предзагрузки
303
+ связей'
304
+ eager_loading_guide: Руководство Rails по предзагрузке
305
+ cache_health:
306
+ title: Состояние кэша
307
+ operations:
308
+ one: "%{count} операция"
309
+ other: "%{count} операции"
310
+ few: "%{count} операции"
311
+ many: "%{count} операций"
312
+ hint: Анализ активности кэша по breadcrumbs этого запроса
313
+ reads: Чтения
314
+ writes: Записи
315
+ hit_rate: Доля попаданий
316
+ hits:
317
+ one: "%{count} попадание"
318
+ other: "%{count} попадания"
319
+ few: "%{count} попадания"
320
+ many: "%{count} попаданий"
321
+ misses:
322
+ one: "%{count} промах"
323
+ other: "%{count} промаха"
324
+ few: "%{count} промаха"
325
+ many: "%{count} промахов"
326
+ unknown_status:
327
+ one: "%{count} чтение с неизвестным результатом (старые breadcrumbs)"
328
+ other: "%{count} чтения с неизвестным результатом (старые breadcrumbs)"
329
+ few: "%{count} чтения с неизвестным результатом (старые breadcrumbs)"
330
+ many: "%{count} чтений с неизвестным результатом (старые breadcrumbs)"
331
+ total_time_html: 'Общее время кэша: %{duration}'
332
+ slowest_html: 'Самая медленная: %{duration}'
333
+ low_hit_rate: Низкая доля попаданий — пересмотрите структуру ключей кэша и
334
+ настройки TTL.
335
+ moderate_hit_rate: Умеренная доля попаданий — стоит прогревать кэш или изменить
336
+ время жизни.
337
+ caching_guide: Руководство по кэшированию в Rails
338
+ breadcrumbs:
339
+ title: Breadcrumbs
340
+ events:
341
+ one: "%{count} событие"
342
+ other: "%{count} события"
343
+ few: "%{count} события"
344
+ many: "%{count} событий"
345
+ hint: След активности, предшествовавшей этой ошибке
346
+ column_category: Категория
347
+ column_message: Сообщение
348
+ column_duration: Длительность
349
+ patterns:
350
+ title: Закономерности появления
351
+ window: "(за последние %{days} дн.)"
352
+ pattern_type: Тип закономерности
353
+ types:
354
+ business_hours:
355
+ label: Рабочие часы
356
+ description: Пик ошибок приходится на рабочие часы (9:00–17:00), что указывает
357
+ на связь с активностью пользователей
358
+ night:
359
+ label: Ночная закономерность
360
+ description: Пик ошибок приходится на ночные часы (00:00–06:00), возможно
361
+ из-за фоновых задач или автоматических процессов
362
+ weekend:
363
+ label: Выходные дни
364
+ description: Большинство ошибок возникает по выходным, что указывает на
365
+ особенности использования в эти дни
366
+ uniform:
367
+ label: Равномерное распределение
368
+ description: Ошибки распределены равномерно в течение суток без явной
369
+ закономерности
370
+ none:
371
+ label: Закономерность не обнаружена
372
+ description: Недостаточно данных, чтобы выявить чёткую закономерность
373
+ появления
374
+ strength: Выраженность закономерности
375
+ strengths:
376
+ strong:
377
+ label: Сильная закономерность
378
+ description: Ошибки сильно сконцентрированы в определённые часы
379
+ moderate:
380
+ label: Умеренная закономерность
381
+ description: Заметна некоторая концентрация в определённые часы
382
+ weak:
383
+ label: Слабая закономерность
384
+ description: Ошибки распределены довольно равномерно
385
+ heatmap_title: Тепловая карта почасового распределения
386
+ heatmap_legend: Чем темнее ячейка, тем больше ошибок. Красная рамка отмечает
387
+ пиковые часы (>%{multiplier}x среднего).
388
+ heatmap_cell:
389
+ one: "%{hour} — %{count} ошибка"
390
+ other: "%{hour} — %{count} ошибки"
391
+ few: "%{hour} — %{count} ошибки"
392
+ many: "%{hour} — %{count} ошибок"
393
+ peak_hours: 'Пиковые часы:'
394
+ peak_hours_hint: В эти часы частота ошибок более чем вдвое выше средней. Стоит
395
+ следить за развёртываниями и нагрузкой в это время.
396
+ bursts_title: Всплески ошибок
397
+ bursts_window: "(за последние %{days} дн.)"
398
+ bursts_hint: Всплеск — это быстрая череда ошибок, возникающих в течение нескольких
399
+ минут. Это может указывать на каскадные сбои или скачки нагрузки.
400
+ column_start_time: Начало
401
+ column_duration: Длительность
402
+ column_error_count: Число ошибок
403
+ column_intensity: Интенсивность
404
+ burst_duration: "%{minutes} мин."
405
+ burst_duration_seconds: "(%{seconds} с)"
406
+ burst_errors_html:
407
+ one: "%{value} ошибка"
408
+ other: "%{value} ошибки"
409
+ few: "%{value} ошибки"
410
+ many: "%{value} ошибок"
411
+ intensity_high: Высокая (20+ ошибок)
412
+ intensity_medium: Средняя (10–19 ошибок)
413
+ intensity_low: Низкая (5–9 ошибок)
414
+ bursts_truncated: Показано %{shown} из %{total} обнаруженных всплесков
415
+ recommendation_label: 'Рекомендация:'
416
+ recommendation_intro: 'Обнаружено несколько всплесков ошибок. Проверьте:'
417
+ recommendation_deploys: Недавние развёртывания или изменения конфигурации
418
+ во время всплесков
419
+ recommendation_load: Скачки нагрузки или особенности трафика
420
+ recommendation_cascades: Каскадные сбои из-за связанных ошибок
421
+ recommendation_jobs: Сбои фоновых задач или шторм повторных попыток
422
+ empty: Закономерностей появления и всплесков не обнаружено. Для анализа может
423
+ потребоваться больше данных.
424
+ providers:
425
+ github: GitHub
426
+ gitlab: GitLab
427
+ bitbucket: Bitbucket
428
+ jira: Jira
429
+ linear: Linear
430
+ generic: Платформа
431
+ generic_lowercase: платформе
432
+ discussion:
433
+ title: Обсуждение
434
+ activity_log: Журнал активности
435
+ reply_on: Ответить в %{provider}
436
+ start_on: Начать обсуждение в %{provider}
437
+ empty: Комментариев пока нет. Обсудите эту ошибку в %{provider} первым.
438
+ issue_section:
439
+ title: Трекер задач
440
+ view_issue: Открыть задачу
441
+ linked: Привязана
442
+ issue_reference: "%{provider} #%{number}"
443
+ states:
444
+ open: Открыта
445
+ closed: Закрыта
446
+ merged: Слита
447
+ assignees: Исполнители
448
+ unassigned: Без исполнителя
449
+ labels: Метки
450
+ no_labels: Меток нет
451
+ create_new: Создать задачу
452
+ create_issue: Создать задачу в %{provider}
453
+ configure_html: Задайте %{token} и %{url} в инициализаторе, чтобы включить
454
+ создание задач.
455
+ link_existing: Привязать существующую задачу
456
+ link: Привязать
457
+ cascades:
458
+ title: Каскады ошибок
459
+ hint: Причинно-следственные связи между ошибками
460
+ triggered_by: Вызвана
461
+ triggered_by_hint: "(ошибки, которые приводят к этой)"
462
+ triggers: Приводит к
463
+ triggers_hint: "(ошибки, вызванные этой)"
464
+ column_error_type: Тип ошибки
465
+ column_message: Сообщение
466
+ column_probability: Вероятность
467
+ column_frequency: Частота
468
+ column_avg_delay: Средняя задержка
469
+ view: Открыть
470
+ footnote: Каскады показывают причинно-следственные связи. Высокая вероятность
471
+ (≥%{probability}%) и частота (≥%{frequency}) указывают на сильные каскады.
472
+ llm_summary:
473
+ title: Вызовы LLM
474
+ hint: Сводка по breadcrumbs запроса
475
+ calls: Вызовы
476
+ tokens: Токены
477
+ cost: Стоимость
478
+ input: Вход
479
+ output: Выход
480
+ tool_calls: Вызовы инструментов
481
+ total_time: Общее время
482
+ errors: Ошибки
483
+ by_model: По моделям
484
+ failed_calls:
485
+ one: "%{count} неудачный вызов — подробности см. в цепочке breadcrumbs."
486
+ other: "%{count} неудачных вызова — подробности см. в цепочке breadcrumbs."
487
+ few: "%{count} неудачных вызова — подробности см. в цепочке breadcrumbs."
488
+ many: "%{count} неудачных вызовов — подробности см. в цепочке breadcrumbs."
489
+ timeline:
490
+ title: Хронология
491
+ hint: Недавние связанные ошибки
492
+ current_error: Текущая ошибка
493
+ user: 'Пользователь: %{id}'
494
+ resolved: Решена
495
+ notes_label: 'Примечания к решению:'
496
+ notes_tooltip: 'Примечания к решению: %{notes}'
497
+ user_errors_table:
498
+ column_rank: Место
499
+ column_user: Пользователь
500
+ column_error_type_count: Разных типов ошибок
501
+ column_error_count: Число ошибок
502
+ column_percentage: Доля
503
+ column_error_types: Типы ошибок
504
+ column_actions: Действия
505
+ types:
506
+ one: "%{count} тип"
507
+ other: "%{count} типа"
508
+ few: "%{count} типа"
509
+ many: "%{count} типов"
510
+ more:
511
+ one: "+ ещё %{count}"
512
+ other: "+ ещё %{count}"
513
+ few: "+ ещё %{count}"
514
+ many: "+ ещё %{count}"
515
+ view_errors: Смотреть ошибки
516
+ co_occurring:
517
+ title: Сопутствующие ошибки
518
+ badge: Временные закономерности
519
+ hint: Ошибки, возникающие в пределах %{minutes} мин. от этой ошибки
520
+ column_error_type: Тип ошибки
521
+ column_message: Сообщение
522
+ column_platform: Платформа
523
+ column_frequency: Частота
524
+ column_avg_delay: Средняя задержка
525
+ times:
526
+ one: "%{count} раз"
527
+ other: "%{count} раза"
528
+ few: "%{count} раза"
529
+ many: "%{count} раз"
530
+ before: за %{duration} до
531
+ after: через %{duration} после
532
+ simultaneous: одновременно
533
+ view: Открыть
534
+ modals:
535
+ cancel: Отмена
536
+ name_placeholder: например, Иван Иванов
537
+ resolve:
538
+ title: Отметить ошибку как решённую
539
+ name_label: Ваше имя
540
+ name_hint: Кто решает эту ошибку?
541
+ reference_label: Ссылка (необязательно)
542
+ reference_placeholder: 'например, JIRA-123, PR #456, GitHub Issue #789'
543
+ reference_hint: Ссылка на тикет, PR или задачу
544
+ notes_label: Примечания к решению (необязательно)
545
+ notes_placeholder: Опишите, что было сделано для исправления этой ошибки...
546
+ notes_hint: Что было сделано для решения этой ошибки?
547
+ submit: Отметить решённой
548
+ assign:
549
+ title: Назначить ошибку
550
+ label: Назначить
551
+ hint: Кто должен разобраться с этой ошибкой?
552
+ submit: Назначить
553
+ priority:
554
+ title: Изменить приоритет
555
+ label: Уровень приоритета
556
+ current: 'Текущий: %{value}'
557
+ submit: Изменить приоритет
558
+ snooze:
559
+ title: Отложить ошибку
560
+ label: На какой срок отложить
561
+ hint: Скрыть эту ошибку из активных списков
562
+ reason_label: Причина (необязательно)
563
+ reason_placeholder: Почему вы откладываете эту ошибку?
564
+ reason_hint: Причина будет добавлена как комментарий
565
+ submit: Отложить
566
+ hours:
567
+ one: "%{count} час"
568
+ other: "%{count} часа"
569
+ few: "%{count} часа"
570
+ many: "%{count} часов"
571
+ days:
572
+ one: "%{count} день"
573
+ other: "%{count} дня"
574
+ few: "%{count} дня"
575
+ many: "%{count} дней"
576
+ weeks:
577
+ one: "%{count} неделя"
578
+ other: "%{count} недели"
579
+ few: "%{count} недели"
580
+ many: "%{count} недель"
581
+ hours_with_equivalent: "%{hours} (%{equivalent})"
582
+ mute:
583
+ title: Заглушить уведомления
584
+ description: Заглушённые ошибки по-прежнему отображаются в панели, но не
585
+ вызывают уведомлений (Slack, эл. почта, Discord, PagerDuty, webhook).
586
+ name_label: Ваше имя (необязательно)
587
+ reason_label: Причина (необязательно)
588
+ reason_placeholder: Почему вы заглушаете эту ошибку?
589
+ reason_hint: Причина будет добавлена как комментарий
590
+ submit: Заглушить уведомления
591
+ request_context:
592
+ title: Контекст запроса
593
+ url: 'URL запроса:'
594
+ hostname: 'Имя хоста:'
595
+ content_type: 'Content Type:'
596
+ duration: 'Длительность запроса:'
597
+ params: 'Параметры запроса:'
598
+ user_agent: 'User Agent:'
599
+ ip_address: 'IP-адрес:'
600
+ replay: 'Повторить запрос:'
601
+ raw_user_agent: Исходный User Agent
602
+ duration_seconds: "%{value} с"
603
+ duration_ms: "%{value} мс"
604
+ copy_curl: Скопировать как curl
605
+ copy_curl_title: Скопировать команду curl в буфер обмена
606
+ copy_rspec: Скопировать как RSpec
607
+ copy_rspec_title: Скопировать request-спеку RSpec в буфер обмена
608
+ similar_errors:
609
+ title: Похожие ошибки
610
+ badge: Нечёткое совпадение
611
+ hint: Ошибки со схожими backtrace и сообщениями (сходство от %{threshold}%)
612
+ column_similarity: Сходство
613
+ column_error_type: Тип ошибки
614
+ column_message: Сообщение
615
+ column_platform: Платформа
616
+ column_occurrences: Появления
617
+ occurrences:
618
+ one: "%{count}x"
619
+ other: "%{count}x"
620
+ few: "%{count}x"
621
+ many: "%{count}x"
622
+ view: Открыть
623
+ source_code:
624
+ view_on: Открыть на %{host}
625
+ view_source: Смотреть исходный код
626
+ coverage_legend_html: Покрытие активно — %{executed} = выполнено, %{not_executed}
627
+ = не выполнено
628
+ coverage_green: зелёный
629
+ coverage_gray: серый
630
+ read_failed: 'Не удалось прочитать исходный код: %{message}'
631
+ ai_help:
632
+ title: AI-помощь
633
+ providers:
634
+ openai: OpenAI
635
+ anthropic: Anthropic
636
+ close: Закрыть AI-помощь
637
+ empty: Спросите о первопричине, шагах воспроизведения, вероятных исправлениях
638
+ или о том, что проверить дальше.
639
+ question_label: Вопрос
640
+ question_placeholder: Какова вероятная первопричина?
641
+ ask: Спросить
642
+ sidebar:
643
+ title: Метаданные
644
+ occurrence_count: Число появлений
645
+ occurred_times:
646
+ one: Эта ошибка возникла %{count} раз
647
+ other: Эта ошибка возникла %{count} раза
648
+ few: Эта ошибка возникла %{count} раза
649
+ many: Эта ошибка возникла %{count} раз
650
+ first_seen: Впервые замечена
651
+ last_seen: Последнее появление
652
+ jump_to_timeline: Перейти к хронологии
653
+ severity_level: Уровень важности
654
+ view_all_severity: Все ошибки с важностью «%{severity}»
655
+ severity_badges:
656
+ critical: КРИТИЧЕСКАЯ
657
+ high: ВЫСОКАЯ
658
+ medium: СРЕДНЯЯ
659
+ low: НИЗКАЯ
660
+ platform: Платформа
661
+ view_all_platform: 'Все ошибки: %{platform}'
662
+ user: Пользователь
663
+ view_user_errors: Все ошибки этого пользователя
664
+ user_id: 'ID: %{id}'
665
+ user_id_label: 'ID пользователя: %{id}'
666
+ guest: Гость / не аутентифицирован
667
+ issue_tracking_linked_html: Статус, назначение и приоритет управляются через
668
+ %{link}.
669
+ issue_tracking_link_text: привязанную задачу
670
+ issue_tracking_unlinked: Статус, назначение и приоритет управляются через
671
+ ваш трекер задач. Привяжите задачу, чтобы увидеть подробности.
672
+ workflow_status: Статус в рабочем процессе
673
+ resolved: Решена
674
+ unresolved: Не решена
675
+ reopened: Переоткрыта
676
+ assigned_to: Назначена
677
+ assign: Назначить
678
+ remove_assignment: Снять назначение?
679
+ priority: Приоритет
680
+ snooze: Отложить
681
+ snoozed: Отложена
682
+ snoozed_until_html: До %{time}
683
+ unsnooze: Вернуть из отложенных
684
+ notifications: Уведомления
685
+ muted: Заглушена
686
+ muted_by: 'Кем: %{name}'
687
+ muted_since_html: С %{time}
688
+ mute: Заглушить
689
+ unmute: Включить обратно
690
+ resolved_by: Кто решил
691
+ reference: Ссылка
692
+ resolution_notes: Примечания к решению
693
+ error_id: ID ошибки
694
+ copy_error_id: Скопировать ID ошибки
695
+ environment:
696
+ title: Окружение
697
+ hint: Контекст выполнения в момент ошибки
698
+ app_version: 'Версия приложения:'
699
+ view_all_version: Все ошибки в версии %{version}
700
+ git_sha: 'Git SHA:'
701
+ rails: 'Rails:'
702
+ ruby: 'Ruby:'
703
+ environment: 'Окружение:'
704
+ server: 'Сервер:'
705
+ database: 'База данных:'
706
+ key_gems: 'Ключевые gem-ы:'
707
+ health:
708
+ title: Состояние системы
709
+ hint: Состояние среды в момент возникновения ошибки
710
+ memory_rss: 'Память (RSS):'
711
+ process_swap: 'Swap процесса:'
712
+ peak_rss: 'Пиковый RSS:'
713
+ os_threads: 'Потоки ОС:'
714
+ threads: 'Потоки:'
715
+ file_descriptors: 'Файловые дескрипторы:'
716
+ load_average: 'Средняя нагрузка:'
717
+ system_memory: 'Память системы:'
718
+ system_swap: 'Swap системы:'
719
+ tcp_connections: 'TCP-соединения:'
720
+ gc_live_objects: 'Живые объекты GC:'
721
+ major_gc_runs: 'Полных сборок GC:'
722
+ last_gc: 'Последняя сборка GC:'
723
+ connection_pool: 'Пул соединений:'
724
+ puma_threads: 'Потоки Puma:'
725
+ job_queue: 'Очередь задач (%{adapter}):'
726
+ vm_cache_invalidations: 'Инвалидации кэша VM:'
727
+ vm_cache_misses: 'Промахи кэша VM:'
728
+ shape_cache_size: 'Размер кэша Shape:'
729
+ yjit_compiled: 'Скомпилировано YJIT:'
730
+ yjit_invalidations: 'Инвалидации YJIT:'
731
+ yjit_code_size: 'Размер кода YJIT:'
732
+ yjit_compile_time: 'Время компиляции YJIT:'
733
+ ruby_threads: "(Ruby: %{count})"
734
+ info:
735
+ new_badge: НОВАЯ
736
+ new_tooltip: Ошибка возникла в течение последнего часа
737
+ reopened: Переоткрыта
738
+ reopened_tooltip: Ранее была решена, повторилась %{time}
739
+ copy_error_type: Скопировать тип ошибки
740
+ message_label: 'Сообщение об ошибке:'
741
+ copy_message: Скопировать сообщение об ошибке
742
+ copy: Скопировать
743
+ cause_chain:
744
+ title: Цепочка причин исключения
745
+ caused_by: 'Вызвано:'
746
+ caused_by_indexed: 'Вызвано (#%{index}):'
747
+ backtrace: Backtrace
748
+ backtrace:
749
+ label: 'Backtrace:'
750
+ frame_counts: "(%{app} ваш код, %{framework} фреймворк и gem-ы)"
751
+ copy_full: Скопировать весь backtrace
752
+ copy_full_title: Скопировать весь backtrace
753
+ your_code: Ваш код
754
+ framework_code: Код фреймворка и gem-ов
755
+ frames:
756
+ one: "%{count} кадр"
757
+ other: "%{count} кадра"
758
+ few: "%{count} кадра"
759
+ many: "%{count} кадров"
760
+ click_to_expand: "(нажмите, чтобы развернуть)"
761
+ view_source: Смотреть исходный код
762
+ none: Backtrace недоступен
763
+ row:
764
+ new_badge: НОВАЯ
765
+ reopened: Переоткрыта
766
+ view_user_errors: Все ошибки пользователя %{user}
767
+ status:
768
+ unresolved: не решена
769
+ resolved: решена
770
+ in_progress: в работе
771
+ investigating: изучается
772
+ wont_fix: не будет исправлена
773
+ assigned: назначена
774
+ snoozed: отложена
775
+ muted: заглушена
776
+ stats:
777
+ today: Сегодня
778
+ this_week: На этой неделе
779
+ unresolved: Не решено
780
+ resolved: Решено
781
+ reopened: Переоткрыто
782
+ pages:
783
+ percent: "%{value}%"
784
+ column_errors: Ошибки
785
+ column_occurrences: Появления
786
+ column_last_seen: Последнее появление
787
+ total_occurrences: Всего появлений
788
+ affected_errors: Затронутые ошибки
789
+ more_errors:
790
+ one: "+ ещё %{count}"
791
+ other: "+ ещё %{count}"
792
+ few: "+ ещё %{count}"
793
+ many: "+ ещё %{count}"
794
+ none_in_last_days: За последние %{days} дн. результатов не обнаружено.
795
+ how_breadcrumbs_html: Breadcrumbs должны быть включены (%{option})
796
+ deprecations_page:
797
+ title: Предупреждения об устаревшем (deprecation)
798
+ empty_title: Предупреждений об устаревшем не найдено
799
+ empty_body: За последние %{days} дн. в breadcrumbs ошибок не обнаружено предупреждений
800
+ об устаревшем (deprecation).
801
+ how_title: 'Как фиксируются предупреждения об устаревшем:'
802
+ how_captured: Предупреждения Rails об устаревшем (deprecation) автоматически
803
+ записываются как breadcrumbs
804
+ how_appear: Они появляются здесь, когда ошибка возникает во время запроса
805
+ с такими предупреждениями
806
+ unique_warnings: Уникальные предупреждения
807
+ all_title: Все предупреждения об устаревшем
808
+ column_warning: Предупреждение
809
+ column_source: Источник
810
+ n_plus_one_page:
811
+ title: Закономерности запросов N+1
812
+ empty_title: Закономерностей N+1 не найдено
813
+ empty_body: За последние %{days} дн. в breadcrumbs ошибок не обнаружено запросов
814
+ N+1.
815
+ how_title: 'Как работает обнаружение N+1:'
816
+ how_captured: SQL-запросы записываются как breadcrumbs во время запросов,
817
+ приводящих к ошибкам
818
+ how_threshold_html: Запросы одинаковой формы, встречающиеся >= %{threshold}
819
+ раз, помечаются
820
+ how_default:
821
+ one: Порог по умолчанию — %{count} повтор
822
+ other: Порог по умолчанию — %{count} повтора
823
+ few: Порог по умолчанию — %{count} повтора
824
+ many: Порог по умолчанию — %{count} повторов
825
+ unique_patterns: Уникальные закономерности
826
+ all_title: Все закономерности запросов N+1
827
+ duration_ms: "%{value} мс"
828
+ footer_tip_html: Используйте %{includes}, %{preload} или %{eager_load}, чтобы
829
+ устранить запросы N+1.
830
+ swallowed_page:
831
+ title: Подавленные исключения (swallowed exception)
832
+ empty_title: Подавленных исключений не обнаружено
833
+ empty_body: За последние %{days} дн. не обнаружено исключений с долей перехватов
834
+ выше %{threshold}%.
835
+ how_title: 'Как обнаруживаются подавленные исключения (swallowed exception):'
836
+ how_raise: TracePoint(:raise) считает каждое возбуждённое исключение
837
+ how_rescue: TracePoint(:rescue) считает каждое перехваченное исключение
838
+ how_ratio: Высокое отношение перехватов к возбуждениям = вероятно подавлено
839
+ (молча перехвачено)
840
+ how_requires_html: Требуется Ruby 3.3+ и %{option}
841
+ swallowed_patterns: Подавленные закономерности
842
+ total_rescues: Всего перехватов
843
+ total_raises: Всего возбуждений
844
+ all_title: Закономерности подавленных исключений
845
+ column_exception_class: Класс исключения
846
+ column_raise_location: Место возбуждения
847
+ column_rescue_location: Место перехвата
848
+ column_raises: Возбуждений
849
+ column_rescues: Перехватов
850
+ column_ratio: Отношение
851
+ view_unrescued: Посмотреть неперехваченные ошибки %{exception}, попавшие в
852
+ error_log
853
+ footer_tip: Подавленные исключения возбуждаются, а затем молча перехватываются.
854
+ Они могут скрывать настоящие ошибки.
855
+ rack_attack_page:
856
+ title: События ограничения частоты
857
+ missing_title: Rack Attack не установлен
858
+ missing_body_html: Отслеживание включено, но gem %{gem} не загружен в этом
859
+ приложении — поэтому события не записываются. Добавьте его в Gemfile и настройте
860
+ хотя бы одно правило, и события появятся здесь.
861
+ empty_title: События ограничения частоты не найдены
862
+ empty_body: За последние %{days} дн. не зафиксировано событий throttle, blocklist
863
+ или track от Rack Attack.
864
+ how_title: 'Как работает отслеживание Rack Attack:'
865
+ how_enabled_html: Отслеживание Rack Attack должно быть включено (%{option})
866
+ how_installed: Rack Attack должен быть установлен и настроен в вашем приложении
867
+ how_recorded: События throttle, blocklist и track записываются при срабатывании
868
+ правила — ошибка для этого не нужна
869
+ how_buffered: События буферизуются и записываются каждые %{seconds} с, поэтому
870
+ появляются с небольшой задержкой
871
+ unique_rules: Уникальные правила
872
+ total_events: Всего событий
873
+ unique_ips: Уникальные IP
874
+ all_title: События ограничения частоты по правилам
875
+ column_rule: Правило
876
+ column_type: Тип
877
+ column_count: Количество
878
+ column_ips: IP-адреса
879
+ column_top_path: Частый путь
880
+ match_type:
881
+ blocklist: blocklist
882
+ throttle: throttle
883
+ track: track
884
+ footer_tip: Большое число событий может указывать на злоупотребление или неверно
885
+ настроенные правила.
886
+ docs: Документация Rack Attack
887
+ diagnostic_dumps_page:
888
+ title: Диагностические дампы
889
+ capture: Собрать дамп
890
+ empty_title: Диагностических дампов пока нет
891
+ empty_body: Соберите снимок состояния системы по требованию для отладки.
892
+ how_title: 'Как работают диагностические дампы:'
893
+ how_capture_html: Нажмите %{button} выше или выполните %{command}
894
+ how_captures: 'Записывается: окружение, статистика GC, потоки, пул соединений,
895
+ память, очередь задач'
896
+ how_saved: Каждый дамп сохраняется в базе данных для сравнения с прошлыми
897
+ how_use: Используйте дампы для расследования проблем в продакшене или проверки
898
+ состояния системы
899
+ total_dumps: Всего дампов
900
+ threads_latest: Потоки (последний дамп)
901
+ memory_latest: Память (последний дамп)
902
+ history_title: История дампов
903
+ details: Подробности
904
+ pid: 'PID: %{pid}'
905
+ uptime: 'Время работы: %{minutes} мин.'
906
+ section_environment: Окружение
907
+ section_system_health: Состояние системы
908
+ section_gc: GC
909
+ section_job_queue: Очередь задач
910
+ env_versions: Ruby %{ruby} / Rails %{rails}
911
+ memory_mb: "%{value} МБ"
912
+ threads:
913
+ one: "%{count} поток"
914
+ other: "%{count} потока"
915
+ few: "%{count} потока"
916
+ many: "%{count} потоков"
917
+ pool: 'Пул: %{busy}/%{size}'
918
+ gc_stats: 'Живых: %{live} / Полных GC: %{major}'
919
+ jobs_failed: 'неудачных: %{count}'
920
+ footer_tip_html: 'Дампы также можно собирать через: %{command}'
921
+ footer_note_html: 'Добавить заметку: %{command}'
922
+ unknown_short: "?"
923
+ storms_page:
924
+ title: История штормов
925
+ intro_html: Когда частота ошибок резко растёт (неудачное развёртывание, сбой
926
+ зависимости), защита от шторма ограничивает собственные записи gem-а в базу
927
+ данных, чтобы он не усугублял инцидент. Появления всегда считаются точно
928
+ — выборочно собираются только подробности по каждому событию. Пороги настраиваются
929
+ для каждого процесса через параметры %{options}.
930
+ active_html: "%{label} с %{time} — пиковая частота %{rate}."
931
+ active_label: Идёт шторм
932
+ empty_title: Штормов не зафиксировано
933
+ empty_body: Защита от шторма наготове. Если это приложение когда-нибудь захлестнёт
934
+ поток ошибок, эпизоды появятся здесь с точными подсчётами того, что было
935
+ отброшено.
936
+ column_started: Начало
937
+ column_duration: Длительность
938
+ column_peak_rate: Пиковая частота
939
+ column_mode: Режим
940
+ column_counted: Подсчитано (точно)
941
+ column_overflow: Переполнение
942
+ column_top_errors: Частые ошибки
943
+ active_badge: активен
944
+ mode_count_only: только подсчёт
945
+ mode_shedding: сброс нагрузки
946
+ rate_per_minute: "%{value}/мин."
947
+ occurrence_multiplier: "×%{count}"
948
+ overview_page:
949
+ page_title: Панель
950
+ title: Обзор
951
+ last_updated_html: 'Обновлено: %{time}'
952
+ alert_banner:
953
+ one: "%{count} критическая или важная ошибка за последний час"
954
+ other: "%{count} критические или важные ошибки за последний час"
955
+ few: "%{count} критические или важные ошибки за последний час"
956
+ many: "%{count} критических или важных ошибок за последний час"
957
+ alert_occurrences:
958
+ one: "%{count} появление"
959
+ other: "%{count} появления"
960
+ few: "%{count} появления"
961
+ many: "%{count} появлений"
962
+ alert_view: Открыть
963
+ error_rate: Частота ошибок
964
+ error_rate_hint: Ошибок в час за сегодня
965
+ unresolved: Не решено
966
+ unresolved_hint: Ожидают решения
967
+ resolution_rate: Доля решённых
968
+ resolution_hint: решено %{resolved} из %{total}
969
+ affected_users: Затронутые пользователи (сегодня)
970
+ users_change: "%{count} со вчерашнего дня"
971
+ avg_resolution: Среднее время решения
972
+ avg_resolution_hint: Среднее время до решения
973
+ hours_short: "%{value} ч."
974
+ error_trend: Динамика ошибок
975
+ top_errors: Топ ошибок по влиянию
976
+ view_all: Смотреть все →
977
+ users:
978
+ one: "%{count} пользователь"
979
+ other: "%{count} пользователя"
980
+ few: "%{count} пользователя"
981
+ many: "%{count} пользователей"
982
+ platform_health: Состояние платформ
983
+ full_comparison: Полное сравнение →
984
+ stability_score_html: "%{score}/100"
985
+ platform_summary: "%{total} ошибок · %{critical} критических · %{unresolved}
986
+ открытых"
987
+ correlation_title: Выводы по корреляции
988
+ full_analysis: Полный анализ →
989
+ problematic_releases: Проблемные релизы
990
+ release_errors:
991
+ one: "%{count} ошибка"
992
+ other: "%{count} ошибки"
993
+ few: "%{count} ошибки"
994
+ many: "%{count} ошибок"
995
+ time_correlated: Связаны по времени
996
+ correlation_value_html: корреляция %{percent} (%{strength})
997
+ multi_error_users: Пользователи с несколькими ошибками
998
+ user_types_html: Пользователь %{user} · %{types}
999
+ types:
1000
+ one: "%{count} тип"
1001
+ other: "%{count} типа"
1002
+ few: "%{count} типа"
1003
+ many: "%{count} типов"
1004
+ settings:
1005
+ title: Настройки
1006
+ version: v%{version}
1007
+ intro_html: Просмотр текущей конфигурации, только для чтения. Изменяйте через
1008
+ %{file} или переменные окружения.
1009
+ option_count:
1010
+ one: "%{count} параметр"
1011
+ other: "%{count} параметра"
1012
+ few: "%{count} параметра"
1013
+ many: "%{count} параметров"
1014
+ plugins:
1015
+ title: Активные плагины
1016
+ column_name: Название плагина
1017
+ column_version: Версия
1018
+ column_description: Описание
1019
+ column_status: Статус
1020
+ active: Активен
1021
+ inactive: Неактивен
1022
+ empty: Плагины не зарегистрированы. Вы можете создать собственные плагины
1023
+ для расширения возможностей.
1024
+ test_error:
1025
+ title: Проверка уведомлений
1026
+ description_html: Отправить тестовую ошибку через весь конвейер захвата и
1027
+ уведомлений. Будет создано исключение %{error_class} в журнале ошибок, а
1028
+ уведомления отправятся во все настроенные каналы (Slack, Discord, PagerDuty,
1029
+ эл. почта, webhook). Тестовая ошибка явно помечена, её безопасно решить
1030
+ или удалить.
1031
+ confirm: Будет создана тестовая ошибка и отправлены уведомления во все настроенные
1032
+ каналы. Продолжить?
1033
+ submit: Отправить тестовую ошибку
1034
+ help:
1035
+ title: Нужно изменить эти настройки?
1036
+ edit_html: Измените конфигурацию в %{file} и перезапустите приложение.
1037
+ docs_html: Подробности см. в %{docs}.
1038
+ docs_link: документации
1039
+ groups:
1040
+ core_features: Основные возможности
1041
+ multi_app: Поддержка нескольких приложений
1042
+ user_integration: Интеграция с пользователями
1043
+ performance: Настройки производительности
1044
+ notifications: Каналы уведомлений
1045
+ analytics: Расширенная аналитика
1046
+ source_code: Интеграция с исходным кодом
1047
+ breadcrumbs: Breadcrumbs
1048
+ system_health: Состояние системы
1049
+ enhanced_metrics: Расширенные метрики
1050
+ issue_tracking: Отслеживание задач
1051
+ deep_debugging: Глубокая отладка
1052
+ event_tracking: Отслеживание событий
1053
+ advanced: Расширенная конфигурация
1054
+ internal_logging: Внутреннее логирование
1055
+ units:
1056
+ lines:
1057
+ one: "%{count} строка"
1058
+ other: "%{count} строки"
1059
+ few: "%{count} строки"
1060
+ many: "%{count} строк"
1061
+ minutes:
1062
+ one: "%{count} минута"
1063
+ other: "%{count} минуты"
1064
+ few: "%{count} минуты"
1065
+ many: "%{count} минут"
1066
+ seconds:
1067
+ one: "%{count} секунда"
1068
+ other: "%{count} секунды"
1069
+ few: "%{count} секунды"
1070
+ many: "%{count} секунд"
1071
+ events:
1072
+ one: "%{count} событие"
1073
+ other: "%{count} события"
1074
+ few: "%{count} события"
1075
+ many: "%{count} событий"
1076
+ queries:
1077
+ one: "%{count} запрос"
1078
+ other: "%{count} запроса"
1079
+ few: "%{count} запроса"
1080
+ many: "%{count} запросов"
1081
+ std_devs: "%{count}σ"
1082
+ values:
1083
+ enabled: Включено
1084
+ disabled: Отключено
1085
+ not_set: Не задано
1086
+ not_found: Не найдено
1087
+ not_available: Недоступно
1088
+ empty: Пусто
1089
+ unknown: Неизвестно
1090
+ set: Задано
1091
+ auto_detected: Определено автоматически
1092
+ configured: "(Настроено)"
1093
+ items:
1094
+ one: "%{count} элемент"
1095
+ other: "%{count} элемента"
1096
+ few: "%{count} элемента"
1097
+ many: "%{count} элементов"
1098
+ rules:
1099
+ one: "%{count} правило"
1100
+ other: "%{count} правила"
1101
+ few: "%{count} правила"
1102
+ many: "%{count} правил"
1103
+ users:
1104
+ one: "%{formatted} пользователь"
1105
+ other: "%{formatted} пользователя"
1106
+ few: "%{formatted} пользователя"
1107
+ many: "%{formatted} пользователей"
1108
+ days:
1109
+ one: "%{count} день"
1110
+ other: "%{count} дня"
1111
+ few: "%{count} дня"
1112
+ many: "%{count} дней"
1113
+ rails_app_name_unavailable: Имя Rails-приложения недоступно
1114
+ separate_db: 'Отдельная БД: %{name}'
1115
+ configured_but_not_found: Настроено, но не найдено
1116
+ shared_db_primary: Общая БД (основная)
1117
+ shared_db: Общая БД
1118
+ unable_to_detect: Не удалось определить
1119
+ no_user_model: Модель User не обнаружена
1120
+ unable_to_query_count: Не удалось получить количество
1121
+ manual_cleanup_required: Требуется ручная очистка
1122
+ keep_forever: Хранить всегда
1123
+ no_automatic_deletion: Автоматическое удаление отключено
1124
+ run_command: 'Выполните:'
1125
+ to_cleanup: 'Для очистки:'
1126
+ options:
1127
+ enable_middleware: Перехватывает необработанные исключения
1128
+ enable_error_subscriber: Подписывается на события ошибок Rails
1129
+ retention_days: 'Только ручная очистка (выполните: rails error_dashboard:cleanup_resolved
1130
+ DAYS=90)'
1131
+ max_backtrace_lines: Ограничение глубины backtrace
1132
+ sampling_rate: Доля захватываемых ошибок
1133
+ application_name: Имя этого приложения (определяется автоматически, если не
1134
+ задано)
1135
+ database: Активная база данных для журнала ошибок
1136
+ use_separate_database: Использовать отдельную БД для журнала ошибок
1137
+ user_model: Имя модели для связи с пользователями (определяется автоматически,
1138
+ если не задано)
1139
+ total_users_for_impact: Для расчёта % влияния (определяется автоматически,
1140
+ если не задано)
1141
+ async_logging: Обработка в фоновых задачах
1142
+ async_adapter: Адаптер очереди задач
1143
+ enable_rate_limiting: Ограничивать частоту API-запросов
1144
+ rate_limit_per_minute: Запросов в минуту на IP
1145
+ enable_slack_notifications: Уведомления в реальном времени
1146
+ slack_webhook_url: Адрес webhook Slack
1147
+ enable_email_notifications: Оповещения по эл. почте
1148
+ notification_email_recipients: Адреса получателей
1149
+ notification_email_from: Адрес отправителя
1150
+ enable_discord_notifications: Уведомления через webhook Discord
1151
+ discord_webhook_url: Адрес webhook Discord
1152
+ enable_pagerduty_notifications: Эскалация критических ошибок
1153
+ pagerduty_integration_key: API-ключ PagerDuty
1154
+ enable_webhook_notifications: Произвольные webhook-адреса
1155
+ webhook_urls: Свои webhook-адреса
1156
+ enable_scheduled_digests: Ежедневные/еженедельные сводки. Планирование через
1157
+ SolidQueue, Sidekiq или cron
1158
+ digest_frequency: Как часто отправлять сводки
1159
+ digest_recipients: Адреса эл. почты (по умолчанию — получатели уведомлений)
1160
+ enable_similar_errors: Искать связанные ошибки по сходству
1161
+ enable_co_occurring_errors: Ошибки, возникающие вместе
1162
+ enable_error_cascades: Цепочки ошибок «родитель→потомок»
1163
+ enable_error_correlation: Анализ по версиям, пользователям и времени
1164
+ enable_platform_comparison: Аналитика iOS против Android
1165
+ enable_occurrence_patterns: Обнаружение цикличности и всплесков
1166
+ enable_baseline_alerts: Обнаружение аномалий
1167
+ baseline_alert_threshold_std_devs: Стандартных отклонений для срабатывания
1168
+ baseline_alert_severities: Уровни важности для оповещений
1169
+ baseline_alert_cooldown_minutes: Минут между оповещениями об одном типе ошибок
1170
+ enable_source_code_integration: Показывать код в backtrace
1171
+ source_code_context_lines: Строк до и после целевой строки
1172
+ enable_git_blame: Показывать сведения git blame
1173
+ source_code_cache_ttl: Время жизни кэша исходного кода
1174
+ only_show_app_code_source: Скрывать gem-ы и stdlib в целях безопасности
1175
+ git_branch_strategy: Стратегия определения ветки
1176
+ enable_breadcrumbs: Записывать след активности запроса
1177
+ breadcrumb_buffer_size: Максимум breadcrumbs на запрос
1178
+ enable_n_plus_one_detection: Обнаруживать повторяющиеся запросы в breadcrumbs
1179
+ n_plus_one_threshold: Минимум повторов для пометки N+1
1180
+ enable_system_health: Записывать GC, память, потоки и пул соединений в момент
1181
+ ошибки
1182
+ app_version: Текущая версия приложения
1183
+ git_sha: Развёрнутый коммит
1184
+ git_repository_url: URL репозитория GitHub/GitLab
1185
+ dashboard_base_url: Базовый URL для ссылок на панель
1186
+ enable_issue_tracking: 'Интеграция с GitHub/GitLab/Codeberg — один переключатель
1187
+ включает всё: создание задач, автосоздание, синхронизацию жизненного цикла,
1188
+ отражение состояния платформы, показ комментариев. Заменяет элементы управления
1189
+ рабочим процессом состоянием платформы.'
1190
+ issue_tracker_token: Токен бота RED (задайте переменную окружения RED_BOT_TOKEN)
1191
+ issue_tracker_provider: Определяется автоматически из git_repository_url
1192
+ issue_tracker_repo: Определяется автоматически из git_repository_url
1193
+ issue_tracker_labels: Метки, добавляемые к новым задачам
1194
+ issue_webhook_secret: Задайте для двусторонней синхронизации (проверка HMAC)
1195
+ enable_local_variables: TracePoint(:raise) — захват локальных переменных в
1196
+ момент исключения
1197
+ enable_instance_variables: Захват переменных экземпляра self в момент исключения
1198
+ detect_swallowed_exceptions: TracePoint(:raise) + (:rescue) — обнаружение
1199
+ молча перехваченных исключений (Ruby 3.3+)
1200
+ enable_diagnostic_dump: Снимки состояния системы по требованию
1201
+ enable_crash_capture: Хук at_exit для необработанных аварийных завершений
1202
+ enable_coverage_tracking: Диагностический режим — включите в панели, чтобы
1203
+ видеть выполненные строки в исходном коде (Ruby 3.2+)
1204
+ enable_rack_attack_tracking: Записывать события throttle/blocklist в отдельную
1205
+ таблицу
1206
+ enable_actioncable_tracking: Отслеживать события каналов WebSocket как breadcrumbs
1207
+ enable_activestorage_tracking: Отслеживать загрузки, скачивания и удаления
1208
+ как breadcrumbs
1209
+ custom_severity_rules: Сопоставление «тип ошибки → важность»
1210
+ ignored_exceptions: Игнорируемые исключения
1211
+ enable_internal_logging: Отладочный вывод gem-а
1212
+ log_level: Уровень подробности
1213
+ flash:
1214
+ locale:
1215
+ unavailable: Этот язык недоступен. Используется язык по умолчанию.
1216
+ batch:
1217
+ resolved:
1218
+ one: Решена %{count} ошибка
1219
+ other: Решено %{count} ошибки
1220
+ few: Решено %{count} ошибки
1221
+ many: Решено %{count} ошибок
1222
+ muted:
1223
+ one: Заглушена %{count} ошибка
1224
+ other: Заглушено %{count} ошибки
1225
+ few: Заглушено %{count} ошибки
1226
+ many: Заглушено %{count} ошибок
1227
+ unmuted:
1228
+ one: Включена обратно %{count} ошибка
1229
+ other: Включено обратно %{count} ошибки
1230
+ few: Включено обратно %{count} ошибки
1231
+ many: Включено обратно %{count} ошибок
1232
+ deleted:
1233
+ one: Удалена %{count} ошибка
1234
+ other: Удалено %{count} ошибки
1235
+ few: Удалено %{count} ошибки
1236
+ many: Удалено %{count} ошибок
1237
+ failed: 'Массовая операция не выполнена: %{reason}'
1238
+ issue:
1239
+ created: Задача успешно создана
1240
+ linked: Задача успешно привязана
1241
+ create_failed: 'Не удалось создать задачу: %{reason}'
1242
+ link_failed: 'Не удалось привязать задачу: %{reason}'
1243
+ not_enabled: "%{feature} не включено. Включите в %{file}"
1244
+ not_enabled_plural: "%{feature} не включены. Включите их в %{file}"
1245
+ not_enabled_options: "%{feature} не включено. Включите %{options} в %{file}"
1246
+ not_enabled_set_options: "%{feature} не включено. Задайте %{options} в %{file}"
1247
+ features:
1248
+ platform_comparison: Сравнение платформ
1249
+ error_correlation: Корреляция ошибок
1250
+ breadcrumbs: Breadcrumbs
1251
+ system_health: Состояние системы
1252
+ swallowed_exceptions: Обнаружение подавленных исключений (swallowed exception)
1253
+ rack_attack: Отслеживание Rack Attack
1254
+ actioncable: Отслеживание ActionCable
1255
+ activestorage: Отслеживание ActiveStorage
1256
+ diagnostic_dumps: Диагностические дампы
1257
+ diagnostic_dump:
1258
+ disabled: Диагностические дампы не включены.
1259
+ captured: Диагностический дамп успешно собран.
1260
+ failed: 'Не удалось собрать диагностический дамп: %{message}'
1261
+ coverage:
1262
+ not_enabled: Отслеживание покрытия не включено в конфигурации.
1263
+ enabled: Покрытие путей выполнения включено. Воспроизведите ошибку, затем
1264
+ откройте исходный код, чтобы увидеть выполненные строки.
1265
+ disabled: Покрытие путей выполнения отключено.
1266
+ unavailable: Не удалось включить покрытие. Требуется Ruby 3.2+.
1267
+ test_error:
1268
+ logged: Тестовая ошибка успешно записана. Проверьте каналы уведомлений (Slack,
1269
+ Discord, эл. почта и др.), чтобы подтвердить доставку.
1270
+ failed: 'Не удалось записать тестовую ошибку: %{message}'
1271
+ swallowed_requires_ruby: Обнаружение подавленных исключений (swallowed exception)
1272
+ требует Ruby 3.3+ (у вас %{version}). Обновите Ruby, чтобы использовать эту
1273
+ возможность.
1274
+ ai_help:
1275
+ not_configured: AI-помощь не настроена
1276
+ blank_question: Вопрос не может быть пустым
1277
+ question_too_long: Вопрос слишком длинный. Уложитесь в %{limit} символов.
1278
+ commands:
1279
+ no_error_ids: Не указаны идентификаторы ошибок
1280
+ invalid_action: Недопустимый тип действия
1281
+ issue:
1282
+ not_configured: Отслеживание задач не настроено
1283
+ already_linked: 'К ошибке уже привязана задача: %{url}'
1284
+ url_required: Требуется URL задачи
1285
+ error_not_found: 'Ошибка не найдена: %{id}'
1286
+ batch_failed:
1287
+ mute:
1288
+ one: Не удалось заглушить %{count} ошибку
1289
+ other: Не удалось заглушить %{count} ошибки
1290
+ few: Не удалось заглушить %{count} ошибки
1291
+ many: Не удалось заглушить %{count} ошибок
1292
+ unmute:
1293
+ one: Не удалось включить обратно %{count} ошибку
1294
+ other: Не удалось включить обратно %{count} ошибки
1295
+ few: Не удалось включить обратно %{count} ошибки
1296
+ many: Не удалось включить обратно %{count} ошибок
1297
+ resolve:
1298
+ one: Не удалось решить %{count} ошибку
1299
+ other: Не удалось решить %{count} ошибки
1300
+ few: Не удалось решить %{count} ошибки
1301
+ many: Не удалось решить %{count} ошибок
1302
+ mailers:
1303
+ shared:
1304
+ product_name: Rails Error Dashboard
1305
+ unknown_application: Неизвестно
1306
+ error_alert:
1307
+ subject: "\U0001F6A8 [%{application}] %{error_type}: %{message}"
1308
+ heading: "\U0001F6A8 Оповещение об ошибке"
1309
+ labels:
1310
+ application: Приложение
1311
+ error_type: Тип ошибки
1312
+ platform: Платформа
1313
+ occurred_at: Время возникновения
1314
+ user_id: ID пользователя
1315
+ ip_address: IP-адрес
1316
+ request_url: URL запроса
1317
+ message: Сообщение
1318
+ error_id: ID ошибки
1319
+ stack_trace:
1320
+ one: Backtrace (первая %{count} строка)
1321
+ other: Backtrace (первые %{count} строки)
1322
+ few: Backtrace (первые %{count} строки)
1323
+ many: Backtrace (первые %{count} строк)
1324
+ view_details: Открыть подробности в панели
1325
+ view_details_text: 'Открыть подробности в панели:'
1326
+ footer: Это автоматическое уведомление об ошибке от %{product}.
1327
+ digest:
1328
+ subject:
1329
+ one: Сводка RED — %{count} новая ошибка (%{period})
1330
+ other: Сводка RED — %{count} новые ошибки (%{period})
1331
+ few: Сводка RED — %{count} новые ошибки (%{period})
1332
+ many: Сводка RED — %{count} новых ошибок (%{period})
1333
+ heading: Сводка ошибок RED
1334
+ periods:
1335
+ daily: Последние 24 часа
1336
+ weekly: Последние 7 дней
1337
+ generated_at: Сформировано
1338
+ summary: Сводка
1339
+ stats:
1340
+ new_errors: Новые ошибки
1341
+ total_occurrences: Появления
1342
+ total_occurrences_text: Всего появлений
1343
+ resolved: Решено
1344
+ unresolved: Не решено
1345
+ critical_high: Критические/высокие
1346
+ resolution_rate: Доля решённых
1347
+ comparison:
1348
+ heading: По сравнению с прошлым периодом
1349
+ versus: 'по сравнению с прошлым периодом (%{period}):'
1350
+ current: Текущий
1351
+ previous: Предыдущий
1352
+ change: Изменение
1353
+ delta:
1354
+ one: "%{delta} ошибка"
1355
+ other: "%{delta} ошибки"
1356
+ few: "%{delta} ошибки"
1357
+ many: "%{delta} ошибок"
1358
+ critical_unresolved: Критические и высокие, не решённые
1359
+ top_errors: Топ ошибок по количеству
1360
+ columns:
1361
+ severity: Важность
1362
+ error: Ошибка
1363
+ error_type: Тип ошибки
1364
+ count: Количество
1365
+ view: Открыть
1366
+ open_dashboard: Открыть панель
1367
+ view_dashboard_text: 'Открыть полную панель:'
1368
+ manage_settings: Настройки сводки
1369
+ footer: Автоматическая сводка от RED (%{product})
1370
+ notifications:
1371
+ shared:
1372
+ product_name: Rails Error Dashboard
1373
+ unknown: Неизвестно
1374
+ not_available: Н/Д
1375
+ error_alert:
1376
+ fallback: "\U0001F6A8 Оповещение о новой ошибке"
1377
+ heading: "\U0001F6A8 Оповещение об ошибке"
1378
+ discord_title: "\U0001F6A8 Новая ошибка: %{error_type}"
1379
+ pagerduty_summary: "[%{application}] Критическая ошибка: %{error_type} в %{platform}"
1380
+ labels:
1381
+ application: Приложение
1382
+ error_type: Тип ошибки
1383
+ platform: Платформа
1384
+ occurred: Возникла
1385
+ message: Сообщение
1386
+ user: Пользователь
1387
+ ip_address: IP-адрес
1388
+ request_url: URL запроса
1389
+ occurrences: Появления
1390
+ controller: Контроллер
1391
+ action: Действие
1392
+ first_seen: Впервые замечена
1393
+ location: Расположение
1394
+ user_fallback: 'Пользователь #%{id}'
1395
+ view_details: Подробности
1396
+ view_in_dashboard: Открыть в Error Dashboard
1397
+ error_id: 'ID ошибки: %{id}'
1398
+ baseline_alert:
1399
+ fallback: "\U0001F6A8 Оповещение об отклонении от базовой линии"
1400
+ heading: "\U0001F6A8 Обнаружено отклонение от базовой линии"
1401
+ labels:
1402
+ severity: Важность
1403
+ std_devs: Стандартные отклонения
1404
+ threshold: Порог
1405
+ baseline_type: Тип базовой линии
1406
+ baseline_info: Сведения о базовой линии
1407
+ level:
1408
+ critical: КРИТИЧЕСКИЙ
1409
+ high: ВЫСОКИЙ
1410
+ elevated: ПОВЫШЕННЫЙ
1411
+ unknown: НЕИЗВЕСТНО
1412
+ std_devs_above: "%{value}σ выше базовой линии"
1413
+ threshold_errors:
1414
+ one: "%{value} ошибка"
1415
+ other: "%{value} ошибки"
1416
+ few: "%{value} ошибки"
1417
+ many: "%{value} ошибок"
1418
+ view_in_dashboard: Открыть в панели
1419
+ storm:
1420
+ detected: Обнаружен шторм ошибок в %{application} в %{started_at}.
1421
+ mode:
1422
+ open: режим только подсчёта (появления считаются, сбор подробностей приостановлен)
1423
+ shedding: режим сброса нагрузки (выборочный сбор контекста)
1424
+ engaged: Сработала защита от шторма — %{mode}.
1425
+ suppressed: Уведомления по отдельным ошибкам подавлены до окончания шторма;
1426
+ точные подсчёты сохраняются.
1427
+ dashboard: 'Панель: %{url}'
1428
+ time:
1429
+ ago: "%{duration} назад"
1430
+ formats:
1431
+ full: "%d %B %Y, %H:%M:%S"
1432
+ short: "%d.%m %H:%M"
1433
+ date_only: "%d %B %Y"
1434
+ time_only: "%H:%M:%S"
1435
+ datetime: "%d %b %Y, %H:%M"
1436
+ health:
1437
+ columns:
1438
+ error: Ошибка
1439
+ last_seen: Последнее появление
1440
+ database:
1441
+ title: Состояние базы данных
1442
+ stats:
1443
+ errors_with_pool: Ошибки с данными пула
1444
+ peak_utilization: Пиковая загрузка
1445
+ total_dead: Всего мёртвых
1446
+ total_waiting: Всего в ожидании
1447
+ live:
1448
+ title: Состояние базы данных в реальном времени
1449
+ non_postgresql: Обнаружен адаптер, отличный от PostgreSQL (%{adapter}).
1450
+ non_postgresql_hint: Статистика таблиц, индексов и активности в реальном
1451
+ времени требует PostgreSQL. Пул соединений и исторические данные доступны
1452
+ ниже.
1453
+ pool_size: Размер пула
1454
+ busy: Занято
1455
+ idle: Простаивает
1456
+ dead: Мёртвых
1457
+ waiting: В ожидании
1458
+ summary:
1459
+ total_db_size: Общий размер БД
1460
+ tables: Таблицы
1461
+ unused_indexes: Неиспользуемые индексы
1462
+ active_connections: Активные соединения
1463
+ host_tables:
1464
+ title: Таблицы основного приложения
1465
+ gem_tables:
1466
+ title: Таблицы Error Dashboard
1467
+ unused_indexes:
1468
+ title: Неиспользуемые индексы
1469
+ column_index: Индекс
1470
+ column_table: Таблица
1471
+ column_size: Размер
1472
+ activity:
1473
+ title: Активность соединений
1474
+ total_badge: всего %{count}
1475
+ waiting_badge: в ожидании %{count}
1476
+ column_state: Состояние
1477
+ column_count: Количество
1478
+ column_waiting: В ожидании
1479
+ table_columns:
1480
+ table: Таблица
1481
+ est_rows: Строк (оценка)
1482
+ size: Размер
1483
+ seq_scans: Посл. сканирования
1484
+ idx_scans: Индексные сканирования
1485
+ dead_tuples: Мёртвые кортежи
1486
+ last_vacuum: Последний vacuum
1487
+ never_vacuumed: Никогда
1488
+ pool_history:
1489
+ title: Пул соединений по ошибкам
1490
+ empty_title: Данные о пуле соединений не найдены
1491
+ empty_message_html: За последние %{days} дн. в снимках состояния системы
1492
+ не обнаружено статистики пула соединений. Включите <code>enable_system_health
1493
+ = true</code>, чтобы записывать статистику пула в момент ошибки.
1494
+ column_error: Ошибка
1495
+ column_error_type: Тип ошибки
1496
+ column_utilization: Загрузка
1497
+ column_busy: Занято
1498
+ column_idle: Простаивает
1499
+ column_dead: Мёртвых
1500
+ column_waiting: В ожидании
1501
+ column_pool_size: Размер пула
1502
+ column_last_seen: Последнее появление
1503
+ tip: Высокая загрузка во время ошибок может указывать на исчерпание пула
1504
+ соединений или долгие запросы.
1505
+ guide_link: Руководство по базе данных
1506
+ llm:
1507
+ title: Состояние LLM
1508
+ disabled:
1509
+ title: Наблюдаемость LLM не включена
1510
+ message: Чтобы видеть здесь статистику по моделям LLM, включите наблюдаемость
1511
+ LLM и breadcrumbs.
1512
+ enable_in_html: 'Включите в <code>config/initializers/rails_error_dashboard.rb</code>:'
1513
+ empty:
1514
+ title: Вызовы LLM не обнаружены
1515
+ message: 'За последние %{days} дн. в breadcrumbs ошибок не зафиксировано
1516
+ вызовов API LLM. Инструментируйте вызовы LLM одним из трёх способов:'
1517
+ tab_otel: OpenTelemetry
1518
+ tab_faraday: Faraday / RubyLLM
1519
+ tab_manual: Вручную
1520
+ otel_hint: Уже используете коллектор OTel? Подключите этот gem, и мы подпишемся
1521
+ автоматически.
1522
+ otel_requires_html: Требуется <code>enable_llm_observability = true</code>.
1523
+ faraday_hint: Используете <code>ruby_llm</code>, <code>openai</code>, <code>anthropic</code>
1524
+ или любой SDK на основе Faraday? Добавьте middleware один раз.
1525
+ faraday_note: RED автоматически определяет провайдера, модель и токены из
1526
+ запроса и ответа.
1527
+ manual_hint: Прямые вызовы <code>Net::HTTP</code>, gRPC, локальный инференс
1528
+ или что-то иное — инструментируйте вручную.
1529
+ manual_note_html: Стоимость оценивается автоматически по токенам — payload
1530
+ может переопределить её через <code>cost_usd_estimate:</code>.
1531
+ stats:
1532
+ calls: Вызовы LLM
1533
+ models: Модели
1534
+ errors_with_llm: Ошибки с LLM (%{rate}%)
1535
+ total_cost: Общая стоимость
1536
+ by_model:
1537
+ title: Производительность по моделям
1538
+ column_provider_model: Провайдер · Модель
1539
+ column_calls: Вызовы
1540
+ column_tools: Инструменты
1541
+ column_avg_tokens: Ср. токенов
1542
+ column_avg_latency: Ср. задержка
1543
+ column_error_rate: Доля ошибок
1544
+ column_cost: Стоимость
1545
+ column_top_error: Частая ошибка
1546
+ column_last_seen: Последнее появление
1547
+ avg_tokens_in: вх.
1548
+ avg_tokens_out: исх.
1549
+ failed_count: "%{count} с ошибкой"
1550
+ tip_html: Высокая доля ошибок у модели часто указывает на квоты или ограничения
1551
+ частоты. Медленная работа (&gt;5 с) говорит о деградации провайдера.
1552
+ guide_link: Руководство по инструментированию
1553
+ cache:
1554
+ title: Состояние кэша
1555
+ empty:
1556
+ title: Активность кэша не найдена
1557
+ message: За последние %{days} дн. в breadcrumbs ошибок не обнаружено операций
1558
+ с кэшем.
1559
+ how_it_works: 'Как работает отслеживание кэша:'
1560
+ step_breadcrumbs_html: Breadcrumbs должны быть включены (<code>enable_breadcrumbs
1561
+ = true</code>)
1562
+ step_capture: Чтения и записи кэша фиксируются как breadcrumbs во время
1563
+ запросов, приводящих к ошибкам
1564
+ step_hit_status: Для операций чтения отслеживается попадание или промах
1565
+ step_sort: На этой странице показана производительность кэша по каждой ошибке,
1566
+ худшие — первыми
1567
+ stats:
1568
+ errors_with_cache: Ошибки с кэшем
1569
+ avg_hit_rate: Ср. доля попаданий
1570
+ total_ops: Всего операций с кэшем
1571
+ table:
1572
+ title: Производительность кэша по ошибкам
1573
+ column_error: Ошибка
1574
+ column_reads: Чтения
1575
+ column_writes: Записи
1576
+ column_hit_rate: Доля попаданий
1577
+ column_total_time: Общее время
1578
+ column_slowest_op: Самая медленная
1579
+ column_last_seen: Последнее появление
1580
+ tip: Низкая доля попаданий может означать, что ключи кэша истекают слишком
1581
+ быстро или задаются неверно.
1582
+ guide_link: Руководство по кэшированию в Rails
1583
+ job:
1584
+ title: Состояние фоновых задач
1585
+ empty:
1586
+ title: Данные об очередях задач не найдены
1587
+ message: За последние %{days} дн. в снимках состояния системы не обнаружено
1588
+ статистики очередей задач.
1589
+ how_it_works: 'Как работает отслеживание состояния задач:'
1590
+ step_enable_html: Состояние системы должно быть включено (<code>enable_system_health
1591
+ = true</code>)
1592
+ step_capture: Статистика очередей собирается автоматически при обнаружении
1593
+ Sidekiq, SolidQueue или GoodJob
1594
+ step_collected: Статистика собирается по каждой ошибке в момент захвата
1595
+ step_sort: На этой странице показано состояние очередей по каждой ошибке,
1596
+ отсортированное по числу неудач
1597
+ stats:
1598
+ errors_with_jobs: Ошибки с данными о задачах
1599
+ total_failed: Всего неудачных задач
1600
+ adapters_detected: Обнаружено адаптеров
1601
+ table:
1602
+ title: Состояние очередей задач по ошибкам
1603
+ column_error: Ошибка
1604
+ column_adapter: Адаптер
1605
+ column_failed: Неудачных
1606
+ column_queued: В очереди
1607
+ column_other_stats: Другая статистика
1608
+ column_last_seen: Последнее появление
1609
+ enqueued: в очереди
1610
+ ready: готово
1611
+ queued: в очереди
1612
+ other_stats_sidekiq: 'мёртвых: %{dead}, повторов: %{retry}, воркеров: %{workers}'
1613
+ other_stats_solid_queue: 'захвачено: %{claimed}, заблокировано: %{blocked},
1614
+ запланировано: %{scheduled}'
1615
+ other_stats_good_job: 'завершено: %{finished}'
1616
+ tip: Большое число неудачных задач во время ошибок может указывать на перегрузку
1617
+ очереди или проблемы вышестоящих сервисов.
1618
+ guide_link: Руководство по Active Job
1619
+ actioncable:
1620
+ title: Состояние ActionCable
1621
+ empty:
1622
+ title: События ActionCable не найдены
1623
+ message: За последние %{days} дн. в breadcrumbs ошибок не обнаружено действий
1624
+ каналов, передач или событий подписки ActionCable.
1625
+ how_it_works: 'Как работает отслеживание ActionCable:'
1626
+ step_breadcrumbs_html: Breadcrumbs должны быть включены (<code>enable_breadcrumbs
1627
+ = true</code>)
1628
+ step_tracking_html: Отслеживание ActionCable должно быть включено (<code>enable_actioncable_tracking
1629
+ = true</code>)
1630
+ step_configured: ActionCable должен быть настроен в вашем приложении
1631
+ step_capture: Действия каналов, передачи и события подписки фиксируются
1632
+ как breadcrumbs во время запросов, приводящих к ошибкам
1633
+ stats:
1634
+ active_channels: Активные каналы
1635
+ total_events: Всего событий
1636
+ subscription_rejections: Отклонённые подписки
1637
+ table:
1638
+ title: События ActionCable по каналам
1639
+ column_channel: Канал
1640
+ column_actions: Действия
1641
+ column_transmissions: Передачи
1642
+ column_subscriptions: Подписки
1643
+ column_rejections: Отклонения
1644
+ column_errors: Ошибки
1645
+ column_last_seen: Последнее появление
1646
+ tip: События ActionCable фиксируются, когда они совпадают с ошибками. Большое
1647
+ число отклонений может указывать на проблемы аутентификации или авторизации.
1648
+ guide_link: Руководство по ActionCable
1649
+ activestorage:
1650
+ title: Состояние ActiveStorage
1651
+ empty:
1652
+ title: События ActiveStorage не найдены
1653
+ message: За последние %{days} дн. в breadcrumbs ошибок не обнаружено операций
1654
+ сервисов ActiveStorage.
1655
+ how_it_works: 'Как работает отслеживание ActiveStorage:'
1656
+ step_breadcrumbs_html: Breadcrumbs должны быть включены (<code>enable_breadcrumbs
1657
+ = true</code>)
1658
+ step_tracking_html: Отслеживание ActiveStorage должно быть включено (<code>enable_activestorage_tracking
1659
+ = true</code>)
1660
+ step_configured: ActiveStorage должен быть настроен в вашем приложении
1661
+ step_capture: Загрузки, скачивания и удаления фиксируются как breadcrumbs
1662
+ во время запросов, приводящих к ошибкам
1663
+ stats:
1664
+ storage_services: Сервисы хранилища
1665
+ total_operations: Всего операций
1666
+ errors_with_storage: Ошибки с операциями хранилища
1667
+ table:
1668
+ title: Операции хранилища по сервисам
1669
+ column_service: Сервис
1670
+ column_uploads: Загрузки
1671
+ column_downloads: Скачивания
1672
+ column_deletes: Удаления
1673
+ column_exists: Проверки наличия
1674
+ column_total: Всего
1675
+ column_avg_duration: Ср. длительность
1676
+ column_slowest: Самая медленная
1677
+ column_errors: Ошибки
1678
+ column_last_seen: Последнее появление
1679
+ tip: Медленные операции хранилища могут указывать на проблемы сети, большие
1680
+ файлы или ограничения со стороны провайдера.
1681
+ guide_link: Руководство по ActiveStorage
1682
+ analytics:
1683
+ stability:
1684
+ green: Зелёный
1685
+ yellow: Жёлтый
1686
+ red: Красный
1687
+ trend:
1688
+ increasing_significantly: значительно растёт
1689
+ increasing: растёт
1690
+ stable: стабильно
1691
+ decreasing: снижается
1692
+ decreasing_significantly: значительно снижается
1693
+ correlation_strength:
1694
+ strong: Сильная
1695
+ moderate: Умеренная
1696
+ weak: Слабая
1697
+ days_pill:
1698
+ '7': 7 дн.
1699
+ '14': 14 дн.
1700
+ '30': 30 дн.
1701
+ '60': 60 дн.
1702
+ '90': 90 дн.
1703
+ overview:
1704
+ title: Аналитика
1705
+ stats:
1706
+ total_errors: Всего ошибок
1707
+ unresolved: Не решено
1708
+ resolution_rate: Доля решённых
1709
+ trend_chart:
1710
+ title: Динамика ошибок (за %{days} дн.)
1711
+ platform_chart:
1712
+ title: Ошибки по платформам
1713
+ quick_links: 'Быстрые ссылки:'
1714
+ type_chart:
1715
+ title: Топ-10 типов ошибок
1716
+ hour_chart:
1717
+ title: Ошибки по часам суток
1718
+ top_users:
1719
+ title: Топ-10 затронутых пользователей
1720
+ type_breakdown:
1721
+ title: Разбивка по типам ошибок
1722
+ subtitle: За последние %{days} дн.
1723
+ column_rank: Место
1724
+ column_error_type: Тип ошибки
1725
+ column_count: Количество
1726
+ column_percentage: Доля
1727
+ column_actions: Действия
1728
+ view_errors: Смотреть ошибки
1729
+ recurring:
1730
+ title: Повторяющиеся проблемы
1731
+ high_frequency_title: Часто возникающие ошибки
1732
+ column_error_type: Тип ошибки
1733
+ column_total_occurrences: Всего появлений
1734
+ column_duration: Длительность
1735
+ column_first_seen: Впервые замечена
1736
+ column_last_seen: Последнее появление
1737
+ column_status: Статус
1738
+ duration_days: "%{days} дн."
1739
+ active: Активна
1740
+ inactive: Неактивна
1741
+ empty_high_frequency: За последние %{days} дн. часто возникающих ошибок
1742
+ не найдено.
1743
+ persistent_title: Давно не решённые ошибки
1744
+ persistent_hint: Эти ошибки не решены более 7 дней.
1745
+ column_message: Сообщение
1746
+ column_platform: Платформа
1747
+ column_count: Количество
1748
+ column_age: Возраст
1749
+ column_actions: Действия
1750
+ age_days: "%{days} дн."
1751
+ view: Открыть
1752
+ releases:
1753
+ version_chart_title: Ошибки по версиям релизов
1754
+ comparison_title: Последний против предыдущего
1755
+ latest_version: Последняя версия
1756
+ latest_errors:
1757
+ one: "%{count} ошибка"
1758
+ other: "%{count} ошибки"
1759
+ few: "%{count} ошибки"
1760
+ many: "%{count} ошибок"
1761
+ latest_critical:
1762
+ one: "%{count} критическая"
1763
+ other: "%{count} критические"
1764
+ few: "%{count} критические"
1765
+ many: "%{count} критических"
1766
+ previous_version: Предыдущая версия
1767
+ previous_errors:
1768
+ one: "%{count} ошибка"
1769
+ other: "%{count} ошибки"
1770
+ few: "%{count} ошибки"
1771
+ many: "%{count} ошибок"
1772
+ previous_critical:
1773
+ one: "%{count} критическая"
1774
+ other: "%{count} критические"
1775
+ few: "%{count} критические"
1776
+ many: "%{count} критических"
1777
+ change: Изменение
1778
+ empty: Недостаточно данных о релизах для сравнения.
1779
+ problematic_title: Обнаружены проблемные релизы
1780
+ problematic_hint_html: 'У следующих релизов заметно более высокая частота
1781
+ ошибок (&gt;%{multiplier}x среднего):'
1782
+ problematic_entry: "%{count} ошибок (%{critical} критических, +%{deviation}%
1783
+ от среднего)"
1784
+ mttr:
1785
+ title: Скорость решения (MTTR)
1786
+ overall_title: Общий MTTR
1787
+ overall_hint: Среднее время решения
1788
+ fastest_title: Быстрее всего
1789
+ fastest_hint: Лучшее время решения
1790
+ slowest_title: Медленнее всего
1791
+ slowest_hint: Самое долгое время решения
1792
+ total_resolved_title: Всего решено
1793
+ total_resolved_hint: За последние %{days} дн.
1794
+ by_platform_title: MTTR по платформам
1795
+ by_severity_title: MTTR по важности
1796
+ column_severity: Важность
1797
+ column_avg_time: Среднее время до решения
1798
+ column_actions: Действия
1799
+ hours: "%{hours} ч."
1800
+ view: Открыть
1801
+ trend_title: Динамика MTTR (по неделям)
1802
+ correlation:
1803
+ title: Анализ корреляции ошибок
1804
+ trend_analysis:
1805
+ title: Анализ динамики
1806
+ current_period: Текущий период
1807
+ previous_period: Предыдущий период
1808
+ change: Изменение
1809
+ period_range: "%{start} — %{end}"
1810
+ problematic_releases:
1811
+ title: Проблемные релизы
1812
+ hint: Версии, у которых частота ошибок более чем вдвое выше средней
1813
+ column_version: Версия
1814
+ column_error_count: Число ошибок
1815
+ column_deviation: Отклонение от среднего
1816
+ column_critical: Критические ошибки
1817
+ column_unique_types: Уникальные типы ошибок
1818
+ column_platforms: Платформы
1819
+ column_actions: Действия
1820
+ view: Открыть
1821
+ by_version:
1822
+ title: Ошибки по версиям приложения
1823
+ column_version: Версия
1824
+ column_errors: Ошибки
1825
+ column_types: Типы
1826
+ column_critical: Критические
1827
+ by_git_sha:
1828
+ title: Ошибки по Git SHA
1829
+ column_sha: SHA
1830
+ column_errors: Ошибки
1831
+ column_types: Типы
1832
+ column_versions: Версии
1833
+ multi_error_users:
1834
+ title: Пользователи, затронутые несколькими типами ошибок
1835
+ hint: Пользователи, столкнувшиеся с 2 и более разными типами ошибок
1836
+ truncated: Показано %{shown} из %{total} пользователей
1837
+ time_correlated:
1838
+ title: Ошибки, связанные по времени
1839
+ hint: Типы ошибок, возникающие в близкое время суток
1840
+ column_error_type_a: Тип ошибки A
1841
+ column_error_type_b: Тип ошибки B
1842
+ column_correlation: Корреляция
1843
+ column_strength: Сила
1844
+ truncated: Показано %{shown} из %{total} связанных пар ошибок
1845
+ platform_specific:
1846
+ title: Ошибки, зависящие от платформы, и кроссплатформенные
1847
+ occurrences:
1848
+ one: "%{count} появление"
1849
+ other: "%{count} появления"
1850
+ few: "%{count} появления"
1851
+ many: "%{count} появлений"
1852
+ platform_specific: Зависит от платформы
1853
+ cross_platform: Кроссплатформенная
1854
+ also_on: 'Также на: %{platforms}'
1855
+ empty:
1856
+ title: Недостаточно данных для анализа корреляции
1857
+ message: Для выявления закономерностей анализу корреляции нужно больше данных
1858
+ об ошибках.
1859
+ needed_title: 'Что необходимо:'
1860
+ needed_version: Отслеживание версии приложения — для корреляции по релизам
1861
+ needed_user: Отслеживание пользователей — для корреляции по пользователям
1862
+ needed_types: Несколько типов ошибок — для корреляции по времени
1863
+ hint: Зайдите позже, когда накопится больше ошибок.
1864
+ platform_comparison:
1865
+ title: Сравнение состояния платформ
1866
+ empty:
1867
+ title: Данные по платформам отсутствуют
1868
+ message: За выбранный период (%{days} дн.) ошибок не зафиксировано.
1869
+ hint: Попробуйте выбрать более длительный период или зайдите позже.
1870
+ health_card:
1871
+ healthy: В норме
1872
+ warning: Предупреждение
1873
+ critical: Критично
1874
+ stability_score: Оценка стабильности
1875
+ total_errors: 'Всего ошибок:'
1876
+ critical_errors: 'Критических:'
1877
+ unresolved: 'Не решено:'
1878
+ resolution_rate: 'Доля решённых:'
1879
+ error_velocity: 'Темп появления ошибок:'
1880
+ view_errors: 'Смотреть ошибки: %{platform}'
1881
+ error_rate_chart:
1882
+ title: Частота ошибок по платформам
1883
+ daily_trend_chart:
1884
+ title: Ежедневная динамика ошибок
1885
+ severity_distribution:
1886
+ title: Распределение по важности
1887
+ severity_count: "%{label}: %{count}"
1888
+ breakdown_html: "%{critical} | %{high} | %{medium} | %{low}"
1889
+ empty: Нет ошибок
1890
+ resolution_time_chart:
1891
+ title: Среднее время решения
1892
+ cross_platform:
1893
+ title: Кроссплатформенные ошибки
1894
+ column_error_type: Тип ошибки
1895
+ column_platforms: Платформы
1896
+ column_total_occurrences: Всего появлений
1897
+ column_breakdown: Разбивка
1898
+ top_errors:
1899
+ title: Топ ошибок — %{platform}
1900
+ empty: Ошибок не найдено
1901
+ releases:
1902
+ title: Релизы
1903
+ empty:
1904
+ title: Данные о релизах не найдены
1905
+ message: За последние %{days} дн. в ошибках не обнаружено данных о версии.
1906
+ how_to_title: 'Как включить отслеживание релизов:'
1907
+ step_config_html: Задайте %{option} в инициализаторе
1908
+ step_env_html: Или задайте переменную окружения %{env_var}
1909
+ step_git_sha_html: Git SHA определяется автоматически из %{git_sha}, %{heroku}
1910
+ или %{render}
1911
+ step_captured: Версия и SHA записываются автоматически при возникновении
1912
+ ошибок
1913
+ summary:
1914
+ releases: Релизы
1915
+ current_release: Текущий релиз
1916
+ avg_errors: Ср. ошибок на релиз
1917
+ problematic: Проблемные релизы
1918
+ current_card:
1919
+ title: 'Текущий релиз:'
1920
+ live_badge: В работе
1921
+ errors: Ошибки
1922
+ error_types: Типы ошибок
1923
+ new_errors: Новые ошибки
1924
+ stability: Стабильность
1925
+ git_sha: Git SHA
1926
+ vs_previous: К предыдущему
1927
+ timeline:
1928
+ title: Хронология релизов
1929
+ column_version: Версия
1930
+ column_git_sha: Git SHA
1931
+ column_time_range: Период
1932
+ column_errors: Ошибки
1933
+ column_types: Типы
1934
+ column_new_errors: Новые ошибки
1935
+ column_stability: Стабильность
1936
+ column_vs_previous: К предыдущему
1937
+ current_badge: Текущий
1938
+ problematic_badge: Проблемный
1939
+ more_shas: "+%{count}"
1940
+ new_count:
1941
+ one: "%{count} новая"
1942
+ other: "%{count} новые"
1943
+ few: "%{count} новые"
1944
+ many: "%{count} новых"
1945
+ footer_html: 'Стабильность: <span class="badge bg-success">Зелёный</span>
1946
+ &le; среднего числа ошибок, <span class="badge bg-warning">Жёлтый</span>
1947
+ 1-2x среднего, <span class="badge bg-danger">Красный</span> &gt; 2x среднего.
1948
+ «Новые» ошибки — это типы ошибок, впервые замеченные в данном релизе.'
1949
+ user_impact:
1950
+ title: Влияние на пользователей
1951
+ empty:
1952
+ title: Нет данных о влиянии на пользователей
1953
+ message: За последние %{days} дн. не найдено ошибок с привязкой к пользователю.
1954
+ how_tracked_title: 'Как отслеживается влияние на пользователей:'
1955
+ step_user_id_html: С ошибкой должен быть связан %{attribute}
1956
+ step_auto_html: Определяется автоматически через %{current_attributes} или
1957
+ %{current_user}
1958
+ step_config_html: Либо задайте %{option} в инициализаторе
1959
+ summary:
1960
+ error_types: Типы ошибок с пользователями
1961
+ total_users_affected: Всего затронуто пользователей
1962
+ most_impactful: Самая влиятельная ошибка
1963
+ total_users: Всего пользователей (для %)
1964
+ table:
1965
+ title: Ошибки по влиянию на пользователей
1966
+ column_rank: "#"
1967
+ column_error_type: Тип ошибки
1968
+ column_unique_users: Уникальных пользователей
1969
+ column_occurrences: Появления
1970
+ column_impact_percentage: "% затронутых"
1971
+ column_severity: Важность
1972
+ column_last_seen: Последнее появление
1973
+ users:
1974
+ one: "%{count} пользователь"
1975
+ other: "%{count} пользователя"
1976
+ few: "%{count} пользователя"
1977
+ many: "%{count} пользователей"
1978
+ occurrences:
1979
+ one: "%{count}x"
1980
+ other: "%{count}x"
1981
+ few: "%{count}x"
1982
+ many: "%{count}x"
1983
+ footer: Ранжирование по числу уникальных затронутых пользователей, а не
1984
+ по количеству появлений. Ошибка, затронувшая 1000 пользователей один раз,
1985
+ хуже, чем ошибка, 1000 раз затронувшая одного.
1986
+ js:
1987
+ months:
1988
+ - января
1989
+ - февраля
1990
+ - марта
1991
+ - апреля
1992
+ - мая
1993
+ - июня
1994
+ - июля
1995
+ - августа
1996
+ - сентября
1997
+ - октября
1998
+ - ноября
1999
+ - декабря
2000
+ months_short:
2001
+ - янв.
2002
+ - февр.
2003
+ - мар.
2004
+ - апр.
2005
+ - мая
2006
+ - июн.
2007
+ - июл.
2008
+ - авг.
2009
+ - сент.
2010
+ - окт.
2011
+ - нояб.
2012
+ - дек.
2013
+ days:
2014
+ - воскресенье
2015
+ - понедельник
2016
+ - вторник
2017
+ - среда
2018
+ - четверг
2019
+ - пятница
2020
+ - суббота
2021
+ days_short:
2022
+ - вс
2023
+ - пн
2024
+ - вт
2025
+ - ср
2026
+ - чт
2027
+ - пт
2028
+ - сб
2029
+ meridian:
2030
+ am: AM
2031
+ pm: PM
2032
+ intl_locale: ru-RU
2033
+ duration:
2034
+ seconds:
2035
+ one: "%{count} секунда"
2036
+ other: "%{count} секунды"
2037
+ few: "%{count} секунды"
2038
+ many: "%{count} секунд"
2039
+ minutes:
2040
+ one: "%{count} минута"
2041
+ other: "%{count} минуты"
2042
+ few: "%{count} минуты"
2043
+ many: "%{count} минут"
2044
+ hours:
2045
+ one: "%{count} час"
2046
+ other: "%{count} часа"
2047
+ few: "%{count} часа"
2048
+ many: "%{count} часов"
2049
+ days:
2050
+ one: "%{count} день"
2051
+ other: "%{count} дня"
2052
+ few: "%{count} дня"
2053
+ many: "%{count} дней"
2054
+ months:
2055
+ one: "%{count} месяц"
2056
+ other: "%{count} месяца"
2057
+ few: "%{count} месяца"
2058
+ many: "%{count} месяцев"
2059
+ years:
2060
+ one: "%{count} год"
2061
+ other: "%{count} года"
2062
+ few: "%{count} года"
2063
+ many: "%{count} лет"
2064
+ selected:
2065
+ one: Выбрана %{count}
2066
+ other: Выбрано %{count}
2067
+ few: Выбрано %{count}
2068
+ many: Выбрано %{count}
2069
+ titles:
2070
+ local_time: Ваше местное время (нажмите, чтобы увидеть UTC)
2071
+ utc_time: Время UTC (нажмите, чтобы увидеть местное)
2072
+ exact_time: Нажмите, чтобы увидеть точное время
2073
+ relative_time: Нажмите, чтобы увидеть относительное время
2074
+ ui_js:
2075
+ toast:
2076
+ loading: Загрузка...
2077
+ copied: Скопировано!
2078
+ copied_to_clipboard: Скопировано в буфер обмена!
2079
+ failed: Не удалось
2080
+ copy_failed: Не удалось скопировать в буфер обмена
2081
+ downloaded: Загружено!
2082
+ ai_help:
2083
+ question_required: Сначала введите вопрос.
2084
+ streaming: Потоковая передача...
2085
+ streaming_unsupported: Этот браузер не поддерживает потоковую передачу.
2086
+ request_failed: Запрос не выполнен.
2087
+ sections:
2088
+ error: Ошибка
2089
+ request: Запрос
2090
+ deprecations: Устаревшее
2091
+ n_plus_one: N+1
2092
+ cache: Кэш
2093
+ breadcrumbs: Breadcrumbs
2094
+ similar: Похожие
2095
+ co_occurring: Сопутствующие
2096
+ timeline: Хронология
2097
+ issue: Задача
2098
+ discussion: Обсуждение
2099
+ cascades: Каскады
2100
+ patterns: Паттерны
2101
+ charts:
2102
+ axis_date: Дата
2103
+ axis_hour: Час
2104
+ axis_error_type: Тип ошибки
2105
+ axis_count: Количество
2106
+ axis_number_of_errors: Количество ошибок
2107
+ axis_hours: Часы
2108
+ series_total_errors: Всего ошибок
2109
+ series_hours_to_resolve: Часов до решения