smriti 0.5.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 (124) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +168 -0
  4. data/Rakefile +15 -0
  5. data/app/assets/images/smriti/android-chrome-192x192.png +0 -0
  6. data/app/assets/images/smriti/android-chrome-512x512.png +0 -0
  7. data/app/assets/images/smriti/apple-touch-icon.png +0 -0
  8. data/app/assets/images/smriti/favicon-16x16.png +0 -0
  9. data/app/assets/images/smriti/favicon-32x32.png +0 -0
  10. data/app/assets/images/smriti/favicon-48x48.png +0 -0
  11. data/app/assets/images/smriti/favicon.ico +0 -0
  12. data/app/assets/images/smriti/favicon.svg +18 -0
  13. data/app/assets/images/smriti/logo.svg +18 -0
  14. data/app/assets/images/smriti/mask-icon.svg +5 -0
  15. data/app/assets/stylesheets/smriti/application.css +1040 -0
  16. data/app/controllers/smriti/admin/application_controller.rb +135 -0
  17. data/app/controllers/smriti/admin/dashboard_controller.rb +32 -0
  18. data/app/controllers/smriti/admin/mat_view_definitions_controller.rb +372 -0
  19. data/app/controllers/smriti/admin/mat_view_runs_controller.rb +185 -0
  20. data/app/controllers/smriti/admin/preferences_controller.rb +91 -0
  21. data/app/helpers/smriti/admin/datatable_helper.rb +249 -0
  22. data/app/helpers/smriti/admin/localized_digit_helper.rb +70 -0
  23. data/app/helpers/smriti/admin/ui_helper.rb +539 -0
  24. data/app/javascript/smriti/application.js +8 -0
  25. data/app/javascript/smriti/controllers/application.js +10 -0
  26. data/app/javascript/smriti/controllers/body_setup_controller.js +120 -0
  27. data/app/javascript/smriti/controllers/datatable_controller.js +351 -0
  28. data/app/javascript/smriti/controllers/details_controller.js +200 -0
  29. data/app/javascript/smriti/controllers/drawer_controller.js +470 -0
  30. data/app/javascript/smriti/controllers/flash_controller.js +112 -0
  31. data/app/javascript/smriti/controllers/index.js +10 -0
  32. data/app/javascript/smriti/controllers/mv_confirm_controller.js +435 -0
  33. data/app/javascript/smriti/controllers/tabs_controller.js +184 -0
  34. data/app/javascript/smriti/controllers/tooltip_controller.js +525 -0
  35. data/app/javascript/smriti/controllers/turbo_frame_lifecycle_controller.js +342 -0
  36. data/app/jobs/smriti/application_job.rb +144 -0
  37. data/app/jobs/smriti/create_view_job.rb +87 -0
  38. data/app/jobs/smriti/delete_view_job.rb +89 -0
  39. data/app/jobs/smriti/refresh_view_job.rb +94 -0
  40. data/app/models/concerns/smriti_i18n.rb +139 -0
  41. data/app/models/concerns/smriti_paginate.rb +70 -0
  42. data/app/models/concerns/smriti_query_helper.rb +36 -0
  43. data/app/models/smriti/application_record.rb +39 -0
  44. data/app/models/smriti/mat_view_definition.rb +254 -0
  45. data/app/models/smriti/mat_view_run.rb +275 -0
  46. data/app/views/layouts/smriti/_footer.html.erb +47 -0
  47. data/app/views/layouts/smriti/_header.html.erb +25 -0
  48. data/app/views/layouts/smriti/admin.html.erb +47 -0
  49. data/app/views/layouts/smriti/turbo_frame.html.erb +3 -0
  50. data/app/views/smriti/admin/dashboard/index.html.erb +38 -0
  51. data/app/views/smriti/admin/mat_view_definitions/_definition_actions.html.erb +94 -0
  52. data/app/views/smriti/admin/mat_view_definitions/_dt-index-empty-row.html.erb +11 -0
  53. data/app/views/smriti/admin/mat_view_definitions/_dt-index-row.html.erb +27 -0
  54. data/app/views/smriti/admin/mat_view_definitions/empty.html.erb +1 -0
  55. data/app/views/smriti/admin/mat_view_definitions/form.html.erb +79 -0
  56. data/app/views/smriti/admin/mat_view_definitions/index.html.erb +10 -0
  57. data/app/views/smriti/admin/mat_view_definitions/show.html.erb +40 -0
  58. data/app/views/smriti/admin/mat_view_runs/_dt-index-empty-row.html.erb +11 -0
  59. data/app/views/smriti/admin/mat_view_runs/_dt-index-row.html.erb +41 -0
  60. data/app/views/smriti/admin/mat_view_runs/index.html.erb +1 -0
  61. data/app/views/smriti/admin/mat_view_runs/show.html.erb +64 -0
  62. data/app/views/smriti/admin/preferences/show.html.erb +49 -0
  63. data/app/views/smriti/admin/ui/_card.html.erb +15 -0
  64. data/app/views/smriti/admin/ui/_datatable.html.erb +34 -0
  65. data/app/views/smriti/admin/ui/_datatable_filters.html.erb +45 -0
  66. data/app/views/smriti/admin/ui/_datatable_tbody.html.erb +11 -0
  67. data/app/views/smriti/admin/ui/_datatable_tfoot.html.erb +70 -0
  68. data/app/views/smriti/admin/ui/_datatable_thead.html.erb +105 -0
  69. data/app/views/smriti/admin/ui/_details.html.erb +10 -0
  70. data/app/views/smriti/admin/ui/_flash.html.erb +6 -0
  71. data/app/views/smriti/admin/ui/_table.html.erb +8 -0
  72. data/config/importmap.rb +9 -0
  73. data/config/locales/ar.yml +223 -0
  74. data/config/locales/de.yml +230 -0
  75. data/config/locales/en-AU-ocker.yml +223 -0
  76. data/config/locales/en-AU.yml +202 -0
  77. data/config/locales/en-BORK.yml +225 -0
  78. data/config/locales/en-CA.yml +223 -0
  79. data/config/locales/en-GB.yml +223 -0
  80. data/config/locales/en-LOL.yml +219 -0
  81. data/config/locales/en-SCOT.yml +223 -0
  82. data/config/locales/en-SHAKESPEARE.yml +225 -0
  83. data/config/locales/en-US-pirate.yml +222 -0
  84. data/config/locales/en-US.yml +225 -0
  85. data/config/locales/en-YODA.yml +221 -0
  86. data/config/locales/en.yml +223 -0
  87. data/config/locales/es.yml +226 -0
  88. data/config/locales/fa.yml +223 -0
  89. data/config/locales/fr-CA.yml +227 -0
  90. data/config/locales/fr.yml +227 -0
  91. data/config/locales/he.yml +218 -0
  92. data/config/locales/hi.yml +223 -0
  93. data/config/locales/it.yml +225 -0
  94. data/config/locales/ja-JP.yml +215 -0
  95. data/config/locales/pt.yml +225 -0
  96. data/config/locales/ru.yml +228 -0
  97. data/config/locales/ur.yml +225 -0
  98. data/config/locales/zh-CN.yml +214 -0
  99. data/config/locales/zh-TW.yml +214 -0
  100. data/config/routes.rb +36 -0
  101. data/lib/ext/exception.rb +20 -0
  102. data/lib/generators/smriti/install/install_generator.rb +86 -0
  103. data/lib/generators/smriti/install/templates/create_mat_view_definitions.rb +29 -0
  104. data/lib/generators/smriti/install/templates/create_mat_view_runs.rb +32 -0
  105. data/lib/generators/smriti/install/templates/smriti_initializer.rb +23 -0
  106. data/lib/smriti/admin/auth_bridge.rb +93 -0
  107. data/lib/smriti/admin/default_auth.rb +62 -0
  108. data/lib/smriti/configuration.rb +58 -0
  109. data/lib/smriti/engine.rb +82 -0
  110. data/lib/smriti/helpers/ui_test_ids.rb +49 -0
  111. data/lib/smriti/jobs/adapter.rb +81 -0
  112. data/lib/smriti/service_response.rb +75 -0
  113. data/lib/smriti/services/base_service.rb +471 -0
  114. data/lib/smriti/services/check_matview_exists.rb +76 -0
  115. data/lib/smriti/services/concurrent_refresh.rb +94 -0
  116. data/lib/smriti/services/create_view.rb +173 -0
  117. data/lib/smriti/services/delete_view.rb +111 -0
  118. data/lib/smriti/services/regular_refresh.rb +90 -0
  119. data/lib/smriti/services/swap_refresh.rb +181 -0
  120. data/lib/smriti/version.rb +21 -0
  121. data/lib/smriti.rb +64 -0
  122. data/lib/tasks/helpers.rb +185 -0
  123. data/lib/tasks/smriti_tasks.rake +151 -0
  124. metadata +206 -0
@@ -0,0 +1,215 @@
1
+ ---
2
+ ja-JP:
3
+ activerecord:
4
+ attributes:
5
+ smriti/mat_view_definition:
6
+ created_at: 作成日時
7
+ dependencies: 依存関係
8
+ last_run_at: 最終実行日時
9
+ name: 名前
10
+ refresh_strategy: リフレッシュ戦略
11
+ schedule_cron: スケジュール (cron)
12
+ sql: SQL (SELECT ...)
13
+ unique_index_columns: 一意インデックス列
14
+ updated_at: 更新日時
15
+ smriti/mat_view_run:
16
+ created_at: 作成日時
17
+ details: 詳細
18
+ duration_ms: 所要時間 (ms)
19
+ error: エラー
20
+ finished_at: 終了日時
21
+ mat_view_definition: 定義
22
+ meta: メタデータ
23
+ operation: 操作
24
+ row_count_after: 実行後の行数
25
+ row_count_before: 実行前の行数
26
+ rows_before_after: 行数 (前/後)
27
+ started_at: 開始日時
28
+ status: ステータス
29
+ updated_at: 更新日時
30
+ enums:
31
+ smriti/mat_view_definition:
32
+ refresh_strategy:
33
+ concurrent: 同時
34
+ regular: 通常
35
+ swap: スワップ
36
+ smriti/mat_view_run:
37
+ operation:
38
+ create: 作成
39
+ drop: 削除
40
+ refresh: リフレッシュ
41
+ status:
42
+ failed: 失敗
43
+ running: 実行中
44
+ success: 成功
45
+ errors:
46
+ models:
47
+ smriti/mat_view_definition:
48
+ attributes:
49
+ name:
50
+ blank: は必須です
51
+ invalid: は有効な PostgreSQL 識別子ではありません
52
+ taken: は一意でなければなりません
53
+ sql:
54
+ blank: は必須です
55
+ invalid: は SELECT で始まる必要があります
56
+ unique_index_columns:
57
+ at_least_one: 同時リフレッシュ戦略を使用する場合は少なくとも 1 列が必要です
58
+ hints:
59
+ smriti/mat_view_definition:
60
+ dependencies: このマテリアライズドビューが依存するテーブルまたはビューをカンマ区切りで入力してください。
61
+ name: データベース内のマテリアライズドビュー名です。
62
+ refresh_strategy: マテリアライズドビューをどのようにリフレッシュするかを決定します。
63
+ schedule_cron: 標準的な cron 形式を使用してください。スケジュールしない場合は空のままにします。
64
+ sql: SQL クエリは有効な SELECT 文でなければなりません。
65
+ unique_index_columns: 一意インデックスを作成する列です。同時リフレッシュに必須です。
66
+ smriti/mat_view_run:
67
+ error: 実行が失敗した場合のエラーメッセージです。
68
+ meta: JSON 形式の追加メタデータです。
69
+ operation: 実行した操作の種類です。
70
+ status: 実行の現在のステータスです。
71
+ models:
72
+ smriti/mat_view_definition: マテリアライズドビュー定義
73
+ smriti/mat_view_run: マテリアライズドビュー実行
74
+ placeholders:
75
+ smriti/mat_view_definition:
76
+ dependencies: 依存関係を入力 (カンマ区切り、省略可)
77
+ name: 名前を入力
78
+ refresh_strategy: リフレッシュ戦略を選択
79
+ schedule_cron: 0 0 * * * (毎日午前0時) スケジュールしない場合は空欄
80
+ sql: SQL (SELECT ...) を入力
81
+ unique_index_columns: 一意インデックス列を入力 (カンマ区切り、省略可)
82
+ smriti/mat_view_run:
83
+ error: エラーメッセージ
84
+ mat_view_definition: マテリアライズドビューを選択
85
+ meta: メタデータ (JSON)
86
+ operation: 操作を選択
87
+ status: ステータスを選択
88
+ i18n:
89
+ name: 日本語
90
+ smriti:
91
+ actions: 操作
92
+ cancel: キャンセル
93
+ close: 閉じる
94
+ close_window: ウィンドウを閉じる
95
+ create: 作成
96
+ dashboard:
97
+ metrics:
98
+ title: 指標
99
+ title: ダッシュボード
100
+ datatable:
101
+ clear_search_aria_label: 検索をクリア
102
+ search_aria_label: テーブル内を検索
103
+ search_placeholder: 検索...
104
+ definition: 定義
105
+ definitions: 定義
106
+ delete: 削除
107
+ details: 詳細
108
+ edit: 編集
109
+ edit_var: "%{name} を編集"
110
+ errors:
111
+ frame_only: この操作はフレーム内でのみ実行できます。ダッシュボードへリダイレクトしました。
112
+ prevented_saving:
113
+ few: "%{count} 件のエラーで保存できませんでした:"
114
+ many: "%{count} 件のエラーで保存できませんでした:"
115
+ one: '1 件のエラーで保存できませんでした:'
116
+ other: "%{count} 件のエラーで保存できませんでした:"
117
+ two: '2 件のエラーで保存できませんでした:'
118
+ zero: エラーはありません。すべて順調です!
119
+ filter_by: 'フィルター:'
120
+ footer:
121
+ copyright: "© %{year} %{company} All rights reserved."
122
+ documentation: ドキュメント
123
+ need_help: 稼働時間保証と専門家のサポートが必要ですか?
124
+ open_issue: Issue を作成
125
+ project_homepage: プロジェクトホームページ
126
+ support: プロフェッショナルサポートはこちら →
127
+ tagline: 開発者による、開発者のためのプロダクトです。
128
+ tooltip:
129
+ documentation: ドキュメントを読む
130
+ gem_version: RubyGems ページへ移動
131
+ open_issue: バグ報告または機能要望
132
+ project_homepage: GitHub リポジトリ
133
+ support: プロフェッショナルサポートプラン
134
+ version: v%{version}
135
+ header:
136
+ signed_in_as: "%{email} としてサインイン"
137
+ history: 履歴
138
+ loading: 読み込み中...
139
+ loading_definitions: 定義を読み込み中...
140
+ loading_runs: 実行を読み込み中...
141
+ mat_view_definition:
142
+ create_mv: Smriti を作成
143
+ create_mv_tooltip: データベースにマテリアライズドビューを作成します。
144
+ delete_confirm: 定義 %{name} を削除しますか? (Smriti は削除されません)
145
+ delete_tooltip: 定義を削除しますが、データベースのマテリアライズドビューは削除しません。
146
+ drop_mv: Smriti を削除
147
+ drop_mv_cascade: Smriti を削除 (カスケード)
148
+ drop_mv_cascade_confirm: "%{name} のマテリアライズドビューと依存オブジェクトをすべて削除しますか?"
149
+ drop_mv_cascade_tooltip: データベース内のマテリアライズドビューと依存オブジェクトを削除します。定義は残ります。
150
+ drop_mv_confirm: "%{name} のマテリアライズドビューを削除しますか?"
151
+ drop_mv_tooltip: データベース内のマテリアライズドビューを削除します。定義は残ります。
152
+ edit_tooltip: マテリアライズドビュー定義を編集します。
153
+ materialized_view: マテリアライズドビュー
154
+ materialized_view_exists: マテリアライズドビューが存在します
155
+ materialized_view_not_exists: マテリアライズドビューはまだ作成されていません!
156
+ new_definition: 新しい定義
157
+ new_definition_tooltip: 新しいマテリアライズドビュー定義を作成します。
158
+ no_definitions: マテリアライズドビュー定義が見つかりません。作成して開始してください。
159
+ no_definitions_if_filtered: 選択したフィルターまたは検索条件に一致する定義がありません。
160
+ refresh_tooltip: データベースのマテリアライズドビューをリフレッシュします。
161
+ sql_summary_tooltip: クリックして SQL を展開/折りたたみ
162
+ view_tooltip: マテリアライズドビュー定義を表示します。
163
+ mat_view_run:
164
+ error_tooltip: 実行が失敗した場合のエラーメッセージです。
165
+ meta_tooltip: JSON 形式の追加メタデータです。
166
+ no_runs: 実行が見つかりません。
167
+ no_runs_if_filtered: 選択したフィルターに一致する実行がありません。
168
+ view_details: 詳細を表示
169
+ view_tooltip: 実行の詳細を表示します。
170
+ no_filter: すべて (フィルターなし)
171
+ no_value: 値なし (nil または空)
172
+ per_page: ページあたり
173
+ project_author: CodeVedas Inc.
174
+ project_description: Rails アプリケーション向け PostgreSQL マテリアライズドビュー管理用の管理インターフェース。
175
+ project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
176
+ management
177
+ refresh: リフレッシュ
178
+ refresh_contents: 内容をリフレッシュ
179
+ reloading: 再読み込み中...
180
+ reset: リセット
181
+ run: 実行
182
+ runs: 実行
183
+ save_changes: 変更を保存
184
+ settings:
185
+ auto: 自動
186
+ dark: ダーク
187
+ language: 言語
188
+ language_hint: インターフェースの言語を選択してください。
189
+ light: ライト
190
+ theme: テーマ
191
+ theme_hint: 自動はシステムの設定に従い、ライトとダークはそれを上書きします。
192
+ title: 設定
193
+ title: Smriti 管理
194
+ view_var: "%{name} を表示"
195
+ x_miliseconds: "%{count} ms"
196
+ number:
197
+ format:
198
+ delimiter: " "
199
+ separator: ","
200
+ numbers:
201
+ eight: 八
202
+ five: 五
203
+ four: 四
204
+ nine: 九
205
+ one: 一
206
+ seven: 七
207
+ six: 六
208
+ three: 三
209
+ two: 二
210
+ zero: 零
211
+ time:
212
+ am: 午前
213
+ formats:
214
+ datetime12hour: "%Y-%m-%d %I:%M:%S %p"
215
+ pm: 午後
@@ -0,0 +1,225 @@
1
+ ---
2
+ pt:
3
+ activerecord:
4
+ attributes:
5
+ smriti/mat_view_definition:
6
+ created_at: Criado em
7
+ dependencies: Dependências
8
+ last_run_at: Última execução em
9
+ name: Nome
10
+ refresh_strategy: Estratégia de atualização
11
+ schedule_cron: Agendamento (cron)
12
+ sql: SQL (SELECT ...)
13
+ unique_index_columns: Colunas de índice único
14
+ updated_at: Atualizado em
15
+ smriti/mat_view_run:
16
+ created_at: Criado em
17
+ details: Detalhes
18
+ duration_ms: Duração (ms)
19
+ error: Erro
20
+ finished_at: Concluído em
21
+ mat_view_definition: Definição
22
+ meta: Metadados
23
+ operation: Operação
24
+ row_count_after: Contagem de linhas após
25
+ row_count_before: Contagem de linhas antes
26
+ rows_before_after: Linhas (antes/depois)
27
+ started_at: Iniciado em
28
+ status: Status
29
+ updated_at: Atualizado em
30
+ enums:
31
+ smriti/mat_view_definition:
32
+ refresh_strategy:
33
+ concurrent: Concorrente
34
+ regular: Regular
35
+ swap: Troca
36
+ smriti/mat_view_run:
37
+ operation:
38
+ create: Criar
39
+ drop: Excluir
40
+ refresh: Atualizar
41
+ status:
42
+ failed: Falhou
43
+ running: Em execução
44
+ success: Sucesso
45
+ errors:
46
+ models:
47
+ smriti/mat_view_definition:
48
+ attributes:
49
+ name:
50
+ blank: deve ser informado
51
+ invalid: não é um identificador PostgreSQL válido
52
+ taken: deve ser único
53
+ sql:
54
+ blank: deve ser informado
55
+ invalid: deve começar com SELECT
56
+ unique_index_columns:
57
+ at_least_one: deve ter ao menos uma coluna ao usar a estratégia de atualização
58
+ concorrente
59
+ hints:
60
+ smriti/mat_view_definition:
61
+ dependencies: Lista separada por vírgulas das tabelas ou views das quais esta
62
+ materialized view depende.
63
+ name: Nome da materialized view no banco de dados.
64
+ refresh_strategy: Define como a materialized view é atualizada.
65
+ schedule_cron: Utilize o formato cron padrão. Deixe em branco para não agendar.
66
+ sql: A consulta SQL deve ser uma instrução SELECT válida.
67
+ unique_index_columns: Colunas para criar um índice único. Obrigatório para
68
+ atualização concorrente.
69
+ smriti/mat_view_run:
70
+ error: Mensagem de erro se a execução falhar.
71
+ meta: Metadados adicionais em formato JSON.
72
+ operation: Tipo de operação realizada.
73
+ status: Status atual da execução.
74
+ models:
75
+ smriti/mat_view_definition: Definição de materialized view
76
+ smriti/mat_view_run: Execução de materialized view
77
+ placeholders:
78
+ smriti/mat_view_definition:
79
+ dependencies: Informe as dependências (separadas por vírgula, opcional)
80
+ name: Informe o nome
81
+ refresh_strategy: Selecione a estratégia de atualização
82
+ schedule_cron: 0 0 * * * para diariamente à meia-noite, deixe em branco para
83
+ não agendar
84
+ sql: Informe SQL (SELECT ...)
85
+ unique_index_columns: Informe colunas de índice único (separadas por vírgula,
86
+ opcional)
87
+ smriti/mat_view_run:
88
+ error: Mensagem de erro
89
+ mat_view_definition: Selecione a materialized view
90
+ meta: Metadados (JSON)
91
+ operation: Selecione a operação
92
+ status: Selecione o status
93
+ i18n:
94
+ name: Português
95
+ smriti:
96
+ actions: Ações
97
+ cancel: Cancelar
98
+ close: Fechar
99
+ close_window: Fechar janela
100
+ create: Criar
101
+ dashboard:
102
+ metrics:
103
+ title: Métricas
104
+ title: Painel
105
+ datatable:
106
+ clear_search_aria_label: Limpar busca
107
+ search_aria_label: Pesquisar na tabela
108
+ search_placeholder: Buscar...
109
+ definition: Definição
110
+ definitions: Definições
111
+ delete: Excluir
112
+ details: Detalhes
113
+ edit: Editar
114
+ edit_var: Editar %{name}
115
+ errors:
116
+ frame_only: Esta ação só pode ser executada em um frame; redirecionado para
117
+ o painel.
118
+ prevented_saving:
119
+ few: "%{count} erros impediram o salvamento:"
120
+ many: "%{count} erros impediram o salvamento:"
121
+ one: '1 erro impediu o salvamento:'
122
+ other: "%{count} erros impediram o salvamento:"
123
+ two: '2 erros impediram o salvamento:'
124
+ zero: Nenhum erro, tudo certo!
125
+ filter_by: 'Filtrar por:'
126
+ footer:
127
+ copyright: "© %{year} %{company} Todos os direitos reservados."
128
+ documentation: Documentação
129
+ need_help: Precisa de disponibilidade garantida e suporte especialista?
130
+ open_issue: Abrir um Issue
131
+ project_homepage: Página do projeto
132
+ support: Obter suporte profissional →
133
+ tagline: Construído com ❤️ por desenvolvedores, para desenvolvedores.
134
+ tooltip:
135
+ documentation: Leia a documentação
136
+ gem_version: Clique para visitar a página RubyGems
137
+ open_issue: Reportar um bug ou solicitar um recurso
138
+ project_homepage: Repositório GitHub
139
+ support: Planos de suporte profissional
140
+ version: v%{version}
141
+ header:
142
+ signed_in_as: Conectado como %{email}
143
+ history: Histórico
144
+ loading: Carregando...
145
+ loading_definitions: Carregando definições...
146
+ loading_runs: Carregando execuções...
147
+ mat_view_definition:
148
+ create_mv: Criar MV
149
+ create_mv_tooltip: Cria a materialized view no banco de dados.
150
+ delete_confirm: Excluir a definição %{name}? (NÃO remove a materialized view)
151
+ delete_tooltip: Exclui a definição, mas NÃO remove a materialized view do banco
152
+ de dados.
153
+ drop_mv: Excluir MV
154
+ drop_mv_cascade: Excluir MV (cascata)
155
+ drop_mv_cascade_confirm: Excluir a materialized view e todos os objetos dependentes
156
+ de %{name}?
157
+ drop_mv_cascade_tooltip: Remove a materialized view e todos os objetos dependentes
158
+ no banco. A definição permanece.
159
+ drop_mv_confirm: Excluir a materialized view de %{name}?
160
+ drop_mv_tooltip: Remove a materialized view no banco de dados. A definição permanece.
161
+ edit_tooltip: Editar a definição da materialized view.
162
+ materialized_view: Materialized view
163
+ materialized_view_exists: Materialized view existente
164
+ materialized_view_not_exists: Materialized view ainda não criada!
165
+ new_definition: Nova definição
166
+ new_definition_tooltip: Criar uma nova definição de materialized view.
167
+ no_definitions: Nenhuma definição de materialized view encontrada. Crie uma
168
+ para começar.
169
+ no_definitions_if_filtered: Nenhuma definição encontrada para os filtros ou
170
+ pesquisa selecionados.
171
+ refresh_tooltip: Atualiza a materialized view no banco de dados.
172
+ sql_summary_tooltip: Clique para expandir/recolher SQL
173
+ view_tooltip: Ver a definição da materialized view.
174
+ mat_view_run:
175
+ error_tooltip: Mensagem de erro se a execução falhar.
176
+ meta_tooltip: Metadados adicionais em formato JSON.
177
+ no_runs: Nenhuma execução encontrada.
178
+ no_runs_if_filtered: Nenhuma execução encontrada para os filtros selecionados.
179
+ view_details: Ver detalhes
180
+ view_tooltip: Ver detalhes da execução.
181
+ no_filter: Qualquer (sem filtro)
182
+ no_value: Sem valor (nil ou vazio)
183
+ per_page: Por página
184
+ project_author: CodeVedas Inc.
185
+ project_description: Interface administrativa para gerenciar materialized views
186
+ PostgreSQL em aplicações Rails.
187
+ project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
188
+ management
189
+ refresh: Atualizar
190
+ refresh_contents: Atualizar conteúdo
191
+ reloading: Recarregando...
192
+ reset: Redefinir
193
+ run: Executar
194
+ runs: Execuções
195
+ save_changes: Salvar alterações
196
+ settings:
197
+ auto: Automático
198
+ dark: Escuro
199
+ language: Idioma
200
+ language_hint: Escolha o idioma da interface.
201
+ light: Claro
202
+ theme: Tema
203
+ theme_hint: Automático segue a preferência do sistema; claro e escuro a substituem.
204
+ title: Preferências
205
+ title: Smriti Admin
206
+ view_var: Ver %{name}
207
+ x_miliseconds: "%{count} ms"
208
+ number:
209
+ format:
210
+ delimiter: " "
211
+ separator: ","
212
+ numbers:
213
+ eight: '8'
214
+ five: '5'
215
+ four: '4'
216
+ nine: '9'
217
+ one: '1'
218
+ seven: '7'
219
+ six: '6'
220
+ three: '3'
221
+ two: '2'
222
+ zero: '0'
223
+ time:
224
+ formats:
225
+ datetime12hour: "%Y-%m-%d %H:%M:%S"
@@ -0,0 +1,228 @@
1
+ ---
2
+ ru:
3
+ activerecord:
4
+ attributes:
5
+ smriti/mat_view_definition:
6
+ created_at: Создано
7
+ dependencies: Зависимости
8
+ last_run_at: Последний запуск
9
+ name: Название
10
+ refresh_strategy: Стратегия обновления
11
+ schedule_cron: Расписание (cron)
12
+ sql: SQL (SELECT ...)
13
+ unique_index_columns: Столбцы уникального индекса
14
+ updated_at: Обновлено
15
+ smriti/mat_view_run:
16
+ created_at: Создано
17
+ details: Подробности
18
+ duration_ms: Длительность (мс)
19
+ error: Ошибка
20
+ finished_at: Завершено
21
+ mat_view_definition: Определение
22
+ meta: Метаданные
23
+ operation: Операция
24
+ row_count_after: Количество строк после
25
+ row_count_before: Количество строк до
26
+ rows_before_after: Строки (до/после)
27
+ started_at: Запущено
28
+ status: Статус
29
+ updated_at: Обновлено
30
+ enums:
31
+ smriti/mat_view_definition:
32
+ refresh_strategy:
33
+ concurrent: Параллельная
34
+ regular: Обычная
35
+ swap: Замена
36
+ smriti/mat_view_run:
37
+ operation:
38
+ create: Создание
39
+ drop: Удаление
40
+ refresh: Обновление
41
+ status:
42
+ failed: Ошибка
43
+ running: Выполняется
44
+ success: Успешно
45
+ errors:
46
+ models:
47
+ smriti/mat_view_definition:
48
+ attributes:
49
+ name:
50
+ blank: должно быть указано
51
+ invalid: не является допустимым идентификатором PostgreSQL
52
+ taken: должно быть уникальным
53
+ sql:
54
+ blank: должен быть указан
55
+ invalid: должен начинаться с SELECT
56
+ unique_index_columns:
57
+ at_least_one: должен содержать минимум один столбец при использовании
58
+ параллельной стратегии обновления
59
+ hints:
60
+ smriti/mat_view_definition:
61
+ dependencies: Список таблиц или представлений, от которых зависит это материализованное
62
+ представление, через запятую.
63
+ name: Имя материализованного представления в базе данных.
64
+ refresh_strategy: Определяет способ обновления материализованного представления.
65
+ schedule_cron: Используйте стандартный формат cron. Оставьте пустым, чтобы
66
+ не планировать.
67
+ sql: SQL-запрос должен быть корректным выражением SELECT.
68
+ unique_index_columns: Столбцы, для которых создаётся уникальный индекс. Требуется
69
+ для параллельного обновления.
70
+ smriti/mat_view_run:
71
+ error: Сообщение об ошибке, если запуск завершился неудачно.
72
+ meta: Дополнительные метаданные в формате JSON.
73
+ operation: Тип выполненной операции.
74
+ status: Текущий статус запуска.
75
+ models:
76
+ smriti/mat_view_definition: Определение материализованного представления
77
+ smriti/mat_view_run: Запуск материализованного представления
78
+ placeholders:
79
+ smriti/mat_view_definition:
80
+ dependencies: Введите зависимости (через запятую, необязательно)
81
+ name: Введите название
82
+ refresh_strategy: Выберите стратегию обновления
83
+ schedule_cron: 0 0 * * * для ежедневного запуска в полночь, оставьте пустым
84
+ без расписания
85
+ sql: Введите SQL (SELECT ...)
86
+ unique_index_columns: Введите столбцы уникального индекса (через запятую,
87
+ необязательно)
88
+ smriti/mat_view_run:
89
+ error: Сообщение об ошибке
90
+ mat_view_definition: Выберите материализованное представление
91
+ meta: Метаданные (JSON)
92
+ operation: Выберите операцию
93
+ status: Выберите статус
94
+ i18n:
95
+ name: Русский
96
+ smriti:
97
+ actions: Действия
98
+ cancel: Отмена
99
+ close: Закрыть
100
+ close_window: Закрыть окно
101
+ create: Создать
102
+ dashboard:
103
+ metrics:
104
+ title: Метрики
105
+ title: Панель
106
+ datatable:
107
+ clear_search_aria_label: Очистить поиск
108
+ search_aria_label: Поиск по таблице
109
+ search_placeholder: Поиск...
110
+ definition: Определение
111
+ definitions: Определения
112
+ delete: Удалить
113
+ details: Подробности
114
+ edit: Редактировать
115
+ edit_var: Редактировать %{name}
116
+ errors:
117
+ frame_only: Это действие доступно только во фрейме, выполнено перенаправление
118
+ на панель.
119
+ prevented_saving:
120
+ few: "%{count} ошибки помешали сохранению:"
121
+ many: "%{count} ошибок помешали сохранению:"
122
+ one: '1 ошибка помешала сохранению:'
123
+ other: "%{count} ошибок помешали сохранению:"
124
+ two: '2 ошибки помешали сохранению:'
125
+ zero: Ошибок нет, всё отлично!
126
+ filter_by: 'Фильтр по:'
127
+ footer:
128
+ copyright: "© %{year} %{company} Все права защищены."
129
+ documentation: Документация
130
+ need_help: Нужны гарантированный аптайм и помощь экспертов?
131
+ open_issue: Создать Issue
132
+ project_homepage: Домашняя страница проекта
133
+ support: Получить профессиональную поддержку →
134
+ tagline: Создано с ❤️ разработчиками для разработчиков.
135
+ tooltip:
136
+ documentation: Прочитать документацию
137
+ gem_version: Перейти на страницу RubyGems
138
+ open_issue: Сообщить об ошибке или запросить функцию
139
+ project_homepage: Репозиторий GitHub
140
+ support: Планы профессиональной поддержки
141
+ version: v%{version}
142
+ header:
143
+ signed_in_as: Вход выполнен как %{email}
144
+ history: История
145
+ loading: Загрузка...
146
+ loading_definitions: Загрузка определений...
147
+ loading_runs: Загрузка запусков...
148
+ mat_view_definition:
149
+ create_mv: Создать Smriti
150
+ create_mv_tooltip: Создаёт материализованное представление в базе данных.
151
+ delete_confirm: Удалить определение %{name}? (Материализованное представление
152
+ НЕ удаляется)
153
+ delete_tooltip: Удаляет определение, но НЕ удаляет материализованное представление
154
+ из базы данных.
155
+ drop_mv: Удалить Smriti
156
+ drop_mv_cascade: Удалить Smriti (каскад)
157
+ drop_mv_cascade_confirm: Удалить материализованное представление и все зависимые
158
+ объекты %{name}?
159
+ drop_mv_cascade_tooltip: Удаляет материализованное представление и все зависимые
160
+ объекты в базе данных. Определение остаётся.
161
+ drop_mv_confirm: Удалить материализованное представление для %{name}?
162
+ drop_mv_tooltip: Удаляет материализованное представление в базе данных. Определение
163
+ остаётся.
164
+ edit_tooltip: Редактировать определение материализованного представления.
165
+ materialized_view: Материализованное представление
166
+ materialized_view_exists: Материализованное представление существует
167
+ materialized_view_not_exists: Материализованное представление ещё не создано!
168
+ new_definition: Новое определение
169
+ new_definition_tooltip: Создать новое определение материализованного представления.
170
+ no_definitions: Определений материализованного представления не найдено. Создайте
171
+ одно, чтобы начать.
172
+ no_definitions_if_filtered: Нет определений материализованного представления
173
+ для выбранных фильтров или поиска.
174
+ refresh_tooltip: Обновляет материализованное представление в базе данных.
175
+ sql_summary_tooltip: Нажмите, чтобы раскрыть/свернуть SQL
176
+ view_tooltip: Просмотреть определение материализованного представления.
177
+ mat_view_run:
178
+ error_tooltip: Сообщение об ошибке, если запуск завершился неудачно.
179
+ meta_tooltip: Дополнительные метаданные в формате JSON.
180
+ no_runs: Запуски не найдены.
181
+ no_runs_if_filtered: Запуски не найдены для выбранных фильтров.
182
+ view_details: Просмотреть детали
183
+ view_tooltip: Просмотреть детали запуска.
184
+ no_filter: Любой (без фильтра)
185
+ no_value: Нет значения (nil или пусто)
186
+ per_page: На страницу
187
+ project_author: CodeVedas Inc.
188
+ project_description: Административный интерфейс для управления материализованными
189
+ представлениями PostgreSQL в приложениях Rails.
190
+ project_tags: rails, ruby, материализованные представления, администрирование,
191
+ dashboard, ui, интерфейс, управление
192
+ refresh: Обновить
193
+ refresh_contents: Обновить содержимое
194
+ reloading: Повторная загрузка...
195
+ reset: Сбросить
196
+ run: Запуск
197
+ runs: Запуски
198
+ save_changes: Сохранить изменения
199
+ settings:
200
+ auto: Авто
201
+ dark: Тёмная
202
+ language: Язык
203
+ language_hint: Выберите язык интерфейса.
204
+ light: Светлая
205
+ theme: Тема
206
+ theme_hint: Авто следует настройкам системы; светлая и тёмная их переопределяют.
207
+ title: Настройки
208
+ title: Smriti Admin
209
+ view_var: Просмотреть %{name}
210
+ x_miliseconds: "%{count} мс"
211
+ number:
212
+ format:
213
+ delimiter: " "
214
+ separator: ","
215
+ numbers:
216
+ eight: '8'
217
+ five: '5'
218
+ four: '4'
219
+ nine: '9'
220
+ one: '1'
221
+ seven: '7'
222
+ six: '6'
223
+ three: '3'
224
+ two: '2'
225
+ zero: '0'
226
+ time:
227
+ formats:
228
+ datetime12hour: "%Y-%m-%d %H:%M:%S"