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-SCOT:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
mat_views/mat_view_definition:
|
5
|
+
created_at: "Made at"
|
6
|
+
dependencies: "Dependins"
|
7
|
+
name: "Name"
|
8
|
+
refresh_strategy: "Wey o Refreshin"
|
9
|
+
schedule_cron: "Schedule (cron)"
|
10
|
+
sql: "SQL (SELECT ...)"
|
11
|
+
unique_index_columns: "Unique index columns"
|
12
|
+
updated_at: "Updatit at"
|
13
|
+
mat_views/mat_view_run:
|
14
|
+
created_at: "Made at"
|
15
|
+
details: "Detail[s]"
|
16
|
+
duration_ms: "Lenth o time (ms)"
|
17
|
+
error: "Mishanter"
|
18
|
+
finished_at: "Feinish't at"
|
19
|
+
mat_view_definition: "Defineetion"
|
20
|
+
meta: "Meta"
|
21
|
+
operation: "Opration"
|
22
|
+
row_count_after: "Row coont efter"
|
23
|
+
row_count_before: "Row coont afore"
|
24
|
+
rows_before_after: "Rows (afore/efter)"
|
25
|
+
started_at: "Stairtit at"
|
26
|
+
status: "Status"
|
27
|
+
updated_at: "Updatit 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: "Mak"
|
37
|
+
drop: "Drap"
|
38
|
+
refresh: "Refresh"
|
39
|
+
status:
|
40
|
+
failed: "Fail't"
|
41
|
+
running: "Rinnin"
|
42
|
+
success: "Succeedit"
|
43
|
+
errors:
|
44
|
+
models:
|
45
|
+
mat_views/mat_view_definition:
|
46
|
+
attributes:
|
47
|
+
name:
|
48
|
+
blank: "Ye maun gie a name."
|
49
|
+
invalid: "No a guid PostgreSQL name."
|
50
|
+
taken: "That name's awready taen."
|
51
|
+
sql:
|
52
|
+
blank: "Ye maun gie SQL."
|
53
|
+
invalid: "Maun stairt wi SELECT."
|
54
|
+
unique_index_columns:
|
55
|
+
at_least_one: "Ye'll need at least ae column for concurrent refresh."
|
56
|
+
hints:
|
57
|
+
mat_views/mat_view_definition:
|
58
|
+
dependencies: "Comma-separatit list o tables or views this yin depends on."
|
59
|
+
name: "The name o the materialised view in the database."
|
60
|
+
refresh_strategy: "Hou the materialised view'll be refresh't."
|
61
|
+
schedule_cron: "Use standard cron. Leave blank gin there's nae schedule."
|
62
|
+
sql: "The SQL query maun be a SELECT statement."
|
63
|
+
unique_index_columns: "Columns tae mak a unique index on; needit for concurrent refresh."
|
64
|
+
mat_views/mat_view_run:
|
65
|
+
error: "Mishanter message gin the rin fail."
|
66
|
+
meta: "Mair metadata in JSON."
|
67
|
+
operation: "Kynd o opration duin."
|
68
|
+
status: "The noo status o the rin."
|
69
|
+
models:
|
70
|
+
mat_views/mat_view_definition: "Materialised View Defineetion"
|
71
|
+
mat_views/mat_view_run: "Materialised View Rin"
|
72
|
+
placeholders:
|
73
|
+
mat_views/mat_view_definition:
|
74
|
+
dependencies: "Pit in dependins (comma-separatit, optional)"
|
75
|
+
name: "Pit in name"
|
76
|
+
refresh_strategy: "Pick a refresh wey"
|
77
|
+
schedule_cron: "0 0 * * * for ilka midnicht; leave blank for nae schedule"
|
78
|
+
sql: "Pit in SQL (SELECT ...)"
|
79
|
+
unique_index_columns: "Pit in unique index columns (comma-separatit, optional)"
|
80
|
+
mat_views/mat_view_run:
|
81
|
+
error: "Mishanter message"
|
82
|
+
mat_view_definition: "Wale a materialised view"
|
83
|
+
meta: "Metadata (JSON)"
|
84
|
+
operation: "Wale an opration"
|
85
|
+
status: "Wale status"
|
86
|
+
i18n:
|
87
|
+
name: English (Scots)
|
88
|
+
mat_views:
|
89
|
+
actions: "Actions"
|
90
|
+
all_definitions: "A' defineetions"
|
91
|
+
all_operations: "A' oprations"
|
92
|
+
all_statuses: "A' statuses"
|
93
|
+
cancel: "Cancel"
|
94
|
+
close: "Sneck"
|
95
|
+
close_window: "Sneck windae"
|
96
|
+
create: "Mak"
|
97
|
+
dashboard:
|
98
|
+
metrics:
|
99
|
+
title: "Metrics"
|
100
|
+
title: "Dashbuird"
|
101
|
+
definition: "Defineetion"
|
102
|
+
definitions: "Defineetions"
|
103
|
+
delete: "Delyte"
|
104
|
+
details: "Details"
|
105
|
+
edit: "Eedit"
|
106
|
+
edit_var: "Eedit %{name}"
|
107
|
+
errors:
|
108
|
+
frame_only: "This kin o action can be duin in a frame alane; ye're sent back tae the dashbuird."
|
109
|
+
prevented_saving:
|
110
|
+
one: "Ae faut stappit the savin:"
|
111
|
+
other: "%{count} fauts stappit the savin:"
|
112
|
+
filter_by: "Filter by:"
|
113
|
+
footer:
|
114
|
+
copyright: "© %{year} %{company} A' richts reservit."
|
115
|
+
documentation: "Docs"
|
116
|
+
need_help: "Dae ye need uptime & expert help?"
|
117
|
+
open_issue: "Open an Issue"
|
118
|
+
project_homepage: "Project Hamepage"
|
119
|
+
support: "Get Professional Support →"
|
120
|
+
tagline: "Biggit wi ❤️ by developers, for developers."
|
121
|
+
tooltip:
|
122
|
+
documentation: "Read the docs"
|
123
|
+
gem_version: "Clap ower tae RubyGems"
|
124
|
+
open_issue: "Report a bug or speir a feature"
|
125
|
+
project_homepage: "Github repository"
|
126
|
+
support: "Support plans"
|
127
|
+
version: "v%{version}"
|
128
|
+
header:
|
129
|
+
signed_in_as: "Signed in as %{email}"
|
130
|
+
history: "Chronicle"
|
131
|
+
loading: "Loadin..."
|
132
|
+
loading_definitions: "Loadin defineetions..."
|
133
|
+
loading_runs: "Loadin rins..."
|
134
|
+
mat_view_definition:
|
135
|
+
create_mv: "Mak MV"
|
136
|
+
create_mv_tooltip: "Maks the materialised view in the database."
|
137
|
+
delete_confirm: "Delyte defineetion %{name}? (Disna drap the MV)"
|
138
|
+
delete_tooltip: "Delytes the defineetion but disna drap the materialised view in the DB."
|
139
|
+
drop_mv: "Drap MV"
|
140
|
+
drop_mv_cascade: "Drap MV (Cascade)"
|
141
|
+
drop_mv_cascade_confirm: "Drap the materialised view an a' dependents for %{name}?"
|
142
|
+
drop_mv_cascade_tooltip: "Draps the materialised view an a' dependents in the DB. Defineetion bides."
|
143
|
+
drop_mv_confirm: "Drap the MV for %{name}?"
|
144
|
+
drop_mv_tooltip: "Draps the MV alane. Defineetion bides."
|
145
|
+
edit_tooltip: "Eedit the materialised view defineetion."
|
146
|
+
materialized_view: "Materialised View"
|
147
|
+
materialized_view_exists: "Materialised view exists"
|
148
|
+
materialized_view_not_exists: "Materialised view no made yet!"
|
149
|
+
new_definition: "New defineetion"
|
150
|
+
new_definition_tooltip: "Mak a new materialised view defineetion."
|
151
|
+
no_definitions: "Nae materialised view defineetions fund. Mak ane tae get stertit."
|
152
|
+
refresh_tooltip: "Refreshes the materialised view in the DB."
|
153
|
+
sql_summary_tooltip: "Click tae shaw/hide the SQL"
|
154
|
+
view_tooltip: "View the materialised view defineetion."
|
155
|
+
mat_view_run:
|
156
|
+
error_tooltip: "Mishanter message gin the rin fail."
|
157
|
+
meta_tooltip: "Mair metadata in JSON."
|
158
|
+
no_runs: "Nae rins fund."
|
159
|
+
no_runs_if_filtered: "Nae rins for the pickit filters."
|
160
|
+
view_details: "View details"
|
161
|
+
view_tooltip: "View rin details."
|
162
|
+
project_author: "Codevedas Inc."
|
163
|
+
project_description: "Admin interface for managin PostgreSQL materialised views in Rails apps."
|
164
|
+
project_tags: "rails, ruby, materialised views, admin, dashbuird, UI, interface, management"
|
165
|
+
refresh: "Refresh"
|
166
|
+
refresh_contents: "Refresh contents"
|
167
|
+
reloading: "Reloadin..."
|
168
|
+
reset: "Reset"
|
169
|
+
run: "Rin"
|
170
|
+
runs: "Rins"
|
171
|
+
save_changes: "Save chynges"
|
172
|
+
settings:
|
173
|
+
auto: "Auto"
|
174
|
+
dark: "Derk"
|
175
|
+
language: "Leid"
|
176
|
+
language_hint: "Wale the leid for yer interface."
|
177
|
+
light: "Licht"
|
178
|
+
theme: "Theme"
|
179
|
+
theme_hint: "Auto follaes yer system; licht or derk owerrides it."
|
180
|
+
title: "Prefs"
|
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-SG:
|
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: "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
|
+
mat_views/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
|
+
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: "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: "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 (Singapore)
|
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 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, please wait..."
|
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. Please create one."
|
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: "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-SHAKESPEARE:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
mat_views/mat_view_definition:
|
5
|
+
created_at: "Wrought At"
|
6
|
+
dependencies: "Entanglements"
|
7
|
+
name: "Appellation"
|
8
|
+
refresh_strategy: "Manner of Renewing"
|
9
|
+
schedule_cron: "Schedule (cron, by the hourglass)"
|
10
|
+
sql: "SQL (SELECT ...)"
|
11
|
+
unique_index_columns: "Singular Columns of Index"
|
12
|
+
updated_at: "Renewed At"
|
13
|
+
mat_views/mat_view_run:
|
14
|
+
created_at: "Wrought At"
|
15
|
+
details: "Particulars"
|
16
|
+
duration_ms: "Passage of Time (ms)"
|
17
|
+
error: "Mishap"
|
18
|
+
finished_at: "Concluded At"
|
19
|
+
mat_view_definition: "Definition"
|
20
|
+
meta: "Annotations"
|
21
|
+
operation: "Undertaking"
|
22
|
+
row_count_after: "Tally After"
|
23
|
+
row_count_before: "Tally Ere"
|
24
|
+
rows_before_after: "Tally (Ere/After)"
|
25
|
+
started_at: "Begun At"
|
26
|
+
status: "Condition"
|
27
|
+
updated_at: "Renewed At"
|
28
|
+
enums:
|
29
|
+
mat_views/mat_view_definition:
|
30
|
+
refresh_strategy:
|
31
|
+
concurrent: "All at Once"
|
32
|
+
regular: "Ordinary"
|
33
|
+
swap: "Exchange"
|
34
|
+
mat_views/mat_view_run:
|
35
|
+
operation:
|
36
|
+
create: "Conjure"
|
37
|
+
drop: "Cast Away"
|
38
|
+
refresh: "Renew"
|
39
|
+
status:
|
40
|
+
failed: "Hath Failed"
|
41
|
+
running: "In Motion"
|
42
|
+
success: "Triumph"
|
43
|
+
errors:
|
44
|
+
models:
|
45
|
+
mat_views/mat_view_definition:
|
46
|
+
attributes:
|
47
|
+
name:
|
48
|
+
blank: "A name must thou bestow."
|
49
|
+
invalid: "This name suiteth not PostgreSQL."
|
50
|
+
taken: "Another lay claim to this name."
|
51
|
+
sql:
|
52
|
+
blank: "Provide thine SQL, I prithee."
|
53
|
+
invalid: "It must commenceth with SELECT, else all is folly."
|
54
|
+
unique_index_columns:
|
55
|
+
at_least_one: "At least one column thou must choose for concurrent refresh."
|
56
|
+
hints:
|
57
|
+
mat_views/mat_view_definition:
|
58
|
+
dependencies: "A list, separated by commas, of tables or views upon which this view doth lean."
|
59
|
+
name: "The name whereby the materialised view is known in the realm of the database."
|
60
|
+
refresh_strategy: "The fashion in which this view is to be renewed."
|
61
|
+
schedule_cron: "Use the common cron form. Leave blank if none be required."
|
62
|
+
sql: "The query must needs be a SELECT statement true and proper."
|
63
|
+
unique_index_columns: "Columns upon which a unique index is cast. Required for concurrent refresh."
|
64
|
+
mat_views/mat_view_run:
|
65
|
+
error: "The tale of mishap, should it fail."
|
66
|
+
meta: "Supplemental notes writ in JSON."
|
67
|
+
operation: "The deed performed."
|
68
|
+
status: "The current estate 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: "Speak thy dependencies (comma separated, if thou wilt)"
|
75
|
+
name: "Bestow a name"
|
76
|
+
refresh_strategy: "Select thy manner of renewing"
|
77
|
+
schedule_cron: "0 0 * * * for midnight’s chime, leave blank else"
|
78
|
+
sql: "Write SQL (SELECT ...)"
|
79
|
+
unique_index_columns: "Enter unique index columns (optional)"
|
80
|
+
mat_views/mat_view_run:
|
81
|
+
error: "The tale of mishap"
|
82
|
+
mat_view_definition: "Select the materialised view"
|
83
|
+
meta: "Annotations (JSON)"
|
84
|
+
operation: "Select the undertaking"
|
85
|
+
status: "Select the estate"
|
86
|
+
i18n:
|
87
|
+
name: English (Shakespearean)
|
88
|
+
mat_views:
|
89
|
+
actions: "Deeds"
|
90
|
+
all_definitions: "All Definitions"
|
91
|
+
all_operations: "All Undertakings"
|
92
|
+
all_statuses: "All Estates"
|
93
|
+
cancel: "Cease"
|
94
|
+
close: "Close"
|
95
|
+
close_window: "Close the Window"
|
96
|
+
create: "Conjure"
|
97
|
+
dashboard:
|
98
|
+
metrics:
|
99
|
+
title: "Measures"
|
100
|
+
title: "Hall of Oversight"
|
101
|
+
definition: "Definition"
|
102
|
+
definitions: "Definitions"
|
103
|
+
delete: "Expunge"
|
104
|
+
details: "Particulars"
|
105
|
+
edit: "Amend"
|
106
|
+
edit_var: "Amend %{name}"
|
107
|
+
errors:
|
108
|
+
frame_only: "This act may be done in frame alone; thou art redirected to the dashboard."
|
109
|
+
prevented_saving:
|
110
|
+
one: "One error hath staid the saving:"
|
111
|
+
other: "%{count} errors hath staid the saving:"
|
112
|
+
filter_by: "Filter by:"
|
113
|
+
footer:
|
114
|
+
copyright: "© %{year} %{company} All rights reserved."
|
115
|
+
documentation: "The Book of Lore"
|
116
|
+
need_help: "Requirest thou uptime and wise counsel?"
|
117
|
+
open_issue: "Raise a Petition"
|
118
|
+
project_homepage: "Project’s Abode"
|
119
|
+
support: "Seek Professional Succour →"
|
120
|
+
tagline: "Forged with ❤️ by scribes, for scribes."
|
121
|
+
tooltip:
|
122
|
+
documentation: "Peruse the Book of Lore"
|
123
|
+
gem_version: "Go thither to RubyGems"
|
124
|
+
open_issue: "Report a bug or crave a boon"
|
125
|
+
project_homepage: "Behold the GitHub repository"
|
126
|
+
support: "Avail thyself of support plans"
|
127
|
+
version: "v%{version}"
|
128
|
+
header:
|
129
|
+
signed_in_as: "Thou art signed in as %{email}"
|
130
|
+
history: "Chronicles"
|
131
|
+
loading: "Loading... Pray tarry a moment."
|
132
|
+
loading_definitions: "Loading definitions..."
|
133
|
+
loading_runs: "Loading runs..."
|
134
|
+
mat_view_definition:
|
135
|
+
create_mv: "Conjure MV"
|
136
|
+
create_mv_tooltip: "Bring forth a materialised view in the database."
|
137
|
+
delete_confirm: "Expunge definition %{name}? (MV remaineth)"
|
138
|
+
delete_tooltip: "Expunge the definition, yet the MV abideth."
|
139
|
+
drop_mv: "Cast Away MV"
|
140
|
+
drop_mv_cascade: "Cast Away MV (Cascade)"
|
141
|
+
drop_mv_cascade_confirm: "Cast away %{name} and all dependents?"
|
142
|
+
drop_mv_cascade_tooltip: "Drops the MV and all dependent forms. The definition remaineth."
|
143
|
+
drop_mv_confirm: "Cast away MV %{name}?"
|
144
|
+
drop_mv_tooltip: "Drops the MV alone. The definition remaineth."
|
145
|
+
edit_tooltip: "Amend the materialised view definition."
|
146
|
+
materialized_view: "Materialised View"
|
147
|
+
materialized_view_exists: "The materialised view existeth."
|
148
|
+
materialized_view_not_exists: "The materialised view hath not yet been wrought!"
|
149
|
+
new_definition: "New Definition"
|
150
|
+
new_definition_tooltip: "Bring forth a new materialised view definition."
|
151
|
+
no_definitions: "No definitions yet discovered. Forge one, that thou may proceed."
|
152
|
+
refresh_tooltip: "Renew the materialised view."
|
153
|
+
sql_summary_tooltip: "Click to expand or collapse the SQL."
|
154
|
+
view_tooltip: "Behold the materialised view definition."
|
155
|
+
mat_view_run:
|
156
|
+
error_tooltip: "The mishap tale, if failure befall."
|
157
|
+
meta_tooltip: "Supplemental annotations in JSON."
|
158
|
+
no_runs: "No runs found."
|
159
|
+
no_runs_if_filtered: "No runs found for the chosen filters."
|
160
|
+
view_details: "Behold particulars"
|
161
|
+
view_tooltip: "Behold run details."
|
162
|
+
project_author: "Codevedas Inc."
|
163
|
+
project_description: "An admin chamber for the governance of PostgreSQL materialised views."
|
164
|
+
project_tags: "rails, ruby, materialised views, admin, hall, interface, governance"
|
165
|
+
refresh: "Renew"
|
166
|
+
refresh_contents: "Renew 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: "Tongue"
|
176
|
+
language_hint: "Choose thy tongue for the interface."
|
177
|
+
light: "Light"
|
178
|
+
theme: "Theme"
|
179
|
+
theme_hint: "Auto followeth thy system’s mood; light and dark override it."
|
180
|
+
title: "Preferences"
|
181
|
+
title: "MatViews Admin"
|
182
|
+
view_var: "Behold %{name}"
|
183
|
+
time:
|
184
|
+
am: "Ante Meridiem"
|
185
|
+
formats:
|
186
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
187
|
+
pm: "Post Meridiem"
|