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,202 @@
|
|
|
1
|
+
en-AU:
|
|
2
|
+
activerecord:
|
|
3
|
+
attributes:
|
|
4
|
+
smriti/mat_view_definition:
|
|
5
|
+
created_at: "Created at"
|
|
6
|
+
dependencies: "Dependencies"
|
|
7
|
+
name: "Name"
|
|
8
|
+
refresh_strategy: "Refresh strategy"
|
|
9
|
+
schedule_cron: "Schedule (cron)"
|
|
10
|
+
sql: "SQL (SELECT ...)"
|
|
11
|
+
unique_index_columns: "Unique index columns"
|
|
12
|
+
updated_at: "Updated at"
|
|
13
|
+
smriti/mat_view_run:
|
|
14
|
+
created_at: "Created at"
|
|
15
|
+
details: "Details"
|
|
16
|
+
duration_ms: "Duration (ms)"
|
|
17
|
+
error: "Error"
|
|
18
|
+
finished_at: "Finished at"
|
|
19
|
+
mat_view_definition: "Definition"
|
|
20
|
+
meta: "Metadata"
|
|
21
|
+
operation: "Operation"
|
|
22
|
+
row_count_after: "Row count after"
|
|
23
|
+
row_count_before: "Row count before"
|
|
24
|
+
rows_before_after: "Rows (before/after)"
|
|
25
|
+
started_at: "Started at"
|
|
26
|
+
status: "Status"
|
|
27
|
+
updated_at: "Updated at"
|
|
28
|
+
enums:
|
|
29
|
+
smriti/mat_view_definition:
|
|
30
|
+
refresh_strategy:
|
|
31
|
+
concurrent: "Concurrent"
|
|
32
|
+
regular: "Regular"
|
|
33
|
+
swap: "Swap"
|
|
34
|
+
smriti/mat_view_run:
|
|
35
|
+
operation:
|
|
36
|
+
create: "Create"
|
|
37
|
+
drop: "Drop"
|
|
38
|
+
refresh: "Refresh"
|
|
39
|
+
status:
|
|
40
|
+
failed: "Failed"
|
|
41
|
+
running: "Running"
|
|
42
|
+
success: "Succeeded"
|
|
43
|
+
errors:
|
|
44
|
+
models:
|
|
45
|
+
smriti/mat_view_definition:
|
|
46
|
+
attributes:
|
|
47
|
+
name:
|
|
48
|
+
blank: "must be provided"
|
|
49
|
+
invalid: "is not a valid PostgreSQL identifier"
|
|
50
|
+
taken: "must be unique"
|
|
51
|
+
sql:
|
|
52
|
+
blank: "must be provided"
|
|
53
|
+
invalid: "must start with SELECT"
|
|
54
|
+
unique_index_columns:
|
|
55
|
+
at_least_one: "must have at least one column when using concurrent refresh strategy"
|
|
56
|
+
hints:
|
|
57
|
+
smriti/mat_view_definition:
|
|
58
|
+
dependencies: "Comma-separated list of tables or views this materialised view depends on."
|
|
59
|
+
name: "Name of the materialised view in the database."
|
|
60
|
+
refresh_strategy: "Determines how the materialised view is refreshed."
|
|
61
|
+
schedule_cron: "Use standard cron format. Leave empty for no scheduling."
|
|
62
|
+
sql: "The SQL query must be a valid SELECT statement."
|
|
63
|
+
unique_index_columns: "Columns to create a unique index on. Required for concurrent refresh."
|
|
64
|
+
smriti/mat_view_run:
|
|
65
|
+
error: "Error message if the run failed."
|
|
66
|
+
meta: "Additional metadata in JSON format."
|
|
67
|
+
operation: "Type of operation performed."
|
|
68
|
+
status: "Current status of the run."
|
|
69
|
+
models:
|
|
70
|
+
smriti/mat_view_definition: "Materialised View Definition"
|
|
71
|
+
smriti/mat_view_run: "Materialised View Run"
|
|
72
|
+
placeholders:
|
|
73
|
+
smriti/mat_view_definition:
|
|
74
|
+
dependencies: "Enter dependencies (comma separated, optional)"
|
|
75
|
+
name: "Enter name"
|
|
76
|
+
refresh_strategy: "Select refresh strategy"
|
|
77
|
+
schedule_cron: "0 0 * * * for daily at midnight, leave empty for no scheduling"
|
|
78
|
+
sql: "Enter SQL (SELECT ...)"
|
|
79
|
+
unique_index_columns: "Enter unique index columns (comma separated, optional)"
|
|
80
|
+
smriti/mat_view_run:
|
|
81
|
+
error: "Error message"
|
|
82
|
+
mat_view_definition: "Select materialised view"
|
|
83
|
+
meta: "Metadata (JSON)"
|
|
84
|
+
operation: "Select operation"
|
|
85
|
+
status: "Select status"
|
|
86
|
+
i18n:
|
|
87
|
+
name: English (Australia)
|
|
88
|
+
smriti:
|
|
89
|
+
actions: "Actions"
|
|
90
|
+
all_definitions: "All definitions"
|
|
91
|
+
all_operations: "All operations"
|
|
92
|
+
all_statuses: "All statuses"
|
|
93
|
+
cancel: "Cancel"
|
|
94
|
+
close: "Close"
|
|
95
|
+
close_window: "Close window"
|
|
96
|
+
create: "Create"
|
|
97
|
+
dashboard:
|
|
98
|
+
metrics:
|
|
99
|
+
title: "Metrics"
|
|
100
|
+
title: "Dashboard"
|
|
101
|
+
definition: "Definition"
|
|
102
|
+
definitions: "Definitions"
|
|
103
|
+
delete: "Delete"
|
|
104
|
+
details: "Details"
|
|
105
|
+
edit: "Edit"
|
|
106
|
+
edit_var: "Edit %{name}"
|
|
107
|
+
errors:
|
|
108
|
+
frame_only: "This action can only be performed in a frame, redirected to dashboard."
|
|
109
|
+
prevented_saving:
|
|
110
|
+
one: "1 error prevented saving:"
|
|
111
|
+
other: "%{count} errors prevented saving:"
|
|
112
|
+
filter_by: "Filter by:"
|
|
113
|
+
footer:
|
|
114
|
+
copyright: "© %{year} %{company} All rights reserved."
|
|
115
|
+
documentation: "Documentation"
|
|
116
|
+
need_help: "Need guaranteed uptime & expert help?"
|
|
117
|
+
open_issue: "Open an Issue"
|
|
118
|
+
project_homepage: "Project Homepage"
|
|
119
|
+
support: "Get Professional Support →"
|
|
120
|
+
tagline: "Built with ❤️ by developers, for developers."
|
|
121
|
+
tooltip:
|
|
122
|
+
documentation: "Read the documentation"
|
|
123
|
+
gem_version: "Click to visit the RubyGems page"
|
|
124
|
+
open_issue: "Report a bug or request a feature"
|
|
125
|
+
project_homepage: "GitHub repository"
|
|
126
|
+
support: "Professional support plans"
|
|
127
|
+
version: "v%{version}"
|
|
128
|
+
header:
|
|
129
|
+
signed_in_as: "Signed in as %{email}"
|
|
130
|
+
history: "History"
|
|
131
|
+
loading: "Loading..."
|
|
132
|
+
loading_definitions: "Loading definitions..."
|
|
133
|
+
loading_runs: "Loading runs..."
|
|
134
|
+
mat_view_definition:
|
|
135
|
+
create_mv: "Create MV"
|
|
136
|
+
create_mv_tooltip: "Creates the materialised view in the database."
|
|
137
|
+
delete_confirm: "Delete definition %{name}? (Does NOT drop MV)"
|
|
138
|
+
delete_tooltip: "Deletes the definition but does NOT drop the materialised view in the database."
|
|
139
|
+
drop_mv: "Drop MV"
|
|
140
|
+
drop_mv_cascade: "Drop MV (Cascade)"
|
|
141
|
+
drop_mv_cascade_confirm: "Drop materialised view and all dependent objects for %{name}?"
|
|
142
|
+
drop_mv_cascade_tooltip: "Drops the materialised view and all dependent objects in the database. Definition remains."
|
|
143
|
+
drop_mv_confirm: "Drop materialised view for %{name}?"
|
|
144
|
+
drop_mv_tooltip: "Drops the materialised view in the database. Definition remains."
|
|
145
|
+
edit_tooltip: "Edit materialised view definition."
|
|
146
|
+
materialized_view: "Materialised View"
|
|
147
|
+
materialized_view_exists: "Materialised view exists"
|
|
148
|
+
materialized_view_not_exists: "Materialised view not created yet!"
|
|
149
|
+
new_definition: "New definition"
|
|
150
|
+
new_definition_tooltip: "Create a new materialised view definition."
|
|
151
|
+
no_definitions: "No materialised view definitions found. Create one to get started."
|
|
152
|
+
refresh_tooltip: "Refreshes the materialised view in the database."
|
|
153
|
+
sql_summary_tooltip: "Click to expand/collapse SQL"
|
|
154
|
+
view_tooltip: "View materialised view definition."
|
|
155
|
+
mat_view_run:
|
|
156
|
+
error_tooltip: "Error message if the run failed."
|
|
157
|
+
meta_tooltip: "Additional metadata in JSON format."
|
|
158
|
+
no_runs: "No runs found."
|
|
159
|
+
no_runs_if_filtered: "No runs found for the selected filters."
|
|
160
|
+
view_details: "View details"
|
|
161
|
+
view_tooltip: "View run details."
|
|
162
|
+
project_author: "Codevedas Inc."
|
|
163
|
+
project_description: "Admin interface for managing PostgreSQL materialised views in Rails applications."
|
|
164
|
+
project_tags: "rails, ruby, materialised views, admin, dashboard, ui, interface, management"
|
|
165
|
+
refresh: "Refresh"
|
|
166
|
+
refresh_contents: "Refresh contents"
|
|
167
|
+
reloading: "Reloading..."
|
|
168
|
+
reset: "Reset"
|
|
169
|
+
run: "Run"
|
|
170
|
+
runs: "Runs"
|
|
171
|
+
save_changes: "Save changes"
|
|
172
|
+
settings:
|
|
173
|
+
auto: "Auto"
|
|
174
|
+
dark: "Dark"
|
|
175
|
+
language: "Language"
|
|
176
|
+
language_hint: "Choose your interface language."
|
|
177
|
+
light: "Light"
|
|
178
|
+
theme: "Theme"
|
|
179
|
+
theme_hint: "Auto follows your system preference, light and dark overrides it."
|
|
180
|
+
title: "Preferences"
|
|
181
|
+
title: "Smriti Admin"
|
|
182
|
+
view_var: "View %{name}"
|
|
183
|
+
number:
|
|
184
|
+
format:
|
|
185
|
+
delimiter: ","
|
|
186
|
+
separator: "."
|
|
187
|
+
numbers:
|
|
188
|
+
eight: 8
|
|
189
|
+
five: 5
|
|
190
|
+
four: 4
|
|
191
|
+
nine: 9
|
|
192
|
+
one: 1
|
|
193
|
+
seven: 7
|
|
194
|
+
six: 6
|
|
195
|
+
three: 3
|
|
196
|
+
two: 2
|
|
197
|
+
zero: 0
|
|
198
|
+
time:
|
|
199
|
+
am: "AM"
|
|
200
|
+
formats:
|
|
201
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
|
202
|
+
pm: "PM"
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
en-BORK:
|
|
3
|
+
activerecord:
|
|
4
|
+
attributes:
|
|
5
|
+
smriti/mat_view_definition:
|
|
6
|
+
created_at: Cre-aated-a et
|
|
7
|
+
dependencies: Deppy-dependees
|
|
8
|
+
last_run_at: Lest roon et
|
|
9
|
+
name: Nemey
|
|
10
|
+
refresh_strategy: Reffreshy strotegy
|
|
11
|
+
schedule_cron: Schedoole-a (crun)
|
|
12
|
+
sql: SQL (SELECT ... ya-hey!)
|
|
13
|
+
unique_index_columns: Oooneeke-a index culumns
|
|
14
|
+
updated_at: Updeeted-a et
|
|
15
|
+
smriti/mat_view_run:
|
|
16
|
+
created_at: Cre-aated-a et
|
|
17
|
+
details: Deeteeels
|
|
18
|
+
duration_ms: Dooreeshun (ms)
|
|
19
|
+
error: Ooops-a-doops
|
|
20
|
+
finished_at: Ffeenished-a et
|
|
21
|
+
mat_view_definition: Deffeeneshun
|
|
22
|
+
meta: Meetadeta
|
|
23
|
+
operation: Ooopereshun
|
|
24
|
+
row_count_after: Roo coont efter
|
|
25
|
+
row_count_before: Roo coont beffoore-a
|
|
26
|
+
rows_before_after: Rooos (beffoore-a/efter)
|
|
27
|
+
started_at: Sterted-a et
|
|
28
|
+
status: Stu-toos
|
|
29
|
+
updated_at: Updeeted-a et
|
|
30
|
+
enums:
|
|
31
|
+
smriti/mat_view_definition:
|
|
32
|
+
refresh_strategy:
|
|
33
|
+
concurrent: Cuncurrunt
|
|
34
|
+
regular: Regooler
|
|
35
|
+
swap: Svep
|
|
36
|
+
smriti/mat_view_run:
|
|
37
|
+
operation:
|
|
38
|
+
create: Creete-a
|
|
39
|
+
drop: Drupp
|
|
40
|
+
refresh: Reffresh
|
|
41
|
+
status:
|
|
42
|
+
failed: Fffooled
|
|
43
|
+
running: Rooneeng
|
|
44
|
+
success: Sooccess
|
|
45
|
+
errors:
|
|
46
|
+
models:
|
|
47
|
+
smriti/mat_view_definition:
|
|
48
|
+
attributes:
|
|
49
|
+
name:
|
|
50
|
+
blank: moost be-a prooffeeded-a
|
|
51
|
+
invalid: is noo a fffoonee PostgreSQL ide-a
|
|
52
|
+
taken: moost be-a oooneeke-a
|
|
53
|
+
sql:
|
|
54
|
+
blank: moost be-a prooffeeded-a
|
|
55
|
+
invalid: moost stert veet SELECT
|
|
56
|
+
unique_index_columns:
|
|
57
|
+
at_least_one: moost hefe-a et leeast vun culoom vhee youoo zee cuncurrunt
|
|
58
|
+
reffresh strotegy
|
|
59
|
+
hints:
|
|
60
|
+
smriti/mat_view_definition:
|
|
61
|
+
dependencies: Cummu-sepereted leest ooff tebles oor feeoos thees metereealized-a
|
|
62
|
+
feeoo deppends oon.
|
|
63
|
+
name: Nemee ooff zee metereealized-a feeoo in zee detebese-a.
|
|
64
|
+
refresh_strategy: Determenes hoo zee metereealized-a feeoo geets reffreshed-a.
|
|
65
|
+
schedule_cron: Use-a stenderd crun furmet. Leeefe-a it empty fur noo schedoole-a.
|
|
66
|
+
sql: Zee SQL query moost be-a feery deenkum SELECT stutement. Bork bork!
|
|
67
|
+
unique_index_columns: Culumns fur creeting-a unooque-a index. Reqooered fur
|
|
68
|
+
cuncurrunt reffresh.
|
|
69
|
+
smriti/mat_view_run:
|
|
70
|
+
error: Errur messege-a iff zee roon fffoels.
|
|
71
|
+
meta: Eddite-iunes meetadeta in JSON furmet.
|
|
72
|
+
operation: Type-a ooff ooopereshun perfurmed-a.
|
|
73
|
+
status: Coorent stootus ooff zee roon.
|
|
74
|
+
models:
|
|
75
|
+
smriti/mat_view_definition: Metereealized-a Feeoo Deffeeneshun
|
|
76
|
+
smriti/mat_view_run: Metereealized-a Feeoo Roon
|
|
77
|
+
placeholders:
|
|
78
|
+
smriti/mat_view_definition:
|
|
79
|
+
dependencies: Entered-a deppy-dependees (cummu sepereted-a, oopshunal)
|
|
80
|
+
name: Entered-a nemey
|
|
81
|
+
refresh_strategy: Sellect-a reffresh strotegy
|
|
82
|
+
schedule_cron: 0 0 * * * fur deely et meedneeght, leeefe-a empty fur noo schedoole-a
|
|
83
|
+
sql: Entered-a SQL (SELECT ...)
|
|
84
|
+
unique_index_columns: Entered-a unooque-a index culumns (cummu sepereted-a,
|
|
85
|
+
oopshunal)
|
|
86
|
+
smriti/mat_view_run:
|
|
87
|
+
error: Ooops-a-doops messege-a
|
|
88
|
+
mat_view_definition: Sellect-a metereealized-a feeoo
|
|
89
|
+
meta: Meetadeta (JSON)
|
|
90
|
+
operation: Sellect-a ooopereshun
|
|
91
|
+
status: Sellect-a stootus
|
|
92
|
+
i18n:
|
|
93
|
+
name: English (Börk Börk!)
|
|
94
|
+
smriti:
|
|
95
|
+
actions: Ecteeuns
|
|
96
|
+
cancel: Cuncel
|
|
97
|
+
close: Cluse-a
|
|
98
|
+
close_window: Cluse-a veendoo
|
|
99
|
+
create: Creete-a
|
|
100
|
+
dashboard:
|
|
101
|
+
metrics:
|
|
102
|
+
title: Metreecs
|
|
103
|
+
title: Deshbuerd
|
|
104
|
+
datatable:
|
|
105
|
+
clear_search_aria_label: Cleer zee serch
|
|
106
|
+
search_aria_label: Serch zee teble-a
|
|
107
|
+
search_placeholder: Serchy serch...
|
|
108
|
+
definition: Deffeeneshun
|
|
109
|
+
definitions: Deffeeneshuns
|
|
110
|
+
delete: Delete-a
|
|
111
|
+
details: Deeteeels
|
|
112
|
+
edit: I-deet
|
|
113
|
+
edit_var: I-deet %{name}
|
|
114
|
+
errors:
|
|
115
|
+
frame_only: Thees ecteeun oonly vurk-a in a freme-a, off tu zee deshbuerd!
|
|
116
|
+
prevented_saving:
|
|
117
|
+
few: "%{count} errs stoopped-a zee sefing:"
|
|
118
|
+
many: "%{count} errs stoopped-a zee sefing:"
|
|
119
|
+
one: 'Luun err stoopped-a zee sefing:'
|
|
120
|
+
other: "%{count} errs stoopped-a zee sefing:"
|
|
121
|
+
two: 'Tvu errs stoopped-a zee sefing:'
|
|
122
|
+
zero: Noo errs, bork bork!
|
|
123
|
+
filter_by: 'Feelter by:'
|
|
124
|
+
footer:
|
|
125
|
+
copyright: "© %{year} %{company} All rights reserved."
|
|
126
|
+
documentation: Dookoomenteshun
|
|
127
|
+
need_help: Need guurunteed-oopteeme-a und expert help-a?
|
|
128
|
+
open_issue: Oopen an Issue
|
|
129
|
+
project_homepage: Pruject Humepege-a
|
|
130
|
+
support: Get-a Pruffeshoonel Sooppurt →
|
|
131
|
+
tagline: Built veet ❤️ by developers, fur developers.
|
|
132
|
+
tooltip:
|
|
133
|
+
documentation: Reed dookoomenteshun
|
|
134
|
+
gem_version: Hop oon tu RubyGems pege-a
|
|
135
|
+
open_issue: Repert a bug oor requeest-a a feeeture-a
|
|
136
|
+
project_homepage: GitHub repositoriesh
|
|
137
|
+
support: Pruffeshoonel sooppurt pleens
|
|
138
|
+
version: v%{version}
|
|
139
|
+
header:
|
|
140
|
+
signed_in_as: Seeigned-a in es %{email}
|
|
141
|
+
history: Heestury
|
|
142
|
+
loading: Lueding...
|
|
143
|
+
loading_definitions: Lueding deffeeneshuns...
|
|
144
|
+
loading_runs: Lueding roons...
|
|
145
|
+
mat_view_definition:
|
|
146
|
+
create_mv: Creete-a Smriti
|
|
147
|
+
create_mv_tooltip: Creetes-a zee metereealized-a feeoo in zee detebese-a.
|
|
148
|
+
delete_confirm: Delete-a deffeeneshun %{name}? (Dues NOOHT drop Smriti)
|
|
149
|
+
delete_tooltip: Deletes-a deffeeneshun boot dues-a NOOHT drop zee metereealized-a
|
|
150
|
+
feeoo in zee detebese-a.
|
|
151
|
+
drop_mv: Drupp Smriti
|
|
152
|
+
drop_mv_cascade: Drupp Smriti (Cescede-a)
|
|
153
|
+
drop_mv_cascade_confirm: Drupp metereealized-a feeoo und ell depends fur %{name}?
|
|
154
|
+
drop_mv_cascade_tooltip: Drupps-a metereealized-a feeoo und ell depends in detebese-a.
|
|
155
|
+
Deffeeneshun steys.
|
|
156
|
+
drop_mv_confirm: Drupp metereealized-a feeoo fur %{name}?
|
|
157
|
+
drop_mv_tooltip: Drupps-a metereealized-a feeoo in detebese-a. Deffeeneshun
|
|
158
|
+
steys.
|
|
159
|
+
edit_tooltip: I-deet metereealized-a feeoo deffeeneshun.
|
|
160
|
+
materialized_view: Metereealized-a feeoo
|
|
161
|
+
materialized_view_exists: Metereealized-a feeoo existe-a
|
|
162
|
+
materialized_view_not_exists: Metereealized-a feeoo nut creeted-a yet!
|
|
163
|
+
new_definition: Noo deffeeneshun
|
|
164
|
+
new_definition_tooltip: Creete-a noo metereealized-a feeoo deffeeneshun.
|
|
165
|
+
no_definitions: Noo metereealized-a feeoo deffeeneshuns fffoond. Creete-a vun
|
|
166
|
+
tu stert.
|
|
167
|
+
no_definitions_if_filtered: Noo metereealized-a feeoo deffeeneshuns mutch zee
|
|
168
|
+
feilters oor serch.
|
|
169
|
+
refresh_tooltip: Reffreshes-a metereealized-a feeoo in detebese-a.
|
|
170
|
+
sql_summary_tooltip: Cleeck tu expeend/culleps SQL
|
|
171
|
+
view_tooltip: Feeoo metereealized-a feeoo deffeeneshun.
|
|
172
|
+
mat_view_run:
|
|
173
|
+
error_tooltip: Errur messege-a iff zee roon fffoels.
|
|
174
|
+
meta_tooltip: Eddite-iunes meetadeta in JSON.
|
|
175
|
+
no_runs: Noo roons fffoond.
|
|
176
|
+
no_runs_if_filtered: Noo roons fur zee feilters.
|
|
177
|
+
view_details: Feeoo deeteels
|
|
178
|
+
view_tooltip: Feeoo roon deeteels.
|
|
179
|
+
no_filter: Eny (noo feelter)
|
|
180
|
+
no_value: Noo ffeluoo (nil oor empty)
|
|
181
|
+
per_page: Per pege-a
|
|
182
|
+
project_author: CodeVedas Inc.
|
|
183
|
+
project_description: Admeen interffece-a fur munageeng PostgreSQL metereealized-a
|
|
184
|
+
feeoos in Reils epplifeceshuns.
|
|
185
|
+
project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
|
|
186
|
+
management
|
|
187
|
+
refresh: Reffresh
|
|
188
|
+
refresh_contents: Reffresh cuntenst
|
|
189
|
+
reloading: Relueding...
|
|
190
|
+
reset: Reset
|
|
191
|
+
run: Roon
|
|
192
|
+
runs: Roons
|
|
193
|
+
save_changes: Sefe-a chengess
|
|
194
|
+
settings:
|
|
195
|
+
auto: Oooto
|
|
196
|
+
dark: Derk
|
|
197
|
+
language: Lunguage-a
|
|
198
|
+
language_hint: Sellect-a yoor interffece-a lunguage-a.
|
|
199
|
+
light: Leeght
|
|
200
|
+
theme: Theeme-a
|
|
201
|
+
theme_hint: Oooto ffollows yoor system, leght und derk oofferride-a.
|
|
202
|
+
title: Prefurences
|
|
203
|
+
title: Smriti Burk Burk
|
|
204
|
+
view_var: Feeoo %{name}
|
|
205
|
+
x_miliseconds: "%{count} ms"
|
|
206
|
+
number:
|
|
207
|
+
format:
|
|
208
|
+
delimiter: ","
|
|
209
|
+
separator: "."
|
|
210
|
+
numbers:
|
|
211
|
+
eight: 8
|
|
212
|
+
five: 5
|
|
213
|
+
four: 4
|
|
214
|
+
nine: 9
|
|
215
|
+
one: 1
|
|
216
|
+
seven: 7
|
|
217
|
+
six: 6
|
|
218
|
+
three: 3
|
|
219
|
+
two: 2
|
|
220
|
+
zero: 0
|
|
221
|
+
time:
|
|
222
|
+
am: AM
|
|
223
|
+
formats:
|
|
224
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
|
225
|
+
pm: PM
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
en-CA:
|
|
3
|
+
activerecord:
|
|
4
|
+
attributes:
|
|
5
|
+
smriti/mat_view_definition:
|
|
6
|
+
created_at: Created on
|
|
7
|
+
dependencies: Dependencies
|
|
8
|
+
last_run_at: Last run
|
|
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 on
|
|
15
|
+
smriti/mat_view_run:
|
|
16
|
+
created_at: Created on
|
|
17
|
+
details: Details
|
|
18
|
+
duration_ms: Duration (ms)
|
|
19
|
+
error: Error
|
|
20
|
+
finished_at: Finished on
|
|
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 on
|
|
28
|
+
status: Status
|
|
29
|
+
updated_at: Updated on
|
|
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 the concurrent
|
|
58
|
+
refresh 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 (Canada)
|
|
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 Smriti
|
|
146
|
+
create_mv_tooltip: Creates the materialized view in the database.
|
|
147
|
+
delete_confirm: Delete definition %{name}? (Does NOT drop Smriti)
|
|
148
|
+
delete_tooltip: Deletes the definition but does NOT drop the materialized view
|
|
149
|
+
in the database.
|
|
150
|
+
drop_mv: Drop Smriti
|
|
151
|
+
drop_mv_cascade: Drop Smriti (Cascade)
|
|
152
|
+
drop_mv_cascade_confirm: Drop the materialized view and all dependent objects
|
|
153
|
+
for %{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 the 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 override 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
|