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.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +168 -0
- data/Rakefile +15 -0
- data/app/assets/images/smriti/android-chrome-192x192.png +0 -0
- data/app/assets/images/smriti/android-chrome-512x512.png +0 -0
- data/app/assets/images/smriti/apple-touch-icon.png +0 -0
- data/app/assets/images/smriti/favicon-16x16.png +0 -0
- data/app/assets/images/smriti/favicon-32x32.png +0 -0
- data/app/assets/images/smriti/favicon-48x48.png +0 -0
- data/app/assets/images/smriti/favicon.ico +0 -0
- data/app/assets/images/smriti/favicon.svg +18 -0
- data/app/assets/images/smriti/logo.svg +18 -0
- data/app/assets/images/smriti/mask-icon.svg +5 -0
- data/app/assets/stylesheets/smriti/application.css +1040 -0
- data/app/controllers/smriti/admin/application_controller.rb +135 -0
- data/app/controllers/smriti/admin/dashboard_controller.rb +32 -0
- data/app/controllers/smriti/admin/mat_view_definitions_controller.rb +372 -0
- data/app/controllers/smriti/admin/mat_view_runs_controller.rb +185 -0
- data/app/controllers/smriti/admin/preferences_controller.rb +91 -0
- data/app/helpers/smriti/admin/datatable_helper.rb +249 -0
- data/app/helpers/smriti/admin/localized_digit_helper.rb +70 -0
- data/app/helpers/smriti/admin/ui_helper.rb +539 -0
- data/app/javascript/smriti/application.js +8 -0
- data/app/javascript/smriti/controllers/application.js +10 -0
- data/app/javascript/smriti/controllers/body_setup_controller.js +120 -0
- data/app/javascript/smriti/controllers/datatable_controller.js +351 -0
- data/app/javascript/smriti/controllers/details_controller.js +200 -0
- data/app/javascript/smriti/controllers/drawer_controller.js +470 -0
- data/app/javascript/smriti/controllers/flash_controller.js +112 -0
- data/app/javascript/smriti/controllers/index.js +10 -0
- data/app/javascript/smriti/controllers/mv_confirm_controller.js +435 -0
- data/app/javascript/smriti/controllers/tabs_controller.js +184 -0
- data/app/javascript/smriti/controllers/tooltip_controller.js +525 -0
- data/app/javascript/smriti/controllers/turbo_frame_lifecycle_controller.js +342 -0
- data/app/jobs/smriti/application_job.rb +144 -0
- data/app/jobs/smriti/create_view_job.rb +87 -0
- data/app/jobs/smriti/delete_view_job.rb +89 -0
- data/app/jobs/smriti/refresh_view_job.rb +94 -0
- data/app/models/concerns/smriti_i18n.rb +139 -0
- data/app/models/concerns/smriti_paginate.rb +70 -0
- data/app/models/concerns/smriti_query_helper.rb +36 -0
- data/app/models/smriti/application_record.rb +39 -0
- data/app/models/smriti/mat_view_definition.rb +254 -0
- data/app/models/smriti/mat_view_run.rb +275 -0
- data/app/views/layouts/smriti/_footer.html.erb +47 -0
- data/app/views/layouts/smriti/_header.html.erb +25 -0
- data/app/views/layouts/smriti/admin.html.erb +47 -0
- data/app/views/layouts/smriti/turbo_frame.html.erb +3 -0
- data/app/views/smriti/admin/dashboard/index.html.erb +38 -0
- data/app/views/smriti/admin/mat_view_definitions/_definition_actions.html.erb +94 -0
- data/app/views/smriti/admin/mat_view_definitions/_dt-index-empty-row.html.erb +11 -0
- data/app/views/smriti/admin/mat_view_definitions/_dt-index-row.html.erb +27 -0
- data/app/views/smriti/admin/mat_view_definitions/empty.html.erb +1 -0
- data/app/views/smriti/admin/mat_view_definitions/form.html.erb +79 -0
- data/app/views/smriti/admin/mat_view_definitions/index.html.erb +10 -0
- data/app/views/smriti/admin/mat_view_definitions/show.html.erb +40 -0
- data/app/views/smriti/admin/mat_view_runs/_dt-index-empty-row.html.erb +11 -0
- data/app/views/smriti/admin/mat_view_runs/_dt-index-row.html.erb +41 -0
- data/app/views/smriti/admin/mat_view_runs/index.html.erb +1 -0
- data/app/views/smriti/admin/mat_view_runs/show.html.erb +64 -0
- data/app/views/smriti/admin/preferences/show.html.erb +49 -0
- data/app/views/smriti/admin/ui/_card.html.erb +15 -0
- data/app/views/smriti/admin/ui/_datatable.html.erb +34 -0
- data/app/views/smriti/admin/ui/_datatable_filters.html.erb +45 -0
- data/app/views/smriti/admin/ui/_datatable_tbody.html.erb +11 -0
- data/app/views/smriti/admin/ui/_datatable_tfoot.html.erb +70 -0
- data/app/views/smriti/admin/ui/_datatable_thead.html.erb +105 -0
- data/app/views/smriti/admin/ui/_details.html.erb +10 -0
- data/app/views/smriti/admin/ui/_flash.html.erb +6 -0
- data/app/views/smriti/admin/ui/_table.html.erb +8 -0
- data/config/importmap.rb +9 -0
- data/config/locales/ar.yml +223 -0
- data/config/locales/de.yml +230 -0
- data/config/locales/en-AU-ocker.yml +223 -0
- data/config/locales/en-AU.yml +202 -0
- data/config/locales/en-BORK.yml +225 -0
- data/config/locales/en-CA.yml +223 -0
- data/config/locales/en-GB.yml +223 -0
- data/config/locales/en-LOL.yml +219 -0
- data/config/locales/en-SCOT.yml +223 -0
- data/config/locales/en-SHAKESPEARE.yml +225 -0
- data/config/locales/en-US-pirate.yml +222 -0
- data/config/locales/en-US.yml +225 -0
- data/config/locales/en-YODA.yml +221 -0
- data/config/locales/en.yml +223 -0
- data/config/locales/es.yml +226 -0
- data/config/locales/fa.yml +223 -0
- data/config/locales/fr-CA.yml +227 -0
- data/config/locales/fr.yml +227 -0
- data/config/locales/he.yml +218 -0
- data/config/locales/hi.yml +223 -0
- data/config/locales/it.yml +225 -0
- data/config/locales/ja-JP.yml +215 -0
- data/config/locales/pt.yml +225 -0
- data/config/locales/ru.yml +228 -0
- data/config/locales/ur.yml +225 -0
- data/config/locales/zh-CN.yml +214 -0
- data/config/locales/zh-TW.yml +214 -0
- data/config/routes.rb +36 -0
- data/lib/ext/exception.rb +20 -0
- data/lib/generators/smriti/install/install_generator.rb +86 -0
- data/lib/generators/smriti/install/templates/create_mat_view_definitions.rb +29 -0
- data/lib/generators/smriti/install/templates/create_mat_view_runs.rb +32 -0
- data/lib/generators/smriti/install/templates/smriti_initializer.rb +23 -0
- data/lib/smriti/admin/auth_bridge.rb +93 -0
- data/lib/smriti/admin/default_auth.rb +62 -0
- data/lib/smriti/configuration.rb +58 -0
- data/lib/smriti/engine.rb +82 -0
- data/lib/smriti/helpers/ui_test_ids.rb +49 -0
- data/lib/smriti/jobs/adapter.rb +81 -0
- data/lib/smriti/service_response.rb +75 -0
- data/lib/smriti/services/base_service.rb +471 -0
- data/lib/smriti/services/check_matview_exists.rb +76 -0
- data/lib/smriti/services/concurrent_refresh.rb +94 -0
- data/lib/smriti/services/create_view.rb +173 -0
- data/lib/smriti/services/delete_view.rb +111 -0
- data/lib/smriti/services/regular_refresh.rb +90 -0
- data/lib/smriti/services/swap_refresh.rb +181 -0
- data/lib/smriti/version.rb +21 -0
- data/lib/smriti.rb +64 -0
- data/lib/tasks/helpers.rb +185 -0
- data/lib/tasks/smriti_tasks.rake +151 -0
- metadata +206 -0
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
---
|
|
2
|
+
en-YODA:
|
|
3
|
+
activerecord:
|
|
4
|
+
attributes:
|
|
5
|
+
smriti/mat_view_definition:
|
|
6
|
+
created_at: Forged it was
|
|
7
|
+
dependencies: Allies it leans upon
|
|
8
|
+
last_run_at: Last time run, hmm?
|
|
9
|
+
name: Name it is
|
|
10
|
+
refresh_strategy: Plan to refresh, yes
|
|
11
|
+
schedule_cron: Schedule (cron) the Force sees
|
|
12
|
+
sql: SQL (SELECT ... it must be)
|
|
13
|
+
unique_index_columns: Columns, unique they are
|
|
14
|
+
updated_at: Renewed it has been
|
|
15
|
+
smriti/mat_view_run:
|
|
16
|
+
created_at: Forged it was
|
|
17
|
+
details: Details these be
|
|
18
|
+
duration_ms: Moments passed (ms)
|
|
19
|
+
error: Error, troubled force
|
|
20
|
+
finished_at: Finished it has
|
|
21
|
+
mat_view_definition: Definition
|
|
22
|
+
meta: Hidden data
|
|
23
|
+
operation: Action taken
|
|
24
|
+
row_count_after: Rows after, count
|
|
25
|
+
row_count_before: Rows before, count
|
|
26
|
+
rows_before_after: Rows (before/after) they are
|
|
27
|
+
started_at: Began it did
|
|
28
|
+
status: Status, current
|
|
29
|
+
updated_at: Renewed it has been
|
|
30
|
+
enums:
|
|
31
|
+
smriti/mat_view_definition:
|
|
32
|
+
refresh_strategy:
|
|
33
|
+
concurrent: Together, all
|
|
34
|
+
regular: Usual way
|
|
35
|
+
swap: Exchange, hmm
|
|
36
|
+
smriti/mat_view_run:
|
|
37
|
+
operation:
|
|
38
|
+
create: Create we must
|
|
39
|
+
drop: Drop we shall
|
|
40
|
+
refresh: Refresh it, yes
|
|
41
|
+
status:
|
|
42
|
+
failed: Failed, it has
|
|
43
|
+
running: Running, this is
|
|
44
|
+
success: Succeeded, it did
|
|
45
|
+
errors:
|
|
46
|
+
models:
|
|
47
|
+
smriti/mat_view_definition:
|
|
48
|
+
attributes:
|
|
49
|
+
name:
|
|
50
|
+
blank: Provide it, you must
|
|
51
|
+
invalid: Valid PostgreSQL sign, this is not
|
|
52
|
+
taken: Alone it must stand
|
|
53
|
+
sql:
|
|
54
|
+
blank: Provide it, you must
|
|
55
|
+
invalid: With SELECT begin, it must
|
|
56
|
+
unique_index_columns:
|
|
57
|
+
at_least_one: At least one column, the concurrent path demands
|
|
58
|
+
hints:
|
|
59
|
+
smriti/mat_view_definition:
|
|
60
|
+
dependencies: Tables or views, comma-linked list this materialized ally relies
|
|
61
|
+
upon.
|
|
62
|
+
name: Title within the database, the materialized view bears.
|
|
63
|
+
refresh_strategy: How refreshed the view becomes, this reveals.
|
|
64
|
+
schedule_cron: Standard cron speak, use you should. Empty leave for no schedule.
|
|
65
|
+
sql: True SELECT speech, thy SQL must be.
|
|
66
|
+
unique_index_columns: Columns for a unique index, required concurrent refresh
|
|
67
|
+
is.
|
|
68
|
+
smriti/mat_view_run:
|
|
69
|
+
error: Run failed, message this will share.
|
|
70
|
+
meta: Extra knowledge in JSON tongue.
|
|
71
|
+
operation: What action was taken, this names.
|
|
72
|
+
status: Run's current state, learn you do.
|
|
73
|
+
models:
|
|
74
|
+
smriti/mat_view_definition: Materialized View Definition
|
|
75
|
+
smriti/mat_view_run: Materialized View Run
|
|
76
|
+
placeholders:
|
|
77
|
+
smriti/mat_view_definition:
|
|
78
|
+
dependencies: Type allies (comma separated, optional)
|
|
79
|
+
name: Name enter, you should
|
|
80
|
+
refresh_strategy: Refresh plan choose
|
|
81
|
+
schedule_cron: 0 0 * * * for midnight each day, empty leave for none
|
|
82
|
+
sql: SQL (SELECT ...) type
|
|
83
|
+
unique_index_columns: Unique columns list (comma separated, optional)
|
|
84
|
+
smriti/mat_view_run:
|
|
85
|
+
error: Error words
|
|
86
|
+
mat_view_definition: Choose the materialized view
|
|
87
|
+
meta: Hidden data (JSON)
|
|
88
|
+
operation: Action choose
|
|
89
|
+
status: Status choose
|
|
90
|
+
i18n:
|
|
91
|
+
name: English (YODA)
|
|
92
|
+
smriti:
|
|
93
|
+
actions: Actions, take
|
|
94
|
+
cancel: Cancel, you will
|
|
95
|
+
close: Close
|
|
96
|
+
close_window: Close the window, hmm?
|
|
97
|
+
create: Create, we shall
|
|
98
|
+
dashboard:
|
|
99
|
+
metrics:
|
|
100
|
+
title: Metrics, yes
|
|
101
|
+
title: Dashboard it is
|
|
102
|
+
datatable:
|
|
103
|
+
clear_search_aria_label: Clear the search you must
|
|
104
|
+
search_aria_label: Search the table
|
|
105
|
+
search_placeholder: Search, you may...
|
|
106
|
+
definition: Definition
|
|
107
|
+
definitions: Definitions
|
|
108
|
+
delete: Delete
|
|
109
|
+
details: Details
|
|
110
|
+
edit: Edit
|
|
111
|
+
edit_var: Edit %{name}, you will
|
|
112
|
+
errors:
|
|
113
|
+
frame_only: Only within a frame may this be done; to dashboard you return.
|
|
114
|
+
prevented_saving:
|
|
115
|
+
few: "%{count} errors, saving they stopped:"
|
|
116
|
+
many: "%{count} errors, saving they stopped:"
|
|
117
|
+
one: 'One error stopped the saving:'
|
|
118
|
+
other: "%{count} errors stopped the saving:"
|
|
119
|
+
two: 'Two errors stopped the saving:'
|
|
120
|
+
zero: No errors, in balance all is!
|
|
121
|
+
filter_by: 'Filter by, you can:'
|
|
122
|
+
footer:
|
|
123
|
+
copyright: "© %{year} %{company} All rights reserved."
|
|
124
|
+
documentation: Holocron
|
|
125
|
+
need_help: Need steady uptime & masters' aid, do you?
|
|
126
|
+
open_issue: Raise an Issue
|
|
127
|
+
project_homepage: Project temple
|
|
128
|
+
support: Gain Jedi Support →
|
|
129
|
+
tagline: Forged with ❤️ by developers, for developers it is.
|
|
130
|
+
tooltip:
|
|
131
|
+
documentation: Read the holocron
|
|
132
|
+
gem_version: Visit RubyGems system
|
|
133
|
+
open_issue: Report a bug or wish a feature
|
|
134
|
+
project_homepage: GitHub enclave
|
|
135
|
+
support: Professional support paths
|
|
136
|
+
version: v%{version}
|
|
137
|
+
header:
|
|
138
|
+
signed_in_as: Signed in as %{email}, you are
|
|
139
|
+
history: Timeline
|
|
140
|
+
loading: Loading... patience you must have
|
|
141
|
+
loading_definitions: Definitions summoning...
|
|
142
|
+
loading_runs: Runs summoning...
|
|
143
|
+
mat_view_definition:
|
|
144
|
+
create_mv: Create Smriti, we will
|
|
145
|
+
create_mv_tooltip: Into the database, the materialized view we bring.
|
|
146
|
+
delete_confirm: Delete %{name}'s definition? (Smriti fall not)
|
|
147
|
+
delete_tooltip: Definition remove, yet the materialized view remains within
|
|
148
|
+
the database.
|
|
149
|
+
drop_mv: Drop Smriti
|
|
150
|
+
drop_mv_cascade: Drop Smriti (Cascade it does)
|
|
151
|
+
drop_mv_cascade_confirm: Materialized view and dependents for %{name}, drop
|
|
152
|
+
shall we?
|
|
153
|
+
drop_mv_cascade_tooltip: Materialized view and all dependents, the database
|
|
154
|
+
forgets. Definition stays.
|
|
155
|
+
drop_mv_confirm: Drop %{name}'s materialized view, do you?
|
|
156
|
+
drop_mv_tooltip: From the database the view departs; definition remains.
|
|
157
|
+
edit_tooltip: Definition of the materialized view, edit you can.
|
|
158
|
+
materialized_view: Materialized view
|
|
159
|
+
materialized_view_exists: Exists, the materialized view does
|
|
160
|
+
materialized_view_not_exists: Not yet born, the materialized view is!
|
|
161
|
+
new_definition: New definition
|
|
162
|
+
new_definition_tooltip: Forge a new materialized view definition.
|
|
163
|
+
no_definitions: Found, no definitions were. Create one, you must.
|
|
164
|
+
no_definitions_if_filtered: Filters or search, no definitions answered.
|
|
165
|
+
refresh_tooltip: Refresh in the database, the materialized view shall.
|
|
166
|
+
sql_summary_tooltip: Click, expand or fold the SQL you will
|
|
167
|
+
view_tooltip: The definition behold, you should.
|
|
168
|
+
mat_view_run:
|
|
169
|
+
error_tooltip: Message of failure, should the run fall.
|
|
170
|
+
meta_tooltip: Extra data wrapped in JSON, it is.
|
|
171
|
+
no_runs: No runs spotted, there are.
|
|
172
|
+
no_runs_if_filtered: Filters matched no runs.
|
|
173
|
+
view_details: Details see
|
|
174
|
+
view_tooltip: Run details see
|
|
175
|
+
no_filter: Any (filter none)
|
|
176
|
+
no_value: No value (nil or empty)
|
|
177
|
+
per_page: Per page
|
|
178
|
+
project_author: CodeVedas Inc.
|
|
179
|
+
project_description: Admin interface for guiding PostgreSQL materialized views
|
|
180
|
+
in Rails creations.
|
|
181
|
+
project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
|
|
182
|
+
management
|
|
183
|
+
refresh: Refresh
|
|
184
|
+
refresh_contents: Refresh contents
|
|
185
|
+
reloading: Reloading...
|
|
186
|
+
reset: Reset
|
|
187
|
+
run: Run
|
|
188
|
+
runs: Runs
|
|
189
|
+
save_changes: Save changes
|
|
190
|
+
settings:
|
|
191
|
+
auto: Auto
|
|
192
|
+
dark: Dark
|
|
193
|
+
language: Tongue
|
|
194
|
+
language_hint: Your interface tongue choose.
|
|
195
|
+
light: Light
|
|
196
|
+
theme: Theme
|
|
197
|
+
theme_hint: Auto follows system; light and dark override it.
|
|
198
|
+
title: Preferences
|
|
199
|
+
title: Smriti Council
|
|
200
|
+
view_var: View %{name}, you shall
|
|
201
|
+
x_miliseconds: "%{count} ms"
|
|
202
|
+
number:
|
|
203
|
+
format:
|
|
204
|
+
delimiter: ","
|
|
205
|
+
separator: "."
|
|
206
|
+
numbers:
|
|
207
|
+
eight: 8
|
|
208
|
+
five: 5
|
|
209
|
+
four: 4
|
|
210
|
+
nine: 9
|
|
211
|
+
one: 1
|
|
212
|
+
seven: 7
|
|
213
|
+
six: 6
|
|
214
|
+
three: 3
|
|
215
|
+
two: 2
|
|
216
|
+
zero: 0
|
|
217
|
+
time:
|
|
218
|
+
am: Morning it is
|
|
219
|
+
formats:
|
|
220
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
|
221
|
+
pm: Evening it is
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
en:
|
|
3
|
+
activerecord:
|
|
4
|
+
attributes:
|
|
5
|
+
smriti/mat_view_definition:
|
|
6
|
+
created_at: Created at
|
|
7
|
+
dependencies: Dependencies
|
|
8
|
+
last_run_at: Last run at
|
|
9
|
+
name: Name
|
|
10
|
+
refresh_strategy: Refresh strategy
|
|
11
|
+
schedule_cron: Schedule (cron)
|
|
12
|
+
sql: SQL (SELECT ...)
|
|
13
|
+
unique_index_columns: Unique index columns
|
|
14
|
+
updated_at: Updated at
|
|
15
|
+
smriti/mat_view_run:
|
|
16
|
+
created_at: Created at
|
|
17
|
+
details: Details
|
|
18
|
+
duration_ms: Duration (ms)
|
|
19
|
+
error: Error
|
|
20
|
+
finished_at: Finished at
|
|
21
|
+
mat_view_definition: Definition
|
|
22
|
+
meta: Metadata
|
|
23
|
+
operation: Operation
|
|
24
|
+
row_count_after: Row count after
|
|
25
|
+
row_count_before: Row count before
|
|
26
|
+
rows_before_after: Rows (before/after)
|
|
27
|
+
started_at: Started at
|
|
28
|
+
status: Status
|
|
29
|
+
updated_at: Updated at
|
|
30
|
+
enums:
|
|
31
|
+
smriti/mat_view_definition:
|
|
32
|
+
refresh_strategy:
|
|
33
|
+
concurrent: Concurrent
|
|
34
|
+
regular: Regular
|
|
35
|
+
swap: Swap
|
|
36
|
+
smriti/mat_view_run:
|
|
37
|
+
operation:
|
|
38
|
+
create: Create
|
|
39
|
+
drop: Drop
|
|
40
|
+
refresh: Refresh
|
|
41
|
+
status:
|
|
42
|
+
failed: Failed
|
|
43
|
+
running: Running
|
|
44
|
+
success: Success
|
|
45
|
+
errors:
|
|
46
|
+
models:
|
|
47
|
+
smriti/mat_view_definition:
|
|
48
|
+
attributes:
|
|
49
|
+
name:
|
|
50
|
+
blank: must be provided
|
|
51
|
+
invalid: is not a valid PostgreSQL identifier
|
|
52
|
+
taken: must be unique
|
|
53
|
+
sql:
|
|
54
|
+
blank: must be provided
|
|
55
|
+
invalid: must start with SELECT
|
|
56
|
+
unique_index_columns:
|
|
57
|
+
at_least_one: must have at least one column when using concurrent refresh
|
|
58
|
+
strategy
|
|
59
|
+
hints:
|
|
60
|
+
smriti/mat_view_definition:
|
|
61
|
+
dependencies: Comma-separated list of tables or views this materialized view
|
|
62
|
+
depends on.
|
|
63
|
+
name: Name of the materialized view in the database.
|
|
64
|
+
refresh_strategy: Determines how the materialized view is refreshed.
|
|
65
|
+
schedule_cron: Use standard cron format. Leave empty for no scheduling.
|
|
66
|
+
sql: The SQL query must be a valid SELECT statement.
|
|
67
|
+
unique_index_columns: Columns to create a unique index on. Required for concurrent
|
|
68
|
+
refresh.
|
|
69
|
+
smriti/mat_view_run:
|
|
70
|
+
error: Error message if the run failed.
|
|
71
|
+
meta: Additional metadata in JSON format.
|
|
72
|
+
operation: Type of operation performed.
|
|
73
|
+
status: Current status of the run.
|
|
74
|
+
models:
|
|
75
|
+
smriti/mat_view_definition: Materialized View Definition
|
|
76
|
+
smriti/mat_view_run: Materialized View Run
|
|
77
|
+
placeholders:
|
|
78
|
+
smriti/mat_view_definition:
|
|
79
|
+
dependencies: Enter dependencies (comma separated, optional)
|
|
80
|
+
name: Enter name
|
|
81
|
+
refresh_strategy: Select refresh strategy
|
|
82
|
+
schedule_cron: 0 0 * * * for daily at midnight, leave empty for no scheduling
|
|
83
|
+
sql: Enter SQL (SELECT ...)
|
|
84
|
+
unique_index_columns: Enter unique index columns (comma separated, optional)
|
|
85
|
+
smriti/mat_view_run:
|
|
86
|
+
error: Error message
|
|
87
|
+
mat_view_definition: Select materialized view
|
|
88
|
+
meta: Metadata (JSON)
|
|
89
|
+
operation: Select operation
|
|
90
|
+
status: Select status
|
|
91
|
+
i18n:
|
|
92
|
+
name: English
|
|
93
|
+
smriti:
|
|
94
|
+
actions: Actions
|
|
95
|
+
cancel: Cancel
|
|
96
|
+
close: Close
|
|
97
|
+
close_window: Close window
|
|
98
|
+
create: Create
|
|
99
|
+
dashboard:
|
|
100
|
+
metrics:
|
|
101
|
+
title: Metrics
|
|
102
|
+
title: Dashboard
|
|
103
|
+
datatable:
|
|
104
|
+
clear_search_aria_label: Clear search
|
|
105
|
+
search_aria_label: Search table
|
|
106
|
+
search_placeholder: Search...
|
|
107
|
+
definition: Definition
|
|
108
|
+
definitions: Definitions
|
|
109
|
+
delete: Delete
|
|
110
|
+
details: Details
|
|
111
|
+
edit: Edit
|
|
112
|
+
edit_var: Edit %{name}
|
|
113
|
+
errors:
|
|
114
|
+
frame_only: This action can only be performed in a frame, redirected to dashboard.
|
|
115
|
+
prevented_saving:
|
|
116
|
+
few: "%{count} errors prevented saving:"
|
|
117
|
+
many: "%{count} errors prevented saving:"
|
|
118
|
+
one: '1 error prevented saving:'
|
|
119
|
+
other: "%{count} errors prevented saving:"
|
|
120
|
+
two: '2 errors prevented saving:'
|
|
121
|
+
zero: No errors, all good!
|
|
122
|
+
filter_by: 'Filter by:'
|
|
123
|
+
footer:
|
|
124
|
+
copyright: "© %{year} %{company} All rights reserved."
|
|
125
|
+
documentation: Documentation
|
|
126
|
+
need_help: Need guaranteed uptime & expert help?
|
|
127
|
+
open_issue: Open an Issue
|
|
128
|
+
project_homepage: Project Homepage
|
|
129
|
+
support: Get Professional Support →
|
|
130
|
+
tagline: Built with ❤️ by developers, for developers.
|
|
131
|
+
tooltip:
|
|
132
|
+
documentation: Read the documentation
|
|
133
|
+
gem_version: Click to visit the RubyGems page
|
|
134
|
+
open_issue: Report a bug or request a feature
|
|
135
|
+
project_homepage: GitHub repository
|
|
136
|
+
support: Professional support plans
|
|
137
|
+
version: v%{version}
|
|
138
|
+
header:
|
|
139
|
+
signed_in_as: Signed in as %{email}
|
|
140
|
+
history: History
|
|
141
|
+
loading: Loading...
|
|
142
|
+
loading_definitions: Loading definitions...
|
|
143
|
+
loading_runs: Loading runs...
|
|
144
|
+
mat_view_definition:
|
|
145
|
+
create_mv: Create MV
|
|
146
|
+
create_mv_tooltip: Creates the materialized view in the database.
|
|
147
|
+
delete_confirm: Delete definition %{name}? (Does NOT drop MV)
|
|
148
|
+
delete_tooltip: Deletes the definition but does NOT drop the materialized view
|
|
149
|
+
in the database.
|
|
150
|
+
drop_mv: Drop MV
|
|
151
|
+
drop_mv_cascade: Drop MV (Cascade)
|
|
152
|
+
drop_mv_cascade_confirm: Drop materialized view and all dependent objects for
|
|
153
|
+
%{name}?
|
|
154
|
+
drop_mv_cascade_tooltip: Drops the materialized view and all dependent objects
|
|
155
|
+
in the database. Definition remains.
|
|
156
|
+
drop_mv_confirm: Drop materialized view for %{name}?
|
|
157
|
+
drop_mv_tooltip: Drops the materialized view in the database. Definition remains.
|
|
158
|
+
edit_tooltip: Edit materialized view definition.
|
|
159
|
+
materialized_view: Materialized View
|
|
160
|
+
materialized_view_exists: Materialized view exists
|
|
161
|
+
materialized_view_not_exists: Materialized view not created yet!
|
|
162
|
+
new_definition: New definition
|
|
163
|
+
new_definition_tooltip: Create a new materialized view definition.
|
|
164
|
+
no_definitions: No materialized view definitions found. Create one to get started.
|
|
165
|
+
no_definitions_if_filtered: No materialized view definitions found for the selected
|
|
166
|
+
filters and/or search.
|
|
167
|
+
refresh_tooltip: Refreshes the materialized view in the database.
|
|
168
|
+
sql_summary_tooltip: Click to expand/collapse SQL
|
|
169
|
+
view_tooltip: View materialized view definition.
|
|
170
|
+
mat_view_run:
|
|
171
|
+
error_tooltip: Error message if the run failed.
|
|
172
|
+
meta_tooltip: Additional metadata in JSON format.
|
|
173
|
+
no_runs: No runs found.
|
|
174
|
+
no_runs_if_filtered: No runs found for the selected filters.
|
|
175
|
+
view_details: View details
|
|
176
|
+
view_tooltip: View run details.
|
|
177
|
+
no_filter: Any ( no filter )
|
|
178
|
+
no_value: No value (nil or empty)
|
|
179
|
+
per_page: Per page
|
|
180
|
+
project_author: Codevedas Inc.
|
|
181
|
+
project_description: Admin interface for managing PostgreSQL materialized views
|
|
182
|
+
in Rails applications.
|
|
183
|
+
project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
|
|
184
|
+
management
|
|
185
|
+
refresh: Refresh
|
|
186
|
+
refresh_contents: Refresh contents
|
|
187
|
+
reloading: Reloading...
|
|
188
|
+
reset: Reset
|
|
189
|
+
run: Run
|
|
190
|
+
runs: Runs
|
|
191
|
+
save_changes: Save changes
|
|
192
|
+
settings:
|
|
193
|
+
auto: Auto
|
|
194
|
+
dark: Dark
|
|
195
|
+
language: Language
|
|
196
|
+
language_hint: Choose your interface language.
|
|
197
|
+
light: Light
|
|
198
|
+
theme: Theme
|
|
199
|
+
theme_hint: Auto follows your system preference, light and dark overrides it.
|
|
200
|
+
title: Preferences
|
|
201
|
+
title: Smriti Admin
|
|
202
|
+
view_var: View %{name}
|
|
203
|
+
x_miliseconds: "%{count} ms"
|
|
204
|
+
number:
|
|
205
|
+
format:
|
|
206
|
+
delimiter: " "
|
|
207
|
+
separator: ","
|
|
208
|
+
numbers:
|
|
209
|
+
eight: 8
|
|
210
|
+
five: 5
|
|
211
|
+
four: 4
|
|
212
|
+
nine: 9
|
|
213
|
+
one: 1
|
|
214
|
+
seven: 7
|
|
215
|
+
six: 6
|
|
216
|
+
three: 3
|
|
217
|
+
two: 2
|
|
218
|
+
zero: 0
|
|
219
|
+
time:
|
|
220
|
+
am: AM
|
|
221
|
+
formats:
|
|
222
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
|
223
|
+
pm: PM
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
---
|
|
2
|
+
es:
|
|
3
|
+
activerecord:
|
|
4
|
+
attributes:
|
|
5
|
+
smriti/mat_view_definition:
|
|
6
|
+
created_at: Creado el
|
|
7
|
+
dependencies: Dependencias
|
|
8
|
+
last_run_at: Última ejecución
|
|
9
|
+
name: Nombre
|
|
10
|
+
refresh_strategy: Estrategia de actualización
|
|
11
|
+
schedule_cron: Programación (cron)
|
|
12
|
+
sql: SQL (SELECT ...)
|
|
13
|
+
unique_index_columns: Columnas de índice único
|
|
14
|
+
updated_at: Actualizado el
|
|
15
|
+
smriti/mat_view_run:
|
|
16
|
+
created_at: Creado el
|
|
17
|
+
details: Detalles
|
|
18
|
+
duration_ms: Duración (ms)
|
|
19
|
+
error: Error
|
|
20
|
+
finished_at: Finalizado el
|
|
21
|
+
mat_view_definition: Definición
|
|
22
|
+
meta: Metadatos
|
|
23
|
+
operation: Operación
|
|
24
|
+
row_count_after: Filas después
|
|
25
|
+
row_count_before: Filas antes
|
|
26
|
+
rows_before_after: Filas (antes/después)
|
|
27
|
+
started_at: Iniciado el
|
|
28
|
+
status: Estado
|
|
29
|
+
updated_at: Actualizado el
|
|
30
|
+
enums:
|
|
31
|
+
smriti/mat_view_definition:
|
|
32
|
+
refresh_strategy:
|
|
33
|
+
concurrent: Concurrente
|
|
34
|
+
regular: Regular
|
|
35
|
+
swap: Intercambio
|
|
36
|
+
smriti/mat_view_run:
|
|
37
|
+
operation:
|
|
38
|
+
create: Crear
|
|
39
|
+
drop: Eliminar
|
|
40
|
+
refresh: Actualizar
|
|
41
|
+
status:
|
|
42
|
+
failed: Fallido
|
|
43
|
+
running: En ejecución
|
|
44
|
+
success: Exitoso
|
|
45
|
+
errors:
|
|
46
|
+
models:
|
|
47
|
+
smriti/mat_view_definition:
|
|
48
|
+
attributes:
|
|
49
|
+
name:
|
|
50
|
+
blank: debe proporcionarse
|
|
51
|
+
invalid: no es un identificador válido de PostgreSQL
|
|
52
|
+
taken: debe ser único
|
|
53
|
+
sql:
|
|
54
|
+
blank: debe proporcionarse
|
|
55
|
+
invalid: debe comenzar con SELECT
|
|
56
|
+
unique_index_columns:
|
|
57
|
+
at_least_one: debe tener al menos una columna al usar la estrategia
|
|
58
|
+
de actualización concurrente
|
|
59
|
+
hints:
|
|
60
|
+
smriti/mat_view_definition:
|
|
61
|
+
dependencies: Lista separada por comas de tablas o vistas de las que depende
|
|
62
|
+
esta vista materializada.
|
|
63
|
+
name: Nombre de la vista materializada en la base de datos.
|
|
64
|
+
refresh_strategy: Determina cómo se actualiza la vista materializada.
|
|
65
|
+
schedule_cron: Utiliza el formato cron estándar. Déjalo vacío si no hay programación.
|
|
66
|
+
sql: La consulta SQL debe ser una instrucción SELECT válida.
|
|
67
|
+
unique_index_columns: Columnas para crear un índice único. Requerido para
|
|
68
|
+
actualización concurrente.
|
|
69
|
+
smriti/mat_view_run:
|
|
70
|
+
error: Mensaje de error si la ejecución falló.
|
|
71
|
+
meta: Metadatos adicionales en formato JSON.
|
|
72
|
+
operation: Tipo de operación realizada.
|
|
73
|
+
status: Estado actual de la ejecución.
|
|
74
|
+
models:
|
|
75
|
+
smriti/mat_view_definition: Definición de vista materializada
|
|
76
|
+
smriti/mat_view_run: Ejecución de vista materializada
|
|
77
|
+
placeholders:
|
|
78
|
+
smriti/mat_view_definition:
|
|
79
|
+
dependencies: Ingresa dependencias (separadas por comas, opcional)
|
|
80
|
+
name: Ingresa el nombre
|
|
81
|
+
refresh_strategy: Selecciona la estrategia de actualización
|
|
82
|
+
schedule_cron: 0 0 * * * para diario a medianoche, déjalo vacío si no se programa
|
|
83
|
+
sql: Ingresa SQL (SELECT ...)
|
|
84
|
+
unique_index_columns: Ingresa columnas de índice único (separadas por comas,
|
|
85
|
+
opcional)
|
|
86
|
+
smriti/mat_view_run:
|
|
87
|
+
error: Mensaje de error
|
|
88
|
+
mat_view_definition: Selecciona la vista materializada
|
|
89
|
+
meta: Metadatos (JSON)
|
|
90
|
+
operation: Selecciona la operación
|
|
91
|
+
status: Selecciona el estado
|
|
92
|
+
i18n:
|
|
93
|
+
name: Español
|
|
94
|
+
smriti:
|
|
95
|
+
actions: Acciones
|
|
96
|
+
cancel: Cancelar
|
|
97
|
+
close: Cerrar
|
|
98
|
+
close_window: Cerrar ventana
|
|
99
|
+
create: Crear
|
|
100
|
+
dashboard:
|
|
101
|
+
metrics:
|
|
102
|
+
title: Métricas
|
|
103
|
+
title: Panel de control
|
|
104
|
+
datatable:
|
|
105
|
+
clear_search_aria_label: Limpiar búsqueda
|
|
106
|
+
search_aria_label: Buscar en la tabla
|
|
107
|
+
search_placeholder: Buscar...
|
|
108
|
+
definition: Definición
|
|
109
|
+
definitions: Definiciones
|
|
110
|
+
delete: Eliminar
|
|
111
|
+
details: Detalles
|
|
112
|
+
edit: Editar
|
|
113
|
+
edit_var: Editar %{name}
|
|
114
|
+
errors:
|
|
115
|
+
frame_only: Esta acción solo puede realizarse en un marco; redirigido al panel.
|
|
116
|
+
prevented_saving:
|
|
117
|
+
few: "%{count} errores impidieron guardar:"
|
|
118
|
+
many: "%{count} errores impidieron guardar:"
|
|
119
|
+
one: '1 error impidió guardar:'
|
|
120
|
+
other: "%{count} errores impidieron guardar:"
|
|
121
|
+
two: '2 errores impidieron guardar:'
|
|
122
|
+
zero: "¡Sin errores, todo bien!"
|
|
123
|
+
filter_by: 'Filtrar por:'
|
|
124
|
+
footer:
|
|
125
|
+
copyright: "© %{year} %{company} Todos los derechos reservados."
|
|
126
|
+
documentation: Documentación
|
|
127
|
+
need_help: "¿Necesitas disponibilidad garantizada y ayuda experta?"
|
|
128
|
+
open_issue: Abrir un Issue
|
|
129
|
+
project_homepage: Página del proyecto
|
|
130
|
+
support: Obtén soporte profesional →
|
|
131
|
+
tagline: Construido con ❤️ por desarrolladores, para desarrolladores.
|
|
132
|
+
tooltip:
|
|
133
|
+
documentation: Leer la documentación
|
|
134
|
+
gem_version: Haz clic para visitar la página de RubyGems
|
|
135
|
+
open_issue: Reportar un bug o solicitar una funcionalidad
|
|
136
|
+
project_homepage: Repositorio de GitHub
|
|
137
|
+
support: Planes de soporte profesional
|
|
138
|
+
version: v%{version}
|
|
139
|
+
header:
|
|
140
|
+
signed_in_as: Conectado como %{email}
|
|
141
|
+
history: Historial
|
|
142
|
+
loading: Cargando...
|
|
143
|
+
loading_definitions: Cargando definiciones...
|
|
144
|
+
loading_runs: Cargando ejecuciones...
|
|
145
|
+
mat_view_definition:
|
|
146
|
+
create_mv: Crear Smriti
|
|
147
|
+
create_mv_tooltip: Crea la vista materializada en la base de datos.
|
|
148
|
+
delete_confirm: "¿Eliminar la definición %{name}? (NO elimina Smriti)"
|
|
149
|
+
delete_tooltip: Elimina la definición pero NO la vista materializada en la base
|
|
150
|
+
de datos.
|
|
151
|
+
drop_mv: Eliminar Smriti
|
|
152
|
+
drop_mv_cascade: Eliminar Smriti (en cascada)
|
|
153
|
+
drop_mv_cascade_confirm: "¿Eliminar la vista materializada y todos los objetos
|
|
154
|
+
dependientes de %{name}?"
|
|
155
|
+
drop_mv_cascade_tooltip: Elimina la vista materializada y todos los objetos
|
|
156
|
+
dependientes en la base de datos. La definición permanece.
|
|
157
|
+
drop_mv_confirm: "¿Eliminar la vista materializada de %{name}?"
|
|
158
|
+
drop_mv_tooltip: Elimina la vista materializada en la base de datos. La definición
|
|
159
|
+
permanece.
|
|
160
|
+
edit_tooltip: Editar la definición de la vista materializada.
|
|
161
|
+
materialized_view: Vista materializada
|
|
162
|
+
materialized_view_exists: La vista materializada existe
|
|
163
|
+
materialized_view_not_exists: "¡La vista materializada aún no se ha creado!"
|
|
164
|
+
new_definition: Nueva definición
|
|
165
|
+
new_definition_tooltip: Crear una nueva definición de vista materializada.
|
|
166
|
+
no_definitions: No se encontraron definiciones de vistas materializadas. Crea
|
|
167
|
+
una para comenzar.
|
|
168
|
+
no_definitions_if_filtered: No se encontraron definiciones de vistas materializadas
|
|
169
|
+
con los filtros o la búsqueda seleccionados.
|
|
170
|
+
refresh_tooltip: Actualiza la vista materializada en la base de datos.
|
|
171
|
+
sql_summary_tooltip: Haz clic para expandir/contraer el SQL
|
|
172
|
+
view_tooltip: Ver la definición de la vista materializada.
|
|
173
|
+
mat_view_run:
|
|
174
|
+
error_tooltip: Mensaje de error si la ejecución falló.
|
|
175
|
+
meta_tooltip: Metadatos adicionales en formato JSON.
|
|
176
|
+
no_runs: No se encontraron ejecuciones.
|
|
177
|
+
no_runs_if_filtered: No se encontraron ejecuciones para los filtros seleccionados.
|
|
178
|
+
view_details: Ver detalles
|
|
179
|
+
view_tooltip: Ver detalles de la ejecución.
|
|
180
|
+
no_filter: Cualquiera (sin filtro)
|
|
181
|
+
no_value: Sin valor (nil o vacío)
|
|
182
|
+
per_page: Por página
|
|
183
|
+
project_author: CodeVedas Inc.
|
|
184
|
+
project_description: Interfaz administrativa para gestionar vistas materializadas
|
|
185
|
+
de PostgreSQL en aplicaciones Rails.
|
|
186
|
+
project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
|
|
187
|
+
management
|
|
188
|
+
refresh: Actualizar
|
|
189
|
+
refresh_contents: Actualizar contenido
|
|
190
|
+
reloading: Recargando...
|
|
191
|
+
reset: Restablecer
|
|
192
|
+
run: Ejecutar
|
|
193
|
+
runs: Ejecuciones
|
|
194
|
+
save_changes: Guardar cambios
|
|
195
|
+
settings:
|
|
196
|
+
auto: Automático
|
|
197
|
+
dark: Oscuro
|
|
198
|
+
language: Idioma
|
|
199
|
+
language_hint: Elige el idioma de la interfaz.
|
|
200
|
+
light: Claro
|
|
201
|
+
theme: Tema
|
|
202
|
+
theme_hint: Automático sigue la preferencia del sistema; claro y oscuro la sustituyen.
|
|
203
|
+
title: Preferencias
|
|
204
|
+
title: Administración de Smriti
|
|
205
|
+
view_var: Ver %{name}
|
|
206
|
+
x_miliseconds: "%{count} ms"
|
|
207
|
+
number:
|
|
208
|
+
format:
|
|
209
|
+
delimiter: " "
|
|
210
|
+
separator: ","
|
|
211
|
+
numbers:
|
|
212
|
+
eight: 8
|
|
213
|
+
five: 5
|
|
214
|
+
four: 4
|
|
215
|
+
nine: 9
|
|
216
|
+
one: 1
|
|
217
|
+
seven: 7
|
|
218
|
+
six: 6
|
|
219
|
+
three: 3
|
|
220
|
+
two: 2
|
|
221
|
+
zero: 0
|
|
222
|
+
time:
|
|
223
|
+
am: a. m.
|
|
224
|
+
formats:
|
|
225
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
|
226
|
+
pm: p. m.
|