smriti 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +168 -0
  4. data/Rakefile +15 -0
  5. data/app/assets/images/smriti/android-chrome-192x192.png +0 -0
  6. data/app/assets/images/smriti/android-chrome-512x512.png +0 -0
  7. data/app/assets/images/smriti/apple-touch-icon.png +0 -0
  8. data/app/assets/images/smriti/favicon-16x16.png +0 -0
  9. data/app/assets/images/smriti/favicon-32x32.png +0 -0
  10. data/app/assets/images/smriti/favicon-48x48.png +0 -0
  11. data/app/assets/images/smriti/favicon.ico +0 -0
  12. data/app/assets/images/smriti/favicon.svg +18 -0
  13. data/app/assets/images/smriti/logo.svg +18 -0
  14. data/app/assets/images/smriti/mask-icon.svg +5 -0
  15. data/app/assets/stylesheets/smriti/application.css +1040 -0
  16. data/app/controllers/smriti/admin/application_controller.rb +135 -0
  17. data/app/controllers/smriti/admin/dashboard_controller.rb +32 -0
  18. data/app/controllers/smriti/admin/mat_view_definitions_controller.rb +372 -0
  19. data/app/controllers/smriti/admin/mat_view_runs_controller.rb +185 -0
  20. data/app/controllers/smriti/admin/preferences_controller.rb +91 -0
  21. data/app/helpers/smriti/admin/datatable_helper.rb +249 -0
  22. data/app/helpers/smriti/admin/localized_digit_helper.rb +70 -0
  23. data/app/helpers/smriti/admin/ui_helper.rb +539 -0
  24. data/app/javascript/smriti/application.js +8 -0
  25. data/app/javascript/smriti/controllers/application.js +10 -0
  26. data/app/javascript/smriti/controllers/body_setup_controller.js +120 -0
  27. data/app/javascript/smriti/controllers/datatable_controller.js +351 -0
  28. data/app/javascript/smriti/controllers/details_controller.js +200 -0
  29. data/app/javascript/smriti/controllers/drawer_controller.js +470 -0
  30. data/app/javascript/smriti/controllers/flash_controller.js +112 -0
  31. data/app/javascript/smriti/controllers/index.js +10 -0
  32. data/app/javascript/smriti/controllers/mv_confirm_controller.js +435 -0
  33. data/app/javascript/smriti/controllers/tabs_controller.js +184 -0
  34. data/app/javascript/smriti/controllers/tooltip_controller.js +525 -0
  35. data/app/javascript/smriti/controllers/turbo_frame_lifecycle_controller.js +342 -0
  36. data/app/jobs/smriti/application_job.rb +144 -0
  37. data/app/jobs/smriti/create_view_job.rb +87 -0
  38. data/app/jobs/smriti/delete_view_job.rb +89 -0
  39. data/app/jobs/smriti/refresh_view_job.rb +94 -0
  40. data/app/models/concerns/smriti_i18n.rb +139 -0
  41. data/app/models/concerns/smriti_paginate.rb +70 -0
  42. data/app/models/concerns/smriti_query_helper.rb +36 -0
  43. data/app/models/smriti/application_record.rb +39 -0
  44. data/app/models/smriti/mat_view_definition.rb +254 -0
  45. data/app/models/smriti/mat_view_run.rb +275 -0
  46. data/app/views/layouts/smriti/_footer.html.erb +47 -0
  47. data/app/views/layouts/smriti/_header.html.erb +25 -0
  48. data/app/views/layouts/smriti/admin.html.erb +47 -0
  49. data/app/views/layouts/smriti/turbo_frame.html.erb +3 -0
  50. data/app/views/smriti/admin/dashboard/index.html.erb +38 -0
  51. data/app/views/smriti/admin/mat_view_definitions/_definition_actions.html.erb +94 -0
  52. data/app/views/smriti/admin/mat_view_definitions/_dt-index-empty-row.html.erb +11 -0
  53. data/app/views/smriti/admin/mat_view_definitions/_dt-index-row.html.erb +27 -0
  54. data/app/views/smriti/admin/mat_view_definitions/empty.html.erb +1 -0
  55. data/app/views/smriti/admin/mat_view_definitions/form.html.erb +79 -0
  56. data/app/views/smriti/admin/mat_view_definitions/index.html.erb +10 -0
  57. data/app/views/smriti/admin/mat_view_definitions/show.html.erb +40 -0
  58. data/app/views/smriti/admin/mat_view_runs/_dt-index-empty-row.html.erb +11 -0
  59. data/app/views/smriti/admin/mat_view_runs/_dt-index-row.html.erb +41 -0
  60. data/app/views/smriti/admin/mat_view_runs/index.html.erb +1 -0
  61. data/app/views/smriti/admin/mat_view_runs/show.html.erb +64 -0
  62. data/app/views/smriti/admin/preferences/show.html.erb +49 -0
  63. data/app/views/smriti/admin/ui/_card.html.erb +15 -0
  64. data/app/views/smriti/admin/ui/_datatable.html.erb +34 -0
  65. data/app/views/smriti/admin/ui/_datatable_filters.html.erb +45 -0
  66. data/app/views/smriti/admin/ui/_datatable_tbody.html.erb +11 -0
  67. data/app/views/smriti/admin/ui/_datatable_tfoot.html.erb +70 -0
  68. data/app/views/smriti/admin/ui/_datatable_thead.html.erb +105 -0
  69. data/app/views/smriti/admin/ui/_details.html.erb +10 -0
  70. data/app/views/smriti/admin/ui/_flash.html.erb +6 -0
  71. data/app/views/smriti/admin/ui/_table.html.erb +8 -0
  72. data/config/importmap.rb +9 -0
  73. data/config/locales/ar.yml +223 -0
  74. data/config/locales/de.yml +230 -0
  75. data/config/locales/en-AU-ocker.yml +223 -0
  76. data/config/locales/en-AU.yml +202 -0
  77. data/config/locales/en-BORK.yml +225 -0
  78. data/config/locales/en-CA.yml +223 -0
  79. data/config/locales/en-GB.yml +223 -0
  80. data/config/locales/en-LOL.yml +219 -0
  81. data/config/locales/en-SCOT.yml +223 -0
  82. data/config/locales/en-SHAKESPEARE.yml +225 -0
  83. data/config/locales/en-US-pirate.yml +222 -0
  84. data/config/locales/en-US.yml +225 -0
  85. data/config/locales/en-YODA.yml +221 -0
  86. data/config/locales/en.yml +223 -0
  87. data/config/locales/es.yml +226 -0
  88. data/config/locales/fa.yml +223 -0
  89. data/config/locales/fr-CA.yml +227 -0
  90. data/config/locales/fr.yml +227 -0
  91. data/config/locales/he.yml +218 -0
  92. data/config/locales/hi.yml +223 -0
  93. data/config/locales/it.yml +225 -0
  94. data/config/locales/ja-JP.yml +215 -0
  95. data/config/locales/pt.yml +225 -0
  96. data/config/locales/ru.yml +228 -0
  97. data/config/locales/ur.yml +225 -0
  98. data/config/locales/zh-CN.yml +214 -0
  99. data/config/locales/zh-TW.yml +214 -0
  100. data/config/routes.rb +36 -0
  101. data/lib/ext/exception.rb +20 -0
  102. data/lib/generators/smriti/install/install_generator.rb +86 -0
  103. data/lib/generators/smriti/install/templates/create_mat_view_definitions.rb +29 -0
  104. data/lib/generators/smriti/install/templates/create_mat_view_runs.rb +32 -0
  105. data/lib/generators/smriti/install/templates/smriti_initializer.rb +23 -0
  106. data/lib/smriti/admin/auth_bridge.rb +93 -0
  107. data/lib/smriti/admin/default_auth.rb +62 -0
  108. data/lib/smriti/configuration.rb +58 -0
  109. data/lib/smriti/engine.rb +82 -0
  110. data/lib/smriti/helpers/ui_test_ids.rb +49 -0
  111. data/lib/smriti/jobs/adapter.rb +81 -0
  112. data/lib/smriti/service_response.rb +75 -0
  113. data/lib/smriti/services/base_service.rb +471 -0
  114. data/lib/smriti/services/check_matview_exists.rb +76 -0
  115. data/lib/smriti/services/concurrent_refresh.rb +94 -0
  116. data/lib/smriti/services/create_view.rb +173 -0
  117. data/lib/smriti/services/delete_view.rb +111 -0
  118. data/lib/smriti/services/regular_refresh.rb +90 -0
  119. data/lib/smriti/services/swap_refresh.rb +181 -0
  120. data/lib/smriti/version.rb +21 -0
  121. data/lib/smriti.rb +64 -0
  122. data/lib/tasks/helpers.rb +185 -0
  123. data/lib/tasks/smriti_tasks.rake +151 -0
  124. metadata +206 -0
@@ -0,0 +1,223 @@
1
+ ---
2
+ ar:
3
+ activerecord:
4
+ attributes:
5
+ smriti/mat_view_definition:
6
+ created_at: تاريخ الإنشاء
7
+ dependencies: التبعيات
8
+ last_run_at: آخر تشغيل في
9
+ name: الاسم
10
+ refresh_strategy: استراتيجية التحديث
11
+ schedule_cron: الجدولة (cron)
12
+ sql: SQL (SELECT ...)
13
+ unique_index_columns: أعمدة الفهرس الفريد
14
+ updated_at: تاريخ التحديث
15
+ smriti/mat_view_run:
16
+ created_at: تاريخ الإنشاء
17
+ details: التفاصيل
18
+ duration_ms: المدة (مللي ثانية)
19
+ error: الخطأ
20
+ finished_at: وقت الانتهاء
21
+ mat_view_definition: التعريف
22
+ meta: البيانات الوصفية
23
+ operation: العملية
24
+ row_count_after: عدد الصفوف بعد
25
+ row_count_before: عدد الصفوف قبل
26
+ rows_before_after: الصفوف (قبل/بعد)
27
+ started_at: وقت البدء
28
+ status: الحالة
29
+ updated_at: تاريخ التحديث
30
+ enums:
31
+ smriti/mat_view_definition:
32
+ refresh_strategy:
33
+ concurrent: متزامن
34
+ regular: عادي
35
+ swap: استبدال
36
+ smriti/mat_view_run:
37
+ operation:
38
+ create: إنشاء
39
+ drop: حذف
40
+ refresh: تحديث
41
+ status:
42
+ failed: فشل
43
+ running: قيد التنفيذ
44
+ success: ناجح
45
+ errors:
46
+ models:
47
+ smriti/mat_view_definition:
48
+ attributes:
49
+ name:
50
+ blank: يجب تقديمه
51
+ invalid: ليس معرف PostgreSQL صالحًا
52
+ taken: يجب أن يكون فريدًا
53
+ sql:
54
+ blank: يجب تقديمه
55
+ invalid: يجب أن يبدأ بـ SELECT
56
+ unique_index_columns:
57
+ at_least_one: يجب أن يحتوي على عمود واحد على الأقل عند استخدام استراتيجية
58
+ التحديث المتزامن
59
+ hints:
60
+ smriti/mat_view_definition:
61
+ dependencies: قائمة مفصولة بفواصل من الجداول أو العروض التي يعتمد عليها هذا
62
+ العرض المادي.
63
+ name: اسم العرض المادي في قاعدة البيانات.
64
+ refresh_strategy: تحدد كيفية تحديث العرض المادي.
65
+ schedule_cron: استخدم تنسيق cron القياسي. اتركه فارغًا لعدم وجود جدولة.
66
+ sql: يجب أن يكون استعلام SQL عبارة عن جملة SELECT صالحة.
67
+ unique_index_columns: الأعمدة المطلوب إنشاء فهرس فريد عليها. مطلوب للتحديث
68
+ المتزامن.
69
+ smriti/mat_view_run:
70
+ error: رسالة الخطأ إذا فشل التنفيذ.
71
+ meta: بيانات إضافية بتنسيق JSON.
72
+ operation: نوع العملية التي تم تنفيذها.
73
+ status: الحالة الحالية للتنفيذ.
74
+ models:
75
+ smriti/mat_view_definition: تعريف العرض المادي
76
+ smriti/mat_view_run: تشغيل العرض المادي
77
+ placeholders:
78
+ smriti/mat_view_definition:
79
+ dependencies: أدخل التبعيات (مفصولة بفواصل، اختياري)
80
+ name: أدخل الاسم
81
+ refresh_strategy: اختر استراتيجية التحديث
82
+ schedule_cron: 0 0 * * * للتشغيل يوميًا عند منتصف الليل، اتركه فارغًا لعدم
83
+ وجود جدولة
84
+ sql: أدخل SQL (SELECT ...)
85
+ unique_index_columns: أدخل أعمدة الفهرس الفريد (مفصولة بفواصل، اختياري)
86
+ smriti/mat_view_run:
87
+ error: رسالة الخطأ
88
+ mat_view_definition: اختر العرض المادي
89
+ meta: البيانات الوصفية (JSON)
90
+ operation: اختر العملية
91
+ status: اختر الحالة
92
+ i18n:
93
+ name: العربية
94
+ smriti:
95
+ actions: الإجراءات
96
+ cancel: إلغاء
97
+ close: إغلاق
98
+ close_window: إغلاق النافذة
99
+ create: إنشاء
100
+ dashboard:
101
+ metrics:
102
+ title: المؤشرات
103
+ title: لوحة التحكم
104
+ datatable:
105
+ clear_search_aria_label: مسح البحث
106
+ search_aria_label: البحث في الجدول
107
+ search_placeholder: بحث...
108
+ definition: التعريف
109
+ definitions: التعريفات
110
+ delete: حذف
111
+ details: التفاصيل
112
+ edit: تحرير
113
+ edit_var: تحرير %{name}
114
+ errors:
115
+ frame_only: لا يمكن تنفيذ هذا الإجراء إلا داخل إطار، تمت إعادة التوجيه إلى لوحة
116
+ التحكم.
117
+ prevented_saving:
118
+ few: "%{count} أخطاء منعت الحفظ:"
119
+ many: "%{count} خطأً منع الحفظ:"
120
+ one: 'خطأ واحد منع الحفظ:'
121
+ other: "%{count} خطأ منع الحفظ:"
122
+ two: 'خطآن منعا الحفظ:'
123
+ zero: لا توجد أخطاء، كل شيء على ما يرام!
124
+ filter_by: 'التصفية حسب:'
125
+ footer:
126
+ copyright: "© %{year} %{company} جميع الحقوق محفوظة."
127
+ documentation: التوثيق
128
+ need_help: هل تحتاج إلى توفر مضمون ودعم خبراء؟
129
+ open_issue: افتح Issue
130
+ project_homepage: الصفحة الرئيسية للمشروع
131
+ support: احصل على دعم احترافي →
132
+ tagline: بُني بحب من المطورين ولأجلهم.
133
+ tooltip:
134
+ documentation: اطلع على التوثيق
135
+ gem_version: انقر للانتقال إلى صفحة RubyGems
136
+ open_issue: أبلغ عن خطأ أو اطلب ميزة
137
+ project_homepage: مستودع GitHub
138
+ support: خطط الدعم الاحترافية
139
+ version: v%{version}
140
+ header:
141
+ signed_in_as: مسجل الدخول كـ %{email}
142
+ history: السجل
143
+ loading: جارٍ التحميل...
144
+ loading_definitions: جارٍ تحميل التعريفات...
145
+ loading_runs: جارٍ تحميل التشغيلات...
146
+ mat_view_definition:
147
+ create_mv: إنشاء Smriti
148
+ create_mv_tooltip: ينشئ العرض المادي في قاعدة البيانات.
149
+ delete_confirm: حذف التعريف %{name}؟ (لن يحذف Smriti)
150
+ delete_tooltip: يحذف التعريف لكن لا يحذف العرض المادي من قاعدة البيانات.
151
+ drop_mv: حذف Smriti
152
+ drop_mv_cascade: حذف Smriti (تتابعي)
153
+ drop_mv_cascade_confirm: حذف العرض المادي وكل الكيانات التابعة لـ %{name}؟
154
+ drop_mv_cascade_tooltip: يحذف العرض المادي وكل الكيانات التابعة في قاعدة البيانات.
155
+ تظل التعريفات موجودة.
156
+ drop_mv_confirm: حذف العرض المادي لـ %{name}?
157
+ drop_mv_tooltip: يحذف العرض المادي من قاعدة البيانات وتبقى التعريفات.
158
+ edit_tooltip: تحرير تعريف العرض المادي.
159
+ materialized_view: العرض المادي
160
+ materialized_view_exists: العرض المادي موجود
161
+ materialized_view_not_exists: العرض المادي لم يتم إنشاؤه بعد!
162
+ new_definition: تعريف جديد
163
+ new_definition_tooltip: أنشئ تعريف عرض مادي جديد.
164
+ no_definitions: لم يتم العثور على تعريفات عرض مادي. أنشئ واحدًا للبدء.
165
+ no_definitions_if_filtered: لا توجد تعريفات عرض مادي وفق عوامل التصفية أو البحث
166
+ المحدد.
167
+ refresh_tooltip: يحدّث العرض المادي في قاعدة البيانات.
168
+ sql_summary_tooltip: انقر لتوسيع/طي SQL
169
+ view_tooltip: عرض تعريف العرض المادي.
170
+ mat_view_run:
171
+ error_tooltip: رسالة الخطأ إذا فشل التنفيذ.
172
+ meta_tooltip: بيانات إضافية بتنسيق JSON.
173
+ no_runs: لا توجد تشغيلات.
174
+ no_runs_if_filtered: لا توجد تشغيلات تتطابق مع عوامل التصفية المحددة.
175
+ view_details: عرض التفاصيل
176
+ view_tooltip: عرض تفاصيل التشغيل.
177
+ no_filter: أي خيار (دون تصفية)
178
+ no_value: لا قيمة (nil أو فارغ)
179
+ per_page: لكل صفحة
180
+ project_author: CodeVedas Inc.
181
+ project_description: واجهة إدارية لإدارة PostgreSQL materialized views في تطبيقات
182
+ Rails.
183
+ project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
184
+ management
185
+ refresh: تحديث
186
+ refresh_contents: تحديث المحتوى
187
+ reloading: جارٍ إعادة التحميل...
188
+ reset: إعادة تعيين
189
+ run: تشغيل
190
+ runs: التشغيلات
191
+ save_changes: حفظ التغييرات
192
+ settings:
193
+ auto: تلقائي
194
+ dark: داكن
195
+ language: اللغة
196
+ language_hint: اختر لغة الواجهة.
197
+ light: فاتح
198
+ theme: النمط
199
+ theme_hint: يتبع التلقائي تفضيل النظام، أما الفاتح والداكن فيستبدلانه.
200
+ title: التفضيلات
201
+ title: إدارة Smriti
202
+ view_var: عرض %{name}
203
+ x_miliseconds: "%{count} مللي ثانية"
204
+ number:
205
+ format:
206
+ delimiter: "٬"
207
+ separator: "٫"
208
+ numbers:
209
+ eight: ٨
210
+ five: ٥
211
+ four: ٤
212
+ nine: ٩
213
+ one: ١
214
+ seven: ٧
215
+ six: ٦
216
+ three: ٣
217
+ two: ٢
218
+ zero: ٠
219
+ time:
220
+ am: صباحًا
221
+ formats:
222
+ datetime12hour: "%Y-%m-%d %I:%M:%S %p"
223
+ pm: مساءً
@@ -0,0 +1,230 @@
1
+ ---
2
+ de:
3
+ activerecord:
4
+ attributes:
5
+ smriti/mat_view_definition:
6
+ created_at: Erstellt am
7
+ dependencies: Abhängigkeiten
8
+ last_run_at: Letzte Ausführung
9
+ name: Bezeichnung
10
+ refresh_strategy: Aktualisierungsstrategie
11
+ schedule_cron: Zeitplan (cron)
12
+ sql: SQL (SELECT ...)
13
+ unique_index_columns: Spalten für eindeutigen Index
14
+ updated_at: Aktualisiert am
15
+ smriti/mat_view_run:
16
+ created_at: Erstellt am
17
+ details: Details
18
+ duration_ms: Dauer (ms)
19
+ error: Fehler
20
+ finished_at: Beendet am
21
+ mat_view_definition: Definition
22
+ meta: Metadaten
23
+ operation: Vorgang
24
+ row_count_after: Zeilenanzahl nachher
25
+ row_count_before: Zeilenanzahl vorher
26
+ rows_before_after: Zeilen (vorher/nachher)
27
+ started_at: Gestartet am
28
+ status: Status
29
+ updated_at: Aktualisiert am
30
+ enums:
31
+ smriti/mat_view_definition:
32
+ refresh_strategy:
33
+ concurrent: Parallel
34
+ regular: Regulär
35
+ swap: Austausch
36
+ smriti/mat_view_run:
37
+ operation:
38
+ create: Erstellen
39
+ drop: Löschen
40
+ refresh: Aktualisieren
41
+ status:
42
+ failed: Fehlgeschlagen
43
+ running: Laufend
44
+ success: Erfolgreich
45
+ errors:
46
+ models:
47
+ smriti/mat_view_definition:
48
+ attributes:
49
+ name:
50
+ blank: muss angegeben werden
51
+ invalid: ist kein gültiger PostgreSQL-Bezeichner
52
+ taken: muss eindeutig sein
53
+ sql:
54
+ blank: muss angegeben werden
55
+ invalid: muss mit SELECT beginnen
56
+ unique_index_columns:
57
+ at_least_one: muss bei paralleler Aktualisierung mindestens eine Spalte
58
+ enthalten
59
+ hints:
60
+ smriti/mat_view_definition:
61
+ dependencies: Kommagetrennte Liste der Tabellen oder Views, von denen diese
62
+ materialisierte Ansicht abhängt.
63
+ name: Name der materialisierten Ansicht in der Datenbank.
64
+ refresh_strategy: Legt fest, wie die materialisierte Ansicht aktualisiert
65
+ wird.
66
+ schedule_cron: Standard-Cron-Format verwenden. Leer lassen für keine Planung.
67
+ sql: Die SQL-Abfrage muss eine gültige SELECT-Anweisung sein.
68
+ unique_index_columns: Spalten, für die ein eindeutiger Index erstellt wird.
69
+ Erforderlich für parallele Aktualisierung.
70
+ smriti/mat_view_run:
71
+ error: Fehlermeldung, falls die Ausführung fehlgeschlagen ist.
72
+ meta: Zusätzliche Metadaten im JSON-Format.
73
+ operation: Art des ausgeführten Vorgangs.
74
+ status: Aktueller Status der Ausführung.
75
+ models:
76
+ smriti/mat_view_definition: Definition der materialisierten Ansicht
77
+ smriti/mat_view_run: Ausführung der materialisierten Ansicht
78
+ placeholders:
79
+ smriti/mat_view_definition:
80
+ dependencies: Abhängigkeiten eingeben (kommagetrennt, optional)
81
+ name: Name eingeben
82
+ refresh_strategy: Aktualisierungsstrategie auswählen
83
+ schedule_cron: 0 0 * * * für täglich um Mitternacht, leer lassen ohne Planung
84
+ sql: SQL (SELECT ...) eingeben
85
+ unique_index_columns: Spalten für eindeutigen Index eingeben (kommagetrennt,
86
+ optional)
87
+ smriti/mat_view_run:
88
+ error: Fehlermeldung
89
+ mat_view_definition: Materialisierte Ansicht auswählen
90
+ meta: Metadaten (JSON)
91
+ operation: Vorgang auswählen
92
+ status: Status auswählen
93
+ i18n:
94
+ name: Deutsch
95
+ smriti:
96
+ actions: Aktionen
97
+ cancel: Abbrechen
98
+ close: Schließen
99
+ close_window: Fenster schließen
100
+ create: Erstellen
101
+ dashboard:
102
+ metrics:
103
+ title: Kennzahlen
104
+ title: Dashboard
105
+ datatable:
106
+ clear_search_aria_label: Suche löschen
107
+ search_aria_label: Tabelle durchsuchen
108
+ search_placeholder: Suche...
109
+ definition: Definition
110
+ definitions: Definitionen
111
+ delete: Löschen
112
+ details: Details
113
+ edit: Bearbeiten
114
+ edit_var: "%{name} bearbeiten"
115
+ errors:
116
+ frame_only: Diese Aktion kann nur innerhalb eines Frames ausgeführt werden;
117
+ Weiterleitung zum Dashboard.
118
+ prevented_saving:
119
+ few: "%{count} Fehler verhinderten das Speichern:"
120
+ many: "%{count} Fehler verhinderten das Speichern:"
121
+ one: '1 Fehler hat das Speichern verhindert:'
122
+ other: "%{count} Fehler verhinderten das Speichern:"
123
+ two: '2 Fehler verhinderten das Speichern:'
124
+ zero: Keine Fehler, alles in Ordnung!
125
+ filter_by: 'Filtern nach:'
126
+ footer:
127
+ copyright: "© %{year} %{company} Alle Rechte vorbehalten."
128
+ documentation: Dokumentation
129
+ need_help: Benötigen Sie garantierte Verfügbarkeit und Expertenhilfe?
130
+ open_issue: Issue eröffnen
131
+ project_homepage: Projekt-Homepage
132
+ support: Professionellen Support erhalten →
133
+ tagline: Mit ❤️ von Entwickler:innen für Entwickler:innen gebaut.
134
+ tooltip:
135
+ documentation: Dokumentation lesen
136
+ gem_version: Zur RubyGems-Seite wechseln
137
+ open_issue: Fehler melden oder Feature anfragen
138
+ project_homepage: GitHub-Repository
139
+ support: Professionelle Supportpläne
140
+ version: v%{version}
141
+ header:
142
+ signed_in_as: Angemeldet als %{email}
143
+ history: Verlauf
144
+ loading: Laden...
145
+ loading_definitions: Definitionen werden geladen...
146
+ loading_runs: Ausführungen werden geladen...
147
+ mat_view_definition:
148
+ create_mv: Smriti erstellen
149
+ create_mv_tooltip: Erstellt die materialisierte Ansicht in der Datenbank.
150
+ delete_confirm: Definition %{name} löschen? (Materialisierte Ansicht bleibt
151
+ bestehen)
152
+ delete_tooltip: Löscht die Definition, entfernt die materialisierte Ansicht
153
+ jedoch nicht aus der Datenbank.
154
+ drop_mv: Smriti löschen
155
+ drop_mv_cascade: Smriti löschen (kaskadierend)
156
+ drop_mv_cascade_confirm: Materialisierte Ansicht und alle abhängigen Objekte
157
+ für %{name} löschen?
158
+ drop_mv_cascade_tooltip: Löscht die materialisierte Ansicht und alle abhängigen
159
+ Objekte in der Datenbank. Die Definition bleibt bestehen.
160
+ drop_mv_confirm: Materialisierte Ansicht für %{name} löschen?
161
+ drop_mv_tooltip: Löscht die materialisierte Ansicht in der Datenbank. Die Definition
162
+ bleibt.
163
+ edit_tooltip: Definition der materialisierten Ansicht bearbeiten.
164
+ materialized_view: Materialisierte Ansicht
165
+ materialized_view_exists: Materialisierte Ansicht vorhanden
166
+ materialized_view_not_exists: Materialisierte Ansicht noch nicht erstellt!
167
+ new_definition: Neue Definition
168
+ new_definition_tooltip: Neue Definition einer materialisierten Ansicht erstellen.
169
+ no_definitions: Keine Definitionen für materialisierte Ansichten gefunden. Erstellen
170
+ Sie eine, um zu beginnen.
171
+ no_definitions_if_filtered: Für die gewählten Filter oder die Suche wurden keine
172
+ Definitionen materialisierter Ansichten gefunden.
173
+ refresh_tooltip: Aktualisiert die materialisierte Ansicht in der Datenbank.
174
+ sql_summary_tooltip: Zum Ein- oder Ausklappen der SQL klicken
175
+ view_tooltip: Definition der materialisierten Ansicht anzeigen.
176
+ mat_view_run:
177
+ error_tooltip: Fehlermeldung, falls die Ausführung fehlgeschlagen ist.
178
+ meta_tooltip: Zusätzliche Metadaten im JSON-Format.
179
+ no_runs: Keine Ausführungen gefunden.
180
+ no_runs_if_filtered: Für die gewählten Filter wurden keine Ausführungen gefunden.
181
+ view_details: Details anzeigen
182
+ view_tooltip: Ausführungsdetails anzeigen.
183
+ no_filter: Beliebig (kein Filter)
184
+ no_value: Kein Wert (nil oder leer)
185
+ per_page: Pro Seite
186
+ project_author: CodeVedas Inc.
187
+ project_description: Administrationsoberfläche zur Verwaltung von PostgreSQL materialized
188
+ views in Rails-Anwendungen.
189
+ project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
190
+ management
191
+ refresh: Aktualisieren
192
+ refresh_contents: Inhalte aktualisieren
193
+ reloading: Wird neu geladen...
194
+ reset: Zurücksetzen
195
+ run: Ausführen
196
+ runs: Ausführungen
197
+ save_changes: Änderungen speichern
198
+ settings:
199
+ auto: Automatisch
200
+ dark: Dunkel
201
+ language: Sprache
202
+ language_hint: Wählen Sie Ihre Oberflächensprache.
203
+ light: Hell
204
+ theme: Theme
205
+ theme_hint: Automatisch folgt der Systemeinstellung, Hell und Dunkel überschreiben
206
+ sie.
207
+ title: Einstellungen
208
+ title: Smriti Verwaltung
209
+ view_var: "%{name} ansehen"
210
+ x_miliseconds: "%{count} ms"
211
+ number:
212
+ format:
213
+ delimiter: "."
214
+ separator: ","
215
+ numbers:
216
+ eight: 8
217
+ five: 5
218
+ four: 4
219
+ nine: 9
220
+ one: 1
221
+ seven: 7
222
+ six: 6
223
+ three: 3
224
+ two: 2
225
+ zero: 0
226
+ time:
227
+ am: vorm.
228
+ formats:
229
+ datetime12hour: "%Y-%m-%d %I:%M:%S %p"
230
+ pm: nachm.
@@ -0,0 +1,223 @@
1
+ ---
2
+ en-AU-ocker:
3
+ activerecord:
4
+ attributes:
5
+ smriti/mat_view_definition:
6
+ created_at: Cooked up at
7
+ dependencies: Mates it leans on
8
+ last_run_at: Last spin
9
+ name: Nickname
10
+ refresh_strategy: Refresh game plan
11
+ schedule_cron: Roster (cron)
12
+ sql: SQL (SELECT ...)
13
+ unique_index_columns: Unique index bits
14
+ updated_at: Freshened up
15
+ smriti/mat_view_run:
16
+ created_at: Cooked up at
17
+ details: The goss
18
+ duration_ms: Time on the clock (ms)
19
+ error: Stuff-up
20
+ finished_at: Wrapped up
21
+ mat_view_definition: Definition
22
+ meta: Extra bits
23
+ operation: Play
24
+ row_count_after: Rows after
25
+ row_count_before: Rows before
26
+ rows_before_after: Rows (before/after)
27
+ started_at: Kicked off
28
+ status: Status
29
+ updated_at: Freshened up
30
+ enums:
31
+ smriti/mat_view_definition:
32
+ refresh_strategy:
33
+ concurrent: All-at-once
34
+ regular: Standard
35
+ swap: Swaperoo
36
+ smriti/mat_view_run:
37
+ operation:
38
+ create: Spin up
39
+ drop: Drop
40
+ refresh: Refresh
41
+ status:
42
+ failed: Carked it
43
+ running: Chuggin' along
44
+ success: Too easy
45
+ errors:
46
+ models:
47
+ smriti/mat_view_definition:
48
+ attributes:
49
+ name:
50
+ blank: needs a nickname
51
+ invalid: ain't a fair-dinkum PostgreSQL identifier
52
+ taken: has already been snagged
53
+ sql:
54
+ blank: needs a SQL statement
55
+ invalid: has to kick off with SELECT
56
+ unique_index_columns:
57
+ at_least_one: needs at least one column when you're doing the concurrent
58
+ refresh caper
59
+ hints:
60
+ smriti/mat_view_definition:
61
+ dependencies: Comma-separated roll-call of tables or views this materialised
62
+ mate relies on.
63
+ name: What the materialised view's called in the database.
64
+ refresh_strategy: How the materialised view gets freshened up.
65
+ schedule_cron: Stick to standard cron yarn. Leave it blank for no schedule.
66
+ sql: SQL needs to be a fair-dinkum SELECT statement.
67
+ unique_index_columns: Columns that cop the unique index. Mandatory for concurrent
68
+ refresh.
69
+ smriti/mat_view_run:
70
+ error: Error yarn if the run face-plants.
71
+ meta: Extra intel in JSON.
72
+ operation: What sort of caper ran.
73
+ status: Where the run's at right now.
74
+ models:
75
+ smriti/mat_view_definition: Materialised View Definition
76
+ smriti/mat_view_run: Materialised View Run
77
+ placeholders:
78
+ smriti/mat_view_definition:
79
+ dependencies: List the mates (comma separated, optional)
80
+ name: Chuck in a nickname
81
+ refresh_strategy: Pick a refresh game plan
82
+ schedule_cron: 0 0 * * * for midnight every day, leave blank for no roster
83
+ sql: Pop in SQL (SELECT ...)
84
+ unique_index_columns: Unique index bits (comma separated, optional)
85
+ smriti/mat_view_run:
86
+ error: Error yarn
87
+ mat_view_definition: Pick the materialised view
88
+ meta: Extra bits (JSON)
89
+ operation: Pick the play
90
+ status: Pick the status
91
+ i18n:
92
+ name: English (Australian Ocker)
93
+ smriti:
94
+ actions: Mates' moves
95
+ cancel: Nah, cancel
96
+ close: Shut it
97
+ close_window: Shut the window
98
+ create: Spin one up
99
+ dashboard:
100
+ metrics:
101
+ title: Stats & yarns
102
+ title: Dashboard
103
+ datatable:
104
+ clear_search_aria_label: Wipe the search
105
+ search_aria_label: Have a squiz at the table
106
+ search_placeholder: Have a squiz...
107
+ definition: Definition
108
+ definitions: Definitions
109
+ delete: Chuck it
110
+ details: The details
111
+ edit: Tweak
112
+ edit_var: Tweak %{name}
113
+ errors:
114
+ frame_only: This play only works in a frame, mate. Off you go to the dashboard.
115
+ prevented_saving:
116
+ few: "%{count} hiccups blocked the save:"
117
+ many: "%{count} hiccups blocked the save:"
118
+ one: 'One hiccup stopped the save:'
119
+ other: "%{count} hiccups blocked the save:"
120
+ two: 'Two hiccups blocked the save:'
121
+ zero: No dramas, mate!
122
+ filter_by: 'Filter by:'
123
+ footer:
124
+ copyright: "© %{year} %{company} All rights reserved."
125
+ documentation: Docs
126
+ need_help: Need rock-solid uptime and a helping hand?
127
+ open_issue: Lodge an Issue
128
+ project_homepage: Project homepage
129
+ support: Grab Pro Support →
130
+ tagline: Whipped up with ❤️ by devs, for devs.
131
+ tooltip:
132
+ documentation: Have a read of the docs
133
+ gem_version: Hop over to RubyGems
134
+ open_issue: Report a bug or pitch a feature
135
+ project_homepage: GitHub repo
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: Fetching definitions...
143
+ loading_runs: Fetching runs...
144
+ mat_view_definition:
145
+ create_mv: Spin up Smriti
146
+ create_mv_tooltip: Builds the materialised view in the database, too right.
147
+ delete_confirm: Delete %{name}'s definition? (Smriti stays put)
148
+ delete_tooltip: Drops the definition but leaves the materialised view in the
149
+ database.
150
+ drop_mv: Drop Smriti
151
+ drop_mv_cascade: Drop Smriti (cascade)
152
+ drop_mv_cascade_confirm: Drop the materialised view and every hanger-on for
153
+ %{name}?
154
+ drop_mv_cascade_tooltip: Boots the materialised view and its tag-alongs from
155
+ the database. Definition hangs about.
156
+ drop_mv_confirm: Drop the materialised view for %{name}?
157
+ drop_mv_tooltip: Boots the materialised view from the database. Definition sticks
158
+ around.
159
+ edit_tooltip: Tweak the materialised view definition.
160
+ materialized_view: Materialised view
161
+ materialized_view_exists: Materialised view's in the shed
162
+ materialized_view_not_exists: Materialised view isn't built yet!
163
+ new_definition: New definition
164
+ new_definition_tooltip: Kick off a fresh materialised view definition.
165
+ no_definitions: No materialised view definitions found. Spin one up to get rolling.
166
+ no_definitions_if_filtered: Nothin' matches those filters or search, mate.
167
+ refresh_tooltip: Refreshes the materialised view in the database.
168
+ sql_summary_tooltip: Click to open or tuck away the SQL
169
+ view_tooltip: Suss out the materialised view definition.
170
+ mat_view_run:
171
+ error_tooltip: Error yarn if the run stacks it.
172
+ meta_tooltip: Extra intel in JSON.
173
+ no_runs: No runs spotted.
174
+ no_runs_if_filtered: No runs match those filters.
175
+ view_details: Scope the details
176
+ view_tooltip: Scope the run details.
177
+ no_filter: Anything goes
178
+ no_value: No value (nil or blank)
179
+ per_page: Per page
180
+ project_author: CodeVedas Inc.
181
+ project_description: Admin interface for keeping PostgreSQL materialised views
182
+ in line for Rails apps.
183
+ project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
184
+ management
185
+ refresh: Refresh
186
+ refresh_contents: Refresh the lot
187
+ reloading: Reloading...
188
+ reset: Reset
189
+ run: Run it
190
+ runs: Runs
191
+ save_changes: Lock it in
192
+ settings:
193
+ auto: Auto
194
+ dark: Dark
195
+ language: Lingo
196
+ language_hint: Pick the lingo for your interface.
197
+ light: Light
198
+ theme: Theme
199
+ theme_hint: Auto follows your system, light and dark override it.
200
+ title: Preferences
201
+ title: Smriti Control
202
+ view_var: Check out %{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