mat_views 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/app/assets/images/mat_views/android-chrome-192x192.png +0 -0
- data/app/assets/images/mat_views/android-chrome-512x512.png +0 -0
- data/app/assets/images/mat_views/apple-touch-icon.png +0 -0
- data/app/assets/images/mat_views/favicon-16x16.png +0 -0
- data/app/assets/images/mat_views/favicon-32x32.png +0 -0
- data/app/assets/images/mat_views/favicon-48x48.png +0 -0
- data/app/assets/images/mat_views/favicon.ico +0 -0
- data/app/assets/images/mat_views/favicon.svg +18 -0
- data/app/assets/images/mat_views/logo.svg +18 -0
- data/app/assets/images/mat_views/mask-icon.svg +5 -0
- data/app/assets/stylesheets/mat_views/application.css +323 -12
- data/app/controllers/mat_views/admin/application_controller.rb +135 -0
- data/app/controllers/mat_views/admin/dashboard_controller.rb +32 -0
- data/app/controllers/mat_views/admin/mat_view_definitions_controller.rb +248 -0
- data/app/controllers/mat_views/admin/preferences_controller.rb +91 -0
- data/app/controllers/mat_views/admin/runs_controller.rb +74 -0
- data/app/helpers/mat_views/admin/ui_helper.rb +385 -0
- data/app/javascript/mat_views/application.js +8 -0
- data/app/javascript/mat_views/controllers/application.js +10 -0
- data/app/javascript/mat_views/controllers/details_controller.js +122 -0
- data/app/javascript/mat_views/controllers/drawer_controller.js +252 -0
- data/app/javascript/mat_views/controllers/filter_controller.js +90 -0
- data/app/javascript/mat_views/controllers/flash_controller.js +13 -0
- data/app/javascript/mat_views/controllers/index.js +10 -0
- data/app/javascript/mat_views/controllers/mv_confirm_controller.js +281 -0
- data/app/javascript/mat_views/controllers/submitter_controller.js +15 -0
- data/app/javascript/mat_views/controllers/tabs_controller.js +67 -0
- data/app/javascript/mat_views/controllers/timezone_controller.js +16 -0
- data/app/javascript/mat_views/controllers/tooltip_controller.js +328 -0
- data/app/javascript/mat_views/controllers/turbo_frame_lifecycle_controller.js +49 -0
- data/app/jobs/mat_views/application_job.rb +2 -2
- data/app/jobs/mat_views/create_view_job.rb +9 -8
- data/app/jobs/mat_views/delete_view_job.rb +8 -8
- data/app/jobs/mat_views/refresh_view_job.rb +8 -9
- data/app/models/concerns/mat_views_i18n.rb +139 -0
- data/app/models/mat_views/application_record.rb +1 -0
- data/app/models/mat_views/mat_view_definition.rb +12 -7
- data/app/models/mat_views/mat_view_run.rb +11 -13
- data/app/views/layouts/mat_views/_footer.html.erb +41 -0
- data/app/views/layouts/mat_views/_header.html.erb +25 -0
- data/app/views/layouts/mat_views/admin.html.erb +47 -0
- data/app/views/layouts/mat_views/turbo_frame.html.erb +3 -0
- data/app/views/mat_views/admin/dashboard/index.html.erb +33 -0
- data/app/views/mat_views/admin/mat_view_definitions/_definition_actions.html.erb +94 -0
- data/app/views/mat_views/admin/mat_view_definitions/_table.html.erb +48 -0
- data/app/views/mat_views/admin/mat_view_definitions/empty.html.erb +1 -0
- data/app/views/mat_views/admin/mat_view_definitions/form.html.erb +79 -0
- data/app/views/mat_views/admin/mat_view_definitions/index.html.erb +10 -0
- data/app/views/mat_views/admin/mat_view_definitions/show.html.erb +40 -0
- data/app/views/mat_views/admin/preferences/show.html.erb +50 -0
- data/app/views/mat_views/admin/runs/_table.html.erb +61 -0
- data/app/views/mat_views/admin/runs/index.html.erb +38 -0
- data/app/views/mat_views/admin/runs/show.html.erb +64 -0
- data/app/views/mat_views/admin/ui/_card.html.erb +15 -0
- data/app/views/mat_views/admin/ui/_details.html.erb +10 -0
- data/app/views/mat_views/admin/ui/_flash.html.erb +6 -0
- data/app/views/mat_views/admin/ui/_table.html.erb +8 -0
- data/config/importmap.rb +9 -0
- data/config/locales/en-AU-ocker.yml +187 -0
- data/config/locales/en-AU.yml +187 -0
- data/config/locales/en-BB.yml +187 -0
- data/config/locales/en-BD.yml +187 -0
- data/config/locales/en-BE.yml +187 -0
- data/config/locales/en-BORK.yml +187 -0
- data/config/locales/en-BS.yml +187 -0
- data/config/locales/en-BZ.yml +187 -0
- data/config/locales/en-CA.yml +187 -0
- data/config/locales/en-CM.yml +187 -0
- data/config/locales/en-CY.yml +187 -0
- data/config/locales/en-EG.yml +187 -0
- data/config/locales/en-FJ.yml +187 -0
- data/config/locales/en-GB.yml +187 -0
- data/config/locales/en-GH.yml +187 -0
- data/config/locales/en-GI.yml +187 -0
- data/config/locales/en-GM.yml +187 -0
- data/config/locales/en-GY.yml +187 -0
- data/config/locales/en-HK.yml +187 -0
- data/config/locales/en-IE.yml +187 -0
- data/config/locales/en-IN.yml +187 -0
- data/config/locales/en-JM.yml +187 -0
- data/config/locales/en-KE.yml +187 -0
- data/config/locales/en-LK.yml +187 -0
- data/config/locales/en-LOL.yml +187 -0
- data/config/locales/en-LR.yml +187 -0
- data/config/locales/en-MS.yml +187 -0
- data/config/locales/en-MT.yml +187 -0
- data/config/locales/en-MW.yml +187 -0
- data/config/locales/en-MY.yml +187 -0
- data/config/locales/en-NG.yml +187 -0
- data/config/locales/en-NP.yml +187 -0
- data/config/locales/en-NZ.yml +187 -0
- data/config/locales/en-PG.yml +187 -0
- data/config/locales/en-PH.yml +187 -0
- data/config/locales/en-PK.yml +187 -0
- data/config/locales/en-RW.yml +187 -0
- data/config/locales/en-SCOT.yml +187 -0
- data/config/locales/en-SG.yml +187 -0
- data/config/locales/en-SHAKESPEARE.yml +187 -0
- data/config/locales/en-SL.yml +187 -0
- data/config/locales/en-SS.yml +187 -0
- data/config/locales/en-TH.yml +187 -0
- data/config/locales/en-TT.yml +187 -0
- data/config/locales/en-TZ.yml +187 -0
- data/config/locales/en-UG.yml +187 -0
- data/config/locales/en-US-pirate.yml +187 -0
- data/config/locales/en-US.yml +187 -0
- data/config/locales/en-YODA.yml +187 -0
- data/config/locales/en-ZA.yml +187 -0
- data/config/locales/en-ZW.yml +187 -0
- data/config/locales/en.yml +187 -0
- data/config/routes.rb +27 -3
- data/lib/generators/mat_views/install/templates/create_mat_view_definitions.rb +7 -7
- data/lib/generators/mat_views/install/templates/create_mat_view_runs.rb +5 -5
- data/lib/mat_views/admin/auth_bridge.rb +93 -0
- data/lib/mat_views/admin/default_auth.rb +61 -0
- data/lib/mat_views/configuration.rb +9 -0
- data/lib/mat_views/engine.rb +50 -2
- data/lib/mat_views/helpers/ui_test_ids.rb +43 -0
- data/lib/mat_views/services/base_service.rb +46 -38
- data/lib/mat_views/services/check_matview_exists.rb +76 -0
- data/lib/mat_views/services/concurrent_refresh.rb +9 -6
- data/lib/mat_views/services/create_view.rb +15 -15
- data/lib/mat_views/services/delete_view.rb +8 -11
- data/lib/mat_views/services/regular_refresh.rb +6 -5
- data/lib/mat_views/services/swap_refresh.rb +11 -9
- data/lib/mat_views/version.rb +1 -1
- data/lib/mat_views.rb +10 -4
- data/lib/tasks/helpers.rb +13 -13
- data/lib/tasks/mat_views_tasks.rake +15 -15
- metadata +130 -5
@@ -0,0 +1,187 @@
|
|
1
|
+
en-BE:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
mat_views/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
|
+
mat_views/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
|
+
mat_views/mat_view_definition:
|
30
|
+
refresh_strategy:
|
31
|
+
concurrent: "Concurrent"
|
32
|
+
regular: "Regular"
|
33
|
+
swap: "Swap"
|
34
|
+
mat_views/mat_view_run:
|
35
|
+
operation:
|
36
|
+
create: "Create"
|
37
|
+
drop: "Drop"
|
38
|
+
refresh: "Refresh"
|
39
|
+
status:
|
40
|
+
failed: "Failed"
|
41
|
+
running: "Running"
|
42
|
+
success: "Successful"
|
43
|
+
errors:
|
44
|
+
models:
|
45
|
+
mat_views/mat_view_definition:
|
46
|
+
attributes:
|
47
|
+
name:
|
48
|
+
blank: "must be provided"
|
49
|
+
invalid: "is not a valid PostgreSQL identifier"
|
50
|
+
taken: "is already taken"
|
51
|
+
sql:
|
52
|
+
blank: "must be provided"
|
53
|
+
invalid: "must start with SELECT"
|
54
|
+
unique_index_columns:
|
55
|
+
at_least_one: "must include at least one column when using concurrent refresh strategy"
|
56
|
+
hints:
|
57
|
+
mat_views/mat_view_definition:
|
58
|
+
dependencies: "Comma-separated list of tables or views on which this materialised view depends."
|
59
|
+
name: "The name of the materialised view in the database."
|
60
|
+
refresh_strategy: "Defines how the materialised view is refreshed."
|
61
|
+
schedule_cron: "Use the 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
|
+
mat_views/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: "The current status of the run."
|
69
|
+
models:
|
70
|
+
mat_views/mat_view_definition: "Materialised View Definition"
|
71
|
+
mat_views/mat_view_run: "Materialised View Run"
|
72
|
+
placeholders:
|
73
|
+
mat_views/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 schedule"
|
78
|
+
sql: "Enter SQL (SELECT ...)"
|
79
|
+
unique_index_columns: "Enter unique index columns (comma separated, optional)"
|
80
|
+
mat_views/mat_view_run:
|
81
|
+
error: "Enter error message"
|
82
|
+
mat_view_definition: "Select materialised view"
|
83
|
+
meta: "Enter metadata (JSON)"
|
84
|
+
operation: "Select operation"
|
85
|
+
status: "Select status"
|
86
|
+
i18n:
|
87
|
+
name: English (Belgium)
|
88
|
+
mat_views:
|
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 may only be performed within 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 assistance?"
|
117
|
+
open_issue: "Open an Issue"
|
118
|
+
project_homepage: "Project Homepage"
|
119
|
+
support: "Professional Support →"
|
120
|
+
tagline: "Built with ❤️ by developers, for developers."
|
121
|
+
tooltip:
|
122
|
+
documentation: "Read the documentation"
|
123
|
+
gem_version: "Visit the RubyGems page"
|
124
|
+
open_issue: "Report a bug or request a feature"
|
125
|
+
project_homepage: "See 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}? (The MV will not be dropped)"
|
138
|
+
delete_tooltip: "Deletes the definition but does not drop the materialised view."
|
139
|
+
drop_mv: "Drop MV"
|
140
|
+
drop_mv_cascade: "Drop MV (Cascade)"
|
141
|
+
drop_mv_cascade_confirm: "Drop the materialised view and all dependent objects for %{name}?"
|
142
|
+
drop_mv_cascade_tooltip: "Drops the materialised view and all dependent objects. The definition remains."
|
143
|
+
drop_mv_confirm: "Drop materialised view for %{name}?"
|
144
|
+
drop_mv_tooltip: "Drops only the materialised view. The definition remains."
|
145
|
+
edit_tooltip: "Edit the materialised view definition."
|
146
|
+
materialized_view: "Materialised View"
|
147
|
+
materialized_view_exists: "Materialised view exists"
|
148
|
+
materialized_view_not_exists: "Materialised view not yet created"
|
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 begin."
|
152
|
+
refresh_tooltip: "Refreshes the materialised view."
|
153
|
+
sql_summary_tooltip: "Click to expand or 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 override it."
|
180
|
+
title: "Preferences"
|
181
|
+
title: "MatViews Admin"
|
182
|
+
view_var: "View %{name}"
|
183
|
+
time:
|
184
|
+
am: "AM"
|
185
|
+
formats:
|
186
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
187
|
+
pm: "PM"
|
@@ -0,0 +1,187 @@
|
|
1
|
+
en-BORK:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
mat_views/mat_view_definition:
|
5
|
+
created_at: "Creooted-a et"
|
6
|
+
dependencies: "Deeependencees"
|
7
|
+
name: "Nemee"
|
8
|
+
refresh_strategy: "Reffresh-a stretegy"
|
9
|
+
schedule_cron: "Schedoole-a (crun)"
|
10
|
+
sql: "SQL (SELECT ...)"
|
11
|
+
unique_index_columns: "Uneeque-a indeex coloomns"
|
12
|
+
updated_at: "Updeded et"
|
13
|
+
mat_views/mat_view_run:
|
14
|
+
created_at: "Creooted-a et"
|
15
|
+
details: "Deetyails"
|
16
|
+
duration_ms: "Duroshun (ms)"
|
17
|
+
error: "Errur, bork bork"
|
18
|
+
finished_at: "Feenished et"
|
19
|
+
mat_view_definition: "Defeeneshun"
|
20
|
+
meta: "Metee"
|
21
|
+
operation: "Oopereshun"
|
22
|
+
row_count_after: "Roo cooont effter"
|
23
|
+
row_count_before: "Roo cooont beffure-a"
|
24
|
+
rows_before_after: "Roos (beffure-a/effter)"
|
25
|
+
started_at: "Sterted et"
|
26
|
+
status: "Stetus"
|
27
|
+
updated_at: "Updeded et"
|
28
|
+
enums:
|
29
|
+
mat_views/mat_view_definition:
|
30
|
+
refresh_strategy:
|
31
|
+
concurrent: "Cuncurrunt"
|
32
|
+
regular: "Regooler"
|
33
|
+
swap: "Sveepp"
|
34
|
+
mat_views/mat_view_run:
|
35
|
+
operation:
|
36
|
+
create: "Creoot"
|
37
|
+
drop: "Drup"
|
38
|
+
refresh: "Reffresh"
|
39
|
+
status:
|
40
|
+
failed: "Feiled"
|
41
|
+
running: "Runneng"
|
42
|
+
success: "Soocceess"
|
43
|
+
errors:
|
44
|
+
models:
|
45
|
+
mat_views/mat_view_definition:
|
46
|
+
attributes:
|
47
|
+
name:
|
48
|
+
blank: "moost be-a prooffeeded"
|
49
|
+
invalid: "noo goood PostgreSQL ideenteeffeer"
|
50
|
+
taken: "alreedy teeken"
|
51
|
+
sql:
|
52
|
+
blank: "moost be-a prooffeeded"
|
53
|
+
invalid: "moost stert veet SELECT"
|
54
|
+
unique_index_columns:
|
55
|
+
at_least_one: "moost hefe-a et leest oone-a coloomn vhee useeng cuncoorrent"
|
56
|
+
hints:
|
57
|
+
mat_views/mat_view_definition:
|
58
|
+
dependencies: "Cummu-seepareted leest ooff tebles oor feeews."
|
59
|
+
name: "Nemee ooff zee metereeelised feeoo."
|
60
|
+
refresh_strategy: "Hooow zee feeoo gets reffreshed."
|
61
|
+
schedule_cron: "Use-a crun furmet. Leefe-a empty fur noo schedoole-a."
|
62
|
+
sql: "Moost be-a SELECT steetement, bork bork."
|
63
|
+
unique_index_columns: "Coloomns fur uneeque-a indeex. Requuured fur cuncoorrent."
|
64
|
+
mat_views/mat_view_run:
|
65
|
+
error: "Errur meesseege-a iff feiled."
|
66
|
+
meta: "Eddeshunel metee in JSON."
|
67
|
+
operation: "Keened ooff oopereshun."
|
68
|
+
status: "Coorent steetus."
|
69
|
+
models:
|
70
|
+
mat_views/mat_view_definition: "Met Feeoo Defeeneshun"
|
71
|
+
mat_views/mat_view_run: "Met Feeoo Roon"
|
72
|
+
placeholders:
|
73
|
+
mat_views/mat_view_definition:
|
74
|
+
dependencies: "Inter deeependencees (cumma-seepareted)"
|
75
|
+
name: "Inter nemee"
|
76
|
+
refresh_strategy: "Select reffresh stretegy"
|
77
|
+
schedule_cron: "0 0 * * * fur meedneeght, leefe-a emty fur nune-a"
|
78
|
+
sql: "Inter SQL (SELECT ...)"
|
79
|
+
unique_index_columns: "Inter uneeque-a indeex coloomns (cumma-seepareted, oopshunel)"
|
80
|
+
mat_views/mat_view_run:
|
81
|
+
error: "Errur meesseege-a"
|
82
|
+
mat_view_definition: "Select met feeoo"
|
83
|
+
meta: "Metee (JSON)"
|
84
|
+
operation: "Select oopereshun"
|
85
|
+
status: "Select steetus"
|
86
|
+
i18n:
|
87
|
+
name: Børk! Børk! Børk!
|
88
|
+
mat_views:
|
89
|
+
actions: "Ecteeuns"
|
90
|
+
all_definitions: "Ell defeeneshuns"
|
91
|
+
all_operations: "Ell oopereshuns"
|
92
|
+
all_statuses: "Ell steetuses"
|
93
|
+
cancel: "Cuncel"
|
94
|
+
close: "Cluse-a"
|
95
|
+
close_window: "Cluse-a veendoo"
|
96
|
+
create: "Creoot"
|
97
|
+
dashboard:
|
98
|
+
metrics:
|
99
|
+
title: "Metreecs"
|
100
|
+
title: "Deshbuerd"
|
101
|
+
definition: "Defeeneshun"
|
102
|
+
definitions: "Defeeneshuns"
|
103
|
+
delete: "Deleete-a"
|
104
|
+
details: "Deetyails"
|
105
|
+
edit: "Ideet"
|
106
|
+
edit_var: "Ideet %{name}"
|
107
|
+
errors:
|
108
|
+
frame_only: "Ooonly in a freeme-a, beck tu deshbuerd."
|
109
|
+
prevented_saving:
|
110
|
+
one: "1 errur stoopped sefing:"
|
111
|
+
other: "%{count} errurs stoopped sefing:"
|
112
|
+
filter_by: "Feelter by:"
|
113
|
+
footer:
|
114
|
+
copyright: "© %{year} %{company} Ell reeghts reserfed."
|
115
|
+
documentation: "Ducumenteshun"
|
116
|
+
need_help: "Need-a hulp?"
|
117
|
+
open_issue: "Oopen en Ishoee"
|
118
|
+
project_homepage: "Pruject Humpage"
|
119
|
+
support: "Get Prefeshunel Support →"
|
120
|
+
tagline: "Buooolt veet ❤️ by develupers, fur develupers. Bork bork!"
|
121
|
+
tooltip:
|
122
|
+
documentation: "Read-a zee ducumenteshun"
|
123
|
+
gem_version: "Cleeck tu RubyGems"
|
124
|
+
open_issue: "Reepurt e boog"
|
125
|
+
project_homepage: "GitHub reepu"
|
126
|
+
support: "Prefeshunel sooppurt"
|
127
|
+
version: "v%{version}"
|
128
|
+
header:
|
129
|
+
signed_in_as: "Seegned in es %{email}"
|
130
|
+
history: "Heestury"
|
131
|
+
loading: "Lueding..."
|
132
|
+
loading_definitions: "Lueding defeeneshuns..."
|
133
|
+
loading_runs: "Lueding roons..."
|
134
|
+
mat_view_definition:
|
135
|
+
create_mv: "Creoot MV"
|
136
|
+
create_mv_tooltip: "Creoots zee metereeelised feeoo."
|
137
|
+
delete_confirm: "Deleete-a %{name}? (Does NOOT drup MV)"
|
138
|
+
delete_tooltip: "Deleetes zee defeeneshun boot NOOT zee MV."
|
139
|
+
drop_mv: "Drup MV"
|
140
|
+
drop_mv_cascade: "Drup MV (Cescade-a)"
|
141
|
+
drop_mv_cascade_confirm: "Drup MV und ell dependees fur %{name}?"
|
142
|
+
drop_mv_cascade_tooltip: "Drups MV und dependees. Defeeneshun remeyns."
|
143
|
+
drop_mv_confirm: "Drup MV fur %{name}?"
|
144
|
+
drop_mv_tooltip: "Drups MV. Defeeneshun steys."
|
145
|
+
edit_tooltip: "Ideet zee met feeoo defeeneshun."
|
146
|
+
materialized_view: "Metereeelised Feeoo"
|
147
|
+
materialized_view_exists: "Met feeoo ixists"
|
148
|
+
materialized_view_not_exists: "Met feeoo nut creooted yet!"
|
149
|
+
new_definition: "Noo defeeneshun"
|
150
|
+
new_definition_tooltip: "Creoot noo met feeoo defeeneshun."
|
151
|
+
no_definitions: "Nu defeeneshuns. Creoot oone-a tu stert."
|
152
|
+
refresh_tooltip: "Reffreshes zee met feeoo."
|
153
|
+
sql_summary_tooltip: "Cleeck tu ixpend/collupse-a SQL"
|
154
|
+
view_tooltip: "Feeoo met feeoo defeeneshun."
|
155
|
+
mat_view_run:
|
156
|
+
error_tooltip: "Errur meesseege-a iff feiled."
|
157
|
+
meta_tooltip: "Metee in JSON."
|
158
|
+
no_runs: "Nu roons found."
|
159
|
+
no_runs_if_filtered: "Nu roons mit feelters."
|
160
|
+
view_details: "Feeoo deetyails"
|
161
|
+
view_tooltip: "Feeoo roon deetyails."
|
162
|
+
project_author: "Codevedas Inc."
|
163
|
+
project_description: "Edmeen interffees fur meneging PustgreSQL metereeelised feeoos in Reils eppliceshuns."
|
164
|
+
project_tags: "reils, ruby, met feeoos, edmeen, deshbuerd, ui, menegement"
|
165
|
+
refresh: "Reffresh"
|
166
|
+
refresh_contents: "Reffresh cunteents"
|
167
|
+
reloading: "Relueding..."
|
168
|
+
reset: "Reset"
|
169
|
+
run: "Roon"
|
170
|
+
runs: "Roons"
|
171
|
+
save_changes: "Sefe-a chungees"
|
172
|
+
settings:
|
173
|
+
auto: "Ootu"
|
174
|
+
dark: "Derk"
|
175
|
+
language: "Lengoeege-a"
|
176
|
+
language_hint: "Cheeuse-a yuoor interffees lengoeege-a."
|
177
|
+
light: "Leeght"
|
178
|
+
theme: "Theme-a"
|
179
|
+
theme_hint: "Ootu follows systeem, leeght/derk oferrides."
|
180
|
+
title: "Prefeerences"
|
181
|
+
title: "MetViews Edmeen"
|
182
|
+
view_var: "Feeoo %{name}"
|
183
|
+
time:
|
184
|
+
am: "EM"
|
185
|
+
formats:
|
186
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
187
|
+
pm: "PM"
|
@@ -0,0 +1,187 @@
|
|
1
|
+
en-BS:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
mat_views/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
|
+
mat_views/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
|
+
mat_views/mat_view_definition:
|
30
|
+
refresh_strategy:
|
31
|
+
concurrent: "Concurrent"
|
32
|
+
regular: "Regular"
|
33
|
+
swap: "Swap"
|
34
|
+
mat_views/mat_view_run:
|
35
|
+
operation:
|
36
|
+
create: "Create"
|
37
|
+
drop: "Drop"
|
38
|
+
refresh: "Refresh"
|
39
|
+
status:
|
40
|
+
failed: "Failed"
|
41
|
+
running: "Running"
|
42
|
+
success: "Successful"
|
43
|
+
errors:
|
44
|
+
models:
|
45
|
+
mat_views/mat_view_definition:
|
46
|
+
attributes:
|
47
|
+
name:
|
48
|
+
blank: "must be provided"
|
49
|
+
invalid: "is not a valid PostgreSQL identifier"
|
50
|
+
taken: "is already taken"
|
51
|
+
sql:
|
52
|
+
blank: "must be provided"
|
53
|
+
invalid: "must begin with SELECT"
|
54
|
+
unique_index_columns:
|
55
|
+
at_least_one: "must include at least one column when using concurrent refresh strategy"
|
56
|
+
hints:
|
57
|
+
mat_views/mat_view_definition:
|
58
|
+
dependencies: "Comma-separated list of tables or views this materialised view depends on."
|
59
|
+
name: "The name of the materialised view in the database."
|
60
|
+
refresh_strategy: "Specifies how the materialised view is refreshed."
|
61
|
+
schedule_cron: "Use the 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
|
+
mat_views/mat_view_run:
|
65
|
+
error: "Error message if the run failed."
|
66
|
+
meta: "Extra metadata in JSON format."
|
67
|
+
operation: "Type of operation performed."
|
68
|
+
status: "Current status of the run."
|
69
|
+
models:
|
70
|
+
mat_views/mat_view_definition: "Materialised View Definition"
|
71
|
+
mat_views/mat_view_run: "Materialised View Run"
|
72
|
+
placeholders:
|
73
|
+
mat_views/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
|
+
mat_views/mat_view_run:
|
81
|
+
error: "Enter error message"
|
82
|
+
mat_view_definition: "Select materialised view"
|
83
|
+
meta: "Enter metadata (JSON)"
|
84
|
+
operation: "Select operation"
|
85
|
+
status: "Select status"
|
86
|
+
i18n:
|
87
|
+
name: English (Bahamas)
|
88
|
+
mat_views:
|
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 may only be performed within a frame. Redirected to dashboard."
|
109
|
+
prevented_saving:
|
110
|
+
one: "1 error stopped saving:"
|
111
|
+
other: "%{count} errors stopped saving:"
|
112
|
+
filter_by: "Filter by:"
|
113
|
+
footer:
|
114
|
+
copyright: "© %{year} %{company} All rights reserved."
|
115
|
+
documentation: "Documentation"
|
116
|
+
need_help: "Need guaranteed uptime and expert help?"
|
117
|
+
open_issue: "Open an Issue"
|
118
|
+
project_homepage: "Project Homepage"
|
119
|
+
support: "Professional Support →"
|
120
|
+
tagline: "Built with ❤️ by developers, for developers."
|
121
|
+
tooltip:
|
122
|
+
documentation: "Read the docs"
|
123
|
+
gem_version: "Visit the RubyGems page"
|
124
|
+
open_issue: "Report a bug or request a feature"
|
125
|
+
project_homepage: "GitHub repository"
|
126
|
+
support: "Support plans available"
|
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}? (This will not drop the MV)"
|
138
|
+
delete_tooltip: "Deletes the definition but does not drop the materialised view."
|
139
|
+
drop_mv: "Drop MV"
|
140
|
+
drop_mv_cascade: "Drop MV (Cascade)"
|
141
|
+
drop_mv_cascade_confirm: "Drop the materialised view and all dependent objects for %{name}?"
|
142
|
+
drop_mv_cascade_tooltip: "Drops the materialised view and all dependent objects. The definition remains."
|
143
|
+
drop_mv_confirm: "Drop materialised view for %{name}?"
|
144
|
+
drop_mv_tooltip: "Drops only the materialised view. The definition remains."
|
145
|
+
edit_tooltip: "Edit the 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 begin."
|
152
|
+
refresh_tooltip: "Refreshes the materialised view."
|
153
|
+
sql_summary_tooltip: "Click to expand or 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: "Extra 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 override it."
|
180
|
+
title: "Preferences"
|
181
|
+
title: "MatViews Admin"
|
182
|
+
view_var: "View %{name}"
|
183
|
+
time:
|
184
|
+
am: "AM"
|
185
|
+
formats:
|
186
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
187
|
+
pm: "PM"
|