pgkiln 0.53.0 → 0.55.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 (83) hide show
  1. package/SECURITY.md +2 -0
  2. package/db/migrations/127_builder_language.sql +16 -0
  3. package/docs/apex-feature-parity.md +7 -7
  4. package/docs/guide/03-builder.md +62 -8
  5. package/docs/guide/12-development.md +50 -3
  6. package/examples/gallery/README.md +37 -6
  7. package/examples/gallery/gallery.json +23 -1
  8. package/examples/gallery/samples/sample-calendar.sql +172 -0
  9. package/examples/gallery/samples/sample-cards.sql +157 -0
  10. package/examples/gallery/samples/sample-charts.sql +265 -0
  11. package/examples/gallery/samples/sample-dynamic-actions.sql +177 -0
  12. package/examples/gallery/samples/sample-grids.sql +151 -0
  13. package/examples/gallery/samples/sample-reporting.sql +151 -0
  14. package/examples/gallery/samples/ux-patterns.sql +295 -0
  15. package/examples/gallery/utilities/announcements.json +24 -0
  16. package/examples/gallery/utilities/lookup-lists.json +28 -0
  17. package/examples/gallery/utilities/release-notes.json +41 -0
  18. package/package.json +1 -1
  19. package/public/app.css +2 -0
  20. package/public/builder.css +39 -1
  21. package/public/worksheet.css +3 -2
  22. package/src/builder/advisor.ts +1 -1
  23. package/src/builder/ai-agents.ts +5 -5
  24. package/src/builder/ai-builder.ts +3 -3
  25. package/src/builder/api.ts +1 -1
  26. package/src/builder/autorest.ts +2 -2
  27. package/src/builder/availability.ts +1 -1
  28. package/src/builder/backups.ts +1 -1
  29. package/src/builder/changelog.ts +1 -1
  30. package/src/builder/data-modeler.ts +4 -4
  31. package/src/builder/data-security.ts +1 -1
  32. package/src/builder/dataload.ts +1 -1
  33. package/src/builder/datapump.ts +1 -1
  34. package/src/builder/ddl-tools.ts +2 -2
  35. package/src/builder/designer.ts +134 -124
  36. package/src/builder/diagnostics.ts +2 -2
  37. package/src/builder/errors.ts +10 -12
  38. package/src/builder/feedback.ts +1 -1
  39. package/src/builder/gallery.ts +94 -47
  40. package/src/builder/globalization.ts +1 -1
  41. package/src/builder/home.ts +59 -57
  42. package/src/builder/i18n/de.ts +675 -0
  43. package/src/builder/i18n/en.ts +678 -0
  44. package/src/builder/i18n/es.ts +675 -0
  45. package/src/builder/i18n/fr.ts +675 -0
  46. package/src/builder/i18n/nl.ts +675 -0
  47. package/src/builder/i18n/pt.ts +675 -0
  48. package/src/builder/i18n.ts +116 -0
  49. package/src/builder/language.ts +74 -0
  50. package/src/builder/launchpad.ts +13 -8
  51. package/src/builder/object-browser.ts +1 -1
  52. package/src/builder/plugins.ts +1 -1
  53. package/src/builder/querybuilder.ts +1 -1
  54. package/src/builder/quicksql.ts +1 -1
  55. package/src/builder/rest-modules.ts +2 -2
  56. package/src/builder/routes.ts +88 -66
  57. package/src/builder/sampledata.ts +1 -1
  58. package/src/builder/scheduling.ts +1 -1
  59. package/src/builder/scripts.ts +1 -1
  60. package/src/builder/search.ts +1 -1
  61. package/src/builder/shared.ts +5 -5
  62. package/src/builder/sql-charts.ts +2 -2
  63. package/src/builder/sql-monitor.ts +2 -2
  64. package/src/builder/sql-tools.ts +6 -0
  65. package/src/builder/sql-utilities.ts +3 -3
  66. package/src/builder/sql.ts +24 -22
  67. package/src/builder/static-files.ts +1 -1
  68. package/src/builder/subscriptions.ts +1 -1
  69. package/src/builder/supporting.ts +1 -1
  70. package/src/builder/table-editor.ts +1 -1
  71. package/src/builder/team.ts +7 -5
  72. package/src/builder/themeroller.ts +1 -1
  73. package/src/builder/top-sql.ts +1 -1
  74. package/src/builder/ui.ts +87 -77
  75. package/src/builder/unload.ts +1 -1
  76. package/src/builder/wizards.ts +1 -1
  77. package/src/builder/workflow-migrate.ts +1 -1
  78. package/src/builder/workingcopies.ts +2 -2
  79. package/src/builder/worksheet.ts +1 -1
  80. package/src/builder/workspace-home.ts +62 -59
  81. package/src/builder/workspaces.ts +2 -1
  82. package/src/runtime/charts.ts +4 -1
  83. package/src/runtime/regions.ts +8 -5
@@ -0,0 +1,675 @@
1
+ // Dutch (Nederlands) builder texts; keys and {placeholders} as in en.ts (sprint 121, WS-7).
2
+ import type { BuilderMessages } from '../i18n.ts';
3
+
4
+ export const nl: BuilderMessages = {
5
+ // ------------------------------------------------------------ common
6
+ 'common.about': 'Over',
7
+ 'common.tasks': 'Taken',
8
+ 'common.learn_more': 'Meer informatie …',
9
+ 'common.search': 'Zoeken',
10
+ 'common.show': 'Tonen',
11
+ 'common.go': 'Ga',
12
+ 'common.next': 'Volgende',
13
+ 'common.save': 'Opslaan',
14
+ 'common.cancel': 'Annuleren',
15
+ 'common.run': 'Uitvoeren',
16
+ 'common.none': 'Geen',
17
+ 'ago.now': 'zojuist',
18
+ 'ago.second': '{n} seconde geleden',
19
+ 'ago.seconds': '{n} seconden geleden',
20
+ 'ago.minute': '{n} minuut geleden',
21
+ 'ago.minutes': '{n} minuten geleden',
22
+ 'ago.hour': '{n} uur geleden',
23
+ 'ago.hours': '{n} uur geleden',
24
+ 'ago.day': '{n} dag geleden',
25
+ 'ago.days': '{n} dagen geleden',
26
+ 'ago.week': '{n} week geleden',
27
+ 'ago.weeks': '{n} weken geleden',
28
+ 'ago.month': '{n} maand geleden',
29
+ 'ago.months': '{n} maanden geleden',
30
+ 'ago.year': '{n} jaar geleden',
31
+ 'ago.years': '{n} jaar geleden',
32
+
33
+ // ------------------------------------------------------------ shell: rail, top bar, user menu, status bar
34
+ 'shell.builder': 'Builder',
35
+ 'shell.skip': 'Naar de inhoud',
36
+ 'shell.logo': 'pgkiln Builder',
37
+ 'shell.logo_home': 'Startpagina van pgkiln Builder',
38
+ 'rail.home': 'Start',
39
+ 'rail.app_builder': 'App Builder',
40
+ 'rail.sql_workshop': 'SQL Workshop',
41
+ 'rail.gallery': 'App-galerij',
42
+ 'rail.reporter': 'Data Reporter',
43
+ 'rail.team': 'Teamontwikkeling',
44
+ 'rail.search_app': 'Deze applicatie doorzoeken',
45
+ 'rail.admin': 'Beheer',
46
+ 'rail.extensions': 'Extensies',
47
+ 'rail.help': 'Help',
48
+ 'admin.utilities': 'Hulpprogramma\'s voor de werkruimte',
49
+ 'admin.manage_service': 'Service beheren: {name}',
50
+ 'admin.ws_message': 'Werkruimtebericht en omgevingsbanner',
51
+ 'admin.ws_prefs': 'Voorkeuren van de werkruimte',
52
+ 'admin.ext_links': 'Extensielinks',
53
+ 'admin.utilization': 'Gebruik van de werkruimte',
54
+ 'admin.mail_queue': 'Mailwachtrij',
55
+ 'admin.network': 'Netwerktoegang',
56
+ 'admin.ws_devs': 'Werkruimte en ontwikkelaars',
57
+ 'admin.users': 'Gebruikers en groepen beheren',
58
+ 'admin.developers': 'Ontwikkelaars',
59
+ 'admin.monitor': 'Activiteit bewaken',
60
+ 'admin.db_users': 'Databasegebruikers',
61
+ 'admin.change_my_password': 'Mijn wachtwoord wijzigen',
62
+ 'nav.users': 'Gebruikers',
63
+ 'user.weak_title': '{user}: wijzig het standaardwachtwoord',
64
+ 'user.account': 'Account: {user}',
65
+ 'user.account_weak': 'Account: {user} (het standaardwachtwoord: wijzig het)',
66
+ 'user.developer': 'Ontwikkelaar',
67
+ 'user.weak_note': 'Je gebruikt het standaardwachtwoord: wijzig het',
68
+ 'user.theme': 'Thema van de builder',
69
+ 'user.theme_dark': 'Donker',
70
+ 'user.theme_light': 'Licht',
71
+ 'user.theme_auto': 'Systeem',
72
+ 'user.change_password': 'Wachtwoord wijzigen',
73
+ 'user.sign_out': 'Afmelden',
74
+ 'bar.back': 'Terug naar {page}',
75
+ 'bar.breadcrumb': 'Kruimelpad',
76
+ 'bar.search_label': 'De builder doorzoeken',
77
+ 'bar.search_placeholder': 'Zoeken (Ctrl+K)',
78
+ 'bar.environment': 'Omgeving',
79
+ 'weak.banner': 'Je bent aangemeld met het standaardwachtwoord. {link}',
80
+ 'weak.change_now': 'Wijzig het nu.',
81
+ 'weak.dismiss': 'Verbergen tot de volgende aanmelding',
82
+ 'status.signed_in_as': 'Aangemeld als',
83
+ 'status.workspace': 'Werkruimte',
84
+ 'status.database': 'Database',
85
+ 'status.language': 'Taal van de builder',
86
+
87
+ // ------------------------------------------------------------ standard errors
88
+ 'error.csrf': 'Ongeldig CSRF-token; laad de pagina opnieuw en probeer het nog eens.',
89
+ 'error.sql_off': 'De SQL Workshop is uitgeschakeld voor de werkruimte {name}. De beheerders ervan kunnen hem inschakelen in de voorkeuren van de werkruimte.',
90
+ 'error.sql_off_switch': 'De SQL Workshop is uitgeschakeld voor de werkruimte {name}. De beheerders ervan kunnen hem inschakelen in de voorkeuren van de werkruimte; of schakel over naar een andere werkruimte.',
91
+ 'error.not_found_title': 'Pagina niet gevonden',
92
+ 'error.not_found_text': 'Op dit adres staat niets in de App Builder. De applicatie of pagina is misschien verwijderd, of hoort bij een werkruimte waarvan je geen lid bent.',
93
+ 'error.server_title': 'Er is iets misgegaan',
94
+ 'error.server_text': 'De App Builder kon deze pagina niet tonen door een fout op de server. De fout is gelogd; probeer het opnieuw, of ga terug.',
95
+ 'error.label_error': 'Fout',
96
+ 'error.label_not_found': 'Niet gevonden',
97
+ 'error.home': 'Startpagina App Builder',
98
+
99
+ // ------------------------------------------------------------ sign-in page
100
+ 'signin.title': 'Aanmelden',
101
+ 'signin.tagline': 'Bouw data-applicaties op PostgreSQL, in SQL die je kunt vertrouwen',
102
+ 'signin.license': 'Open source onder de Apache-2.0-licentie',
103
+ 'signin.welcome': 'Welkom',
104
+ 'signin.intro': 'Meld je aan bij je werkruimte om verder te gaan',
105
+ 'signin.workspace': 'Werkruimte',
106
+ 'signin.workspace_placeholder': 'Werkruimte (optioneel)',
107
+ 'signin.username': 'Gebruikersnaam',
108
+ 'signin.password': 'Wachtwoord',
109
+ 'signin.show': 'Tonen',
110
+ 'signin.hide': 'Verbergen',
111
+ 'signin.remember': 'Werkruimte en gebruikersnaam onthouden',
112
+ 'signin.submit': 'Aanmelden',
113
+ 'signin.hint': 'Laat de werkruimte leeg om je laatste te openen; je kunt later wisselen in je accountmenu.',
114
+ 'signin.quick': 'Snelle acties',
115
+ 'signin.find_ws': 'Mijn werkruimte zoeken',
116
+ 'signin.admin': 'Beheer',
117
+ 'signin.about_ws': 'Over werkruimtes',
118
+ 'signin.languages': 'Taal',
119
+ 'signin.expired': 'Je sessie is verlopen. Probeer het opnieuw.',
120
+ 'signin.throttled': 'Te veel mislukte aanmeldpogingen. Probeer het later opnieuw.',
121
+ 'signin.invalid': 'Ongeldige gebruikersnaam of wachtwoord.',
122
+ 'signin.invalid_ws': 'Ongeldige werkruimte, gebruikersnaam of wachtwoord.',
123
+
124
+ // ------------------------------------------------------------ workspace home
125
+ 'wh.title': 'Startpagina werkruimte',
126
+ 'wh.title_ws': 'Werkruimte {name}',
127
+ 'wh.tools': 'Hulpmiddelen',
128
+ 'wh.card.apps': 'Maak, bewerk en start de applicaties van deze werkruimte.',
129
+ 'wh.card.sql': 'Voer SQL uit, blader door databaseobjecten, laad data en bouw REST-services.',
130
+ 'wh.card.reporter': 'Datasets en rapporten voor zakelijke gebruikers, zonder pagina\'s te bouwen.',
131
+ 'wh.card.gallery': 'Voorbeeld- en starterapplicaties om te installeren.',
132
+ 'wh.message': 'Werkruimtebericht',
133
+ 'wh.message_none': 'Geen bericht voor de ontwikkelaars van {name}.',
134
+ 'wh.message_edit_title': 'Het werkruimtebericht bewerken',
135
+ 'wh.message_edit': 'Bericht bewerken',
136
+ 'wh.message_help': 'Getoond aan de ontwikkelaars van {name}, hier en op de startpagina van de App Builder. Platte tekst, tot 2000 tekens; leeg verwijdert het.',
137
+ 'wh.message_save': 'Bericht opslaan',
138
+ 'wh.summary': 'Overzicht',
139
+ 'wh.stat.app': 'applicatie',
140
+ 'wh.stat.apps': 'applicaties',
141
+ 'wh.stat.table': 'tabel',
142
+ 'wh.stat.tables': 'tabellen',
143
+ 'wh.stat.developer': 'ontwikkelaar',
144
+ 'wh.stat.developers': 'ontwikkelaars',
145
+ 'wh.stat.reporting': 'rapportageapplicatie',
146
+ 'wh.stat.reportings': 'rapportageapplicaties',
147
+ 'wh.activity': 'Activiteit',
148
+ 'wh.timeframe': 'Rapportageperiode',
149
+ 'wh.tf.hour': '1 uur',
150
+ 'wh.tf.day': '1 dag',
151
+ 'wh.tf.week': '1 week',
152
+ 'wh.no_views': 'Geen paginaweergaven in de afgelopen {tf}.',
153
+ 'wh.top_apps': 'Topapplicaties ({tf})',
154
+ 'wh.top_users': 'Topgebruikers ({tf})',
155
+ 'wh.top_devs': 'Topontwikkelaars ({tf})',
156
+ 'wh.top_apps_caption': 'Topapplicaties, afgelopen {tf}',
157
+ 'wh.top_users_caption': 'Topgebruikers, afgelopen {tf}',
158
+ 'wh.top_devs_caption': 'Topontwikkelaars, afgelopen {tf}',
159
+ 'wh.col.app': 'Applicatie',
160
+ 'wh.col.apps': 'Applicaties',
161
+ 'wh.col.views': 'Paginaweergaven',
162
+ 'wh.col.users': 'Gebruikers',
163
+ 'wh.col.user': 'Gebruiker',
164
+ 'wh.col.developer': 'Ontwikkelaar',
165
+ 'wh.system': 'Systeembericht',
166
+ 'wh.available': 'pgkiln {version} is beschikbaar',
167
+ 'wh.server_runs': 'Deze server draait pgkiln {version}.',
168
+ 'wh.server_runs_strong': 'Deze server draait {version}.',
169
+ 'wh.latest': 'Dat is de nieuwste release.',
170
+ 'wh.release_notes': 'Release-opmerkingen',
171
+ 'wh.how_upgrade': 'Zo upgrade je',
172
+ 'wh.upgrade_steps': 'Upgraden: maak een back-up van de database, installeer de nieuwe versie ({npm}, of de Docker-image {docker}), voer {migrate} uit en herstart de server.',
173
+ 'wh.check_off': 'Het controleren op nieuwe versies staat uit.',
174
+ 'wh.check_failed': 'De laatste controle is mislukt ({error}).',
175
+ 'wh.check_failed_older': 'De laatste controle is mislukt ({error}); het resultaat hierboven is ouder.',
176
+ 'wh.checked': '{ago} gecontroleerd.',
177
+ 'wh.checking': 'Controleren op een nieuwe versie…',
178
+ 'wh.check_explain': 'Indien aan, vraagt de server eenmaal per dag aan GitHub ({host}) wat de nieuwste release is; er wordt niets over deze installatie verstuurd.',
179
+ 'wh.check_now': 'Nu controleren',
180
+ 'wh.turn_off': 'Uitschakelen',
181
+ 'wh.check_on': 'Controleren op nieuwe versies',
182
+ 'wh.flash.too_long': 'Het bericht is maximaal 2000 tekens.',
183
+ 'wh.flash.saved': 'Werkruimtebericht opgeslagen.',
184
+ 'wh.flash.removed': 'Werkruimtebericht verwijderd.',
185
+ 'wh.flash.check_daily': 'De server controleert eenmaal per dag op nieuwe versies.',
186
+ 'wh.flash.check_failed': 'De controle is mislukt ({error}).',
187
+ 'wh.flash.checked': 'Gecontroleerd op een nieuwe versie.',
188
+ 'wh.aside': 'Over en meer informatie',
189
+ 'wh.about': 'De startpagina van de werkruimte: de hulpmiddelen, hoe de applicaties worden gebruikt en wat er nieuw is.',
190
+ 'wh.you_work': 'Je werkt in {name}.',
191
+ 'wh.learn_more': 'Meer informatie',
192
+ 'wh.guide': 'De pgkiln-handleiding',
193
+ 'wh.tutorial': 'Tutorial',
194
+ 'wh.from_apex': 'Overstappen vanuit APEX',
195
+ 'wh.whats_new': 'Wat is er nieuw (changelog)',
196
+ 'wh.discussions': 'Discussies',
197
+ 'wh.resources': 'Bronnen',
198
+ 'wh.mcp': 'AI-codeeragents (MCP)',
199
+ 'wh.report_problem': 'Een probleem melden',
200
+ 'team.open': 'Openstaande issues',
201
+ 'team.mine': 'Aan jou toegewezen',
202
+ 'team.mentions': 'Vermeldingen van jou',
203
+ 'team.setup': 'Teamontwikkeling instellen',
204
+
205
+ // ------------------------------------------------------------ App Builder home (the applications)
206
+ 'ab.tile.create': 'Maken',
207
+ 'ab.tile.create_text': 'Maak een nieuwe applicatie in deze werkruimte.',
208
+ 'ab.tile.import': 'Importeren',
209
+ 'ab.tile.import_text': 'Importeer een geëxporteerde applicatie in deze werkruimte.',
210
+ 'ab.tile.dashboard': 'Dashboard',
211
+ 'ab.tile.dashboard_text': 'Bekijk het gebruik, de activiteit en aanmeldproblemen van de werkruimte.',
212
+ 'ab.tile.utilities': 'Hulpprogramma\'s werkruimte',
213
+ 'ab.tile.utilities_text': 'Gebruikers, identiteitsproviders, ontwikkelaars en de SQL Workshop.',
214
+ 'ab.aside': 'Over, recent en taken',
215
+ 'ab.about': 'De App Builder maakt, bewerkt en start de applicaties van deze werkruimte: pagina\'s en regio\'s op je PostgreSQL-tabellen, met aanmelden, rollen en row level security.',
216
+ 'ab.recent': 'Recent',
217
+ 'ab.task.create': 'Applicatie maken',
218
+ 'ab.task.create_file': 'Applicatie maken vanuit een bestand',
219
+ 'ab.task.import': 'Applicatie importeren',
220
+ 'ab.task.users': 'Gebruikers beheren',
221
+ 'ab.task.providers': 'Identiteitsproviders',
222
+ 'ab.none_q': 'Geen applicatie komt overeen met “{q}”.',
223
+ 'ab.none_group': 'Geen applicatie in de groep {group}.',
224
+ 'ab.none_group_q': 'Geen applicatie in de groep {group} komt overeen met “{q}”.',
225
+ 'ab.show_all': 'Alles tonen',
226
+ 'ab.none_yet': 'Nog geen applicaties. {create} of {import}.',
227
+ 'ab.create_one': 'Maak er een',
228
+ 'ab.import_one': 'importeer er een',
229
+ 'ab.pages': "{n} pagina's",
230
+ 'ab.pages_one': '{n} pagina',
231
+ 'ab.views_today': '{n} weergaven vandaag',
232
+ 'ab.by': 'door',
233
+ 'ab.copies': '{n} werkkopieën',
234
+ 'ab.copies_one': '{n} werkkopie',
235
+ 'ab.copies_of': '{copies} van {name}',
236
+ 'ab.locked_by': 'Vergrendeld door {user}',
237
+ 'ab.edit': '{name} bewerken',
238
+ 'ab.run': '{name} uitvoeren',
239
+ 'ab.col.apps': 'Applicaties',
240
+ 'ab.col.app': 'Applicatie',
241
+ 'ab.col.name': 'Naam',
242
+ 'ab.col.alias': 'Alias',
243
+ 'ab.col.pages': "Pagina's",
244
+ 'ab.col.views': 'Weergaven (24u)',
245
+ 'ab.col.signin': 'Aanmelding',
246
+ 'ab.col.updated': 'Bijgewerkt',
247
+ 'ab.col.updated_by': 'Bijgewerkt door',
248
+ 'ab.col.copies': 'Werkkopieën',
249
+ 'ab.col.actions': 'Acties',
250
+ 'ab.auth.none': 'Openbaar',
251
+ 'ab.auth.header': 'HTTP-header',
252
+ 'ab.auth.database': 'Database-accounts',
253
+ 'ab.auth.custom': 'Aangepast',
254
+ 'ab.auth.app_users': 'App-gebruikers',
255
+ 'ab.search_label': 'Applicaties zoeken',
256
+ 'ab.view': 'Weergave',
257
+ 'ab.view_cards': 'Kaarten',
258
+ 'ab.view_report': 'Rapport',
259
+ 'ab.group': 'Applicatiegroep',
260
+ 'ab.all_groups': 'Alle groepen',
261
+ 'ab.actions': 'Acties',
262
+ 'ab.sort_by': 'Sorteren op',
263
+ 'ab.sort.name': 'Naam',
264
+ 'ab.sort.id': 'Applicatie-ID',
265
+ 'ab.sort.alias': 'Alias',
266
+ 'ab.sort.pages': "Meeste pagina's",
267
+ 'ab.sort.updated': 'Recent bijgewerkt',
268
+ 'ab.ws_dashboard': 'Werkruimtedashboard',
269
+ 'ab.count': '{n} applicaties',
270
+ 'ab.count_one': '{n} applicatie',
271
+ 'ab.count_of': '{n} van {total}',
272
+
273
+ // ------------------------------------------------------------ an application's home (pages) and its tabs
274
+ 'app.head.id': 'Applicatie {id}',
275
+ 'app.head.copies': 'Werkkopieën',
276
+ 'app.head.backups': "Back-ups",
277
+ 'app.head.availability': 'Beschikbaarheid',
278
+ 'app.head.export': 'Exporteren',
279
+ 'app.head.tabs': 'Applicatie',
280
+ 'app.tab.pages': "Pagina's",
281
+ 'app.tab.shared': 'Gedeelde componenten',
282
+ 'app.tab.activity': 'Activiteit',
283
+ 'app.tab.api': 'REST-API',
284
+ 'app.tab.settings': 'Instellingen',
285
+ 'app.tab.advisor': 'Adviseur',
286
+ 'app.lock_refused': 'Wijzigingen worden geweigerd tot de vergrendeling is opgeheven.',
287
+ 'app.search_pages': "Pagina's zoeken",
288
+ 'app.search_placeholder': 'Paginanaam of -nummer',
289
+ 'app.view_icons': 'Pictogrammen',
290
+ 'app.create_page': 'Pagina maken',
291
+ 'app.page_group': 'Paginagroep',
292
+ 'app.all_pages': "Alle pagina's",
293
+ 'app.no_group': 'Zonder groep',
294
+ 'app.regions': "{n} regio's",
295
+ 'app.regions_one': '{n} regio',
296
+ 'app.col.page': 'Pagina',
297
+ 'app.col.group': 'Groep',
298
+ 'app.col.mode': 'Modus',
299
+ 'app.col.regions': "Regio's",
300
+ 'app.col.items': 'Items',
301
+ 'app.col.das': 'DA\'s',
302
+ 'app.col.processes': 'Processen',
303
+ 'app.col.authz': 'Autorisatie',
304
+ 'app.col.protection': 'Beveiliging',
305
+ 'app.col.lock': 'Vergrendeling',
306
+ 'app.dev_comments': 'Opmerkingen van ontwikkelaars',
307
+ 'app.comments': '{n} opmerkingen',
308
+ 'app.comments_one': '{n} opmerking',
309
+ 'app.public': 'openbaar',
310
+ 'app.you': 'jij',
311
+ 'app.no_match': 'Geen pagina komt overeen met “{q}”.',
312
+ 'app.lock_region': 'Vergrendeling en opmerkingen van de applicatie',
313
+ 'app.from_table': "Pagina's maken vanuit een tabel",
314
+ 'app.from_table_text': 'Kies een paginatype en een tabel of view; de volgende stap stelt de kolommen, sleutel, datums, posities en foreign keys voor vanuit de database, en maakt de pagina met een menu-item.',
315
+ 'app.page_type': 'Paginatype',
316
+ 'app.table_or_view': 'Tabel of view (mastertabel voor master-detail)',
317
+ 'app.no_access': '{table} (geen toegang voor {role})',
318
+ 'app.ai_pages': "Pagina's maken met AI",
319
+ 'app.ai_pages_note': '(beschrijf ze in je eigen woorden)',
320
+ 'app.blank': 'Lege pagina maken',
321
+ 'app.page_number': 'Paginanummer',
322
+ 'app.parent': 'Bovenliggende in kruimelpad',
323
+ 'app.task.run': 'Applicatie uitvoeren',
324
+ 'app.task.page_groups': 'Paginagroepen',
325
+ 'app.task.supporting': 'Ondersteunende objecten',
326
+ 'app.task.lock': 'De applicatie vergrendelen',
327
+ 'app.task.delete': 'De applicatie verwijderen',
328
+ 'app.page_created': 'Pagina gemaakt.',
329
+
330
+ // ------------------------------------------------------------ Page Designer: toolbar, menus, tree, layout, gallery
331
+ 'pd.designer': 'Page Designer',
332
+ 'pd.h1': 'Page Designer: pagina {n}, {name}',
333
+ 'pd.page_title': 'Pagina {n}: {name}',
334
+ 'pd.page_n_title': 'Pagina {n}',
335
+ 'pd.page_n': 'pagina {n}',
336
+ 'pd.no_page': 'Er is geen pagina {page}.',
337
+ 'pd.pane.tree': 'Boom',
338
+ 'pd.layout': 'Lay-out',
339
+ 'pd.properties': 'Eigenschappen',
340
+ 'pd.components': 'Paginacomponenten',
341
+ 'pd.tab.rendering': 'Weergave',
342
+ 'pd.tab.da': 'Dynamische acties',
343
+ 'pd.tab.processing': 'Verwerking',
344
+ 'pd.tab.shared': 'Gedeelde componenten',
345
+ 'pd.tree.items': 'Items',
346
+ 'pd.tree.buttons': 'Knoppen',
347
+ 'pd.tree.buttons_at': 'Knoppen: {slot}',
348
+ 'pd.tree.no_regions_yet': "Nog geen regio's",
349
+ 'pd.tree.no_regions': "Geen regio's",
350
+ 'pd.tree.pre_rendering': 'Voor weergave (vóór de header)',
351
+ 'pd.tree.no_pre_rendering': 'Geen vertakkingen, berekeningen of processen vóór de weergave',
352
+ 'pd.tree.page_items': 'Pagina-items',
353
+ 'pd.tree.page_buttons': 'Paginaknoppen',
354
+ 'pd.tree.events': 'Gebeurtenissen: {event}',
355
+ 'pd.tree.button_target': 'doel van knop',
356
+ 'pd.tree.after_submit': 'Na verzenden (berekeningen)',
357
+ 'pd.tree.no_computations': 'Geen berekeningen',
358
+ 'pd.tree.validating': 'Valideren',
359
+ 'pd.tree.no_validations': 'Geen validaties',
360
+ 'pd.tree.no_processes': 'Geen processen',
361
+ 'pd.tree.after_processing': 'Na verwerking (vertakkingen)',
362
+ 'pd.tree.no_branches': 'Geen vertakkingen',
363
+ 'pd.event.change': 'Wijziging',
364
+ 'pd.event.click': 'Klik',
365
+ 'pd.event.load': 'Pagina geladen',
366
+ 'pd.event.menu_entry': 'Menu-item gekozen',
367
+ 'pd.event.other': 'Overig',
368
+ 'pd.shared.all': 'Alle gedeelde componenten',
369
+ 'pd.shared.lovs': 'Lijsten van waarden',
370
+ 'pd.shared.authz': 'Autorisatieschema\'s',
371
+ 'pd.shared.nav': 'Navigatiemenu',
372
+ 'pd.shared.app_items': 'Applicatie-items',
373
+ 'pd.badge.authz': 'Autorisatie: {name}',
374
+ 'pd.badge.condition': 'Heeft een voorwaarde',
375
+ 'pd.badge.build_option': 'Build-optie: {name}',
376
+ 'pd.copy.title': 'Kopiëren naar andere pagina',
377
+ 'pd.copy.page': 'Pagina',
378
+ 'pd.copy.help': 'Items met de naam {prefix} krijgen het nummer van de andere pagina; de items en knoppen van een regio gaan mee. Verwijzingen in SQL en voorwaarden worden niet aangepast.',
379
+ 'pd.copy.copy': 'Kopiëren',
380
+ 'pd.slot_title': 'Knoppositie: {slot}',
381
+ 'pd.drag_move': 'Sleep om te verplaatsen',
382
+ 'pd.drag_span': 'Sleep om de kolombreedte te wijzigen',
383
+ 'pd.zone_off': '(niet in deze paginasjabloon: getoond in de body)',
384
+ 'pd.in_position': 'in {position}',
385
+ 'pd.gallery': 'Galerij',
386
+ 'pd.gallery.regions': "Regio's",
387
+ 'pd.gallery_title': '{name}: sleep naar de lay-out, of open om te maken',
388
+ 'pd.zoom_out': 'Uitzoomen',
389
+ 'pd.zoom_in': 'Inzoomen',
390
+ 'pd.maximize': 'De lay-out maximaliseren',
391
+ 'pd.kbd_hint': 'Sleep om te verplaatsen. Toetsenbord: Alt+↑/↓ verplaatst het component met focus, Alt+Shift+←/→ wijzigt de breedte van een regio.',
392
+ 'pd.modal': '(modaal dialoogvenster)',
393
+ 'pd.page_level': 'Paginaniveau (geen regio)',
394
+ 'pd.search_label': 'De pagina\'s en componenten van de applicatie doorzoeken',
395
+ 'pd.search_placeholder': 'bijv. {prefix} of een tabelnaam',
396
+ 'pd.page_search': 'Pagina doorzoeken',
397
+ 'pd.lock_comments': 'Vergrendeling en opmerkingen',
398
+ 'pd.locked': 'vergrendeld',
399
+ 'pd.lock_refused': 'Je wijzigingen worden geweigerd.',
400
+ 'pd.attributes': 'Attributen',
401
+ 'pd.jobs': 'Taken',
402
+ 'pd.not_found': 'Component niet gevonden.',
403
+ 'pd.save_page': 'Pagina opslaan',
404
+ 'pd.delete_page': 'Pagina verwijderen',
405
+ 'pd.delete_page_confirm': 'Pagina {n} en al haar componenten verwijderen?',
406
+ 'pd.filter_label': 'Eigenschappen filteren',
407
+ 'pd.filter': 'Filteren',
408
+ 'pd.help_hint': 'Selecteer een eigenschap om hier de help ervan te zien.',
409
+ 'pd.arrange': 'Schikken',
410
+ 'pd.arrange.up': 'Omhoog',
411
+ 'pd.arrange.up_title': 'Omhoog (eerder in de volgorde)',
412
+ 'pd.arrange.down': 'Omlaag',
413
+ 'pd.arrange.down_title': 'Omlaag (later in de volgorde)',
414
+ 'pd.arrange.narrower': 'Smaller',
415
+ 'pd.arrange.narrower_title': 'Smaller (één kolom minder)',
416
+ 'pd.arrange.wider': 'Breder',
417
+ 'pd.arrange.wider_title': 'Breder (één kolom meer)',
418
+ 'pd.arrange.span': 'Kolombreedte',
419
+ 'pd.arrange.to_region': 'Naar regio verplaatsen',
420
+ 'pd.arrange.move': 'Verplaatsen',
421
+ 'pd.arrange.move_title': 'Naar het einde van deze regio verplaatsen',
422
+ 'pd.arrange.page_level': '- paginaniveau -',
423
+ 'pd.menu.create': 'Maken',
424
+ 'pd.menu.page_item': 'Pagina-item',
425
+ 'pd.menu.page': 'Pagina…',
426
+ 'pd.menu.utilities': 'Hulpprogramma\'s',
427
+ 'pd.menu.search_items': 'De items van deze pagina doorzoeken',
428
+ 'pd.menu.all_pages': "Alle pagina's",
429
+ 'pd.menu.export': 'Applicatie exporteren',
430
+ 'pd.prev': 'Vorige pagina',
431
+ 'pd.prev_title': 'Vorige pagina: {n}. {name}',
432
+ 'pd.next': 'Volgende pagina',
433
+ 'pd.next_title': 'Volgende pagina: {n}. {name}',
434
+ 'pd.goto_no': 'Paginanummer (Enter gaat erheen)',
435
+ 'pd.goto_no_title': 'Paginanummer: typ of stap naar een nummer, dan Enter',
436
+ 'pd.goto': 'Naar pagina',
437
+ 'pd.history': 'Geschiedenis',
438
+ 'pd.undo': 'Ongedaan maken',
439
+ 'pd.redo': 'Opnieuw',
440
+ 'pd.nothing_undo': 'Niets om ongedaan te maken',
441
+ 'pd.nothing_redo': 'Niets om opnieuw te doen',
442
+ 'pd.save_title': 'De eigenschappen opslaan',
443
+ 'pd.run_title': 'Pagina {n} uitvoeren',
444
+ 'pd.page_saved': 'Pagina opgeslagen.',
445
+ 'pd.page_deleted': 'Pagina verwijderd.',
446
+ // the page's components (COMPONENTS in components.ts), per kind
447
+ 'comp.region': 'Regio',
448
+ 'comp.region.plural': "Regio's",
449
+ 'comp.item': 'Item',
450
+ 'comp.item.plural': 'Items',
451
+ 'comp.button': 'Knop',
452
+ 'comp.button.plural': 'Knoppen',
453
+ 'comp.dynamic_action': 'Dynamische actie',
454
+ 'comp.validation': 'Validatie',
455
+ 'comp.process': 'Proces',
456
+ 'comp.computation': 'Berekening',
457
+ 'comp.branch': 'Vertakking',
458
+ 'pd.new.region': 'Nieuwe regio',
459
+ 'pd.new.item': 'Nieuw item',
460
+ 'pd.new.button': 'Nieuwe knop',
461
+ 'pd.new.dynamic_action': 'Nieuwe dynamische actie',
462
+ 'pd.new.validation': 'Nieuwe validatie',
463
+ 'pd.new.process': 'Nieuw proces',
464
+ 'pd.new.computation': 'Nieuwe berekening',
465
+ 'pd.new.branch': 'Nieuwe vertakking',
466
+ 'pd.create.region': 'Regio maken',
467
+ 'pd.create.item': 'Item maken',
468
+ 'pd.create.button': 'Knop maken',
469
+ 'pd.create.dynamic_action': 'Dynamische actie maken',
470
+ 'pd.create.validation': 'Validatie maken',
471
+ 'pd.create.process': 'Proces maken',
472
+ 'pd.create.computation': 'Berekening maken',
473
+ 'pd.create.branch': 'Vertakking maken',
474
+ 'pd.delete.region': 'Regio verwijderen',
475
+ 'pd.delete.item': 'Item verwijderen',
476
+ 'pd.delete.button': 'Knop verwijderen',
477
+ 'pd.delete.dynamic_action': 'Dynamische actie verwijderen',
478
+ 'pd.delete.validation': 'Validatie verwijderen',
479
+ 'pd.delete.process': 'Proces verwijderen',
480
+ 'pd.delete.computation': 'Berekening verwijderen',
481
+ 'pd.delete.branch': 'Vertakking verwijderen',
482
+ 'pd.delete_confirm.region': 'Deze regio verwijderen?',
483
+ 'pd.delete_confirm.item': 'Dit item verwijderen?',
484
+ 'pd.delete_confirm.button': 'Deze knop verwijderen?',
485
+ 'pd.delete_confirm.dynamic_action': 'Deze dynamische actie verwijderen?',
486
+ 'pd.delete_confirm.validation': 'Deze validatie verwijderen?',
487
+ 'pd.delete_confirm.process': 'Dit proces verwijderen?',
488
+ 'pd.delete_confirm.computation': 'Deze berekening verwijderen?',
489
+ 'pd.delete_confirm.branch': 'Deze vertakking verwijderen?',
490
+ 'pd.saved.region': 'Regio opgeslagen.',
491
+ 'pd.saved.item': 'Item opgeslagen.',
492
+ 'pd.saved.button': 'Knop opgeslagen.',
493
+ 'pd.saved.dynamic_action': 'Dynamische actie opgeslagen.',
494
+ 'pd.saved.validation': 'Validatie opgeslagen.',
495
+ 'pd.saved.process': 'Proces opgeslagen.',
496
+ 'pd.saved.computation': 'Berekening opgeslagen.',
497
+ 'pd.saved.branch': 'Vertakking opgeslagen.',
498
+ 'pd.deleted.region': 'Regio verwijderd.',
499
+ 'pd.deleted.item': 'Item verwijderd.',
500
+ 'pd.deleted.button': 'Knop verwijderd.',
501
+ 'pd.deleted.dynamic_action': 'Dynamische actie verwijderd.',
502
+ 'pd.deleted.validation': 'Validatie verwijderd.',
503
+ 'pd.deleted.process': 'Proces verwijderd.',
504
+ 'pd.deleted.computation': 'Berekening verwijderd.',
505
+ 'pd.deleted.branch': 'Vertakking verwijderd.',
506
+ // display positions (POSITION_LABELS) and region button positions (SLOT_LABELS) in arrange.ts
507
+ 'pos.banner': 'Banner',
508
+ 'pos.breadcrumb': 'Kruimelpadbalk',
509
+ 'pos.left': 'Linkerkolom',
510
+ 'pos.body': 'Body',
511
+ 'pos.right': 'Rechterkolom',
512
+ 'pos.footer': 'Voettekst',
513
+ 'slot.region': 'Regioknoppen',
514
+ 'slot.create': 'Maken',
515
+ 'slot.edit': 'Bewerken',
516
+ 'slot.change': 'Wijzigen',
517
+ 'slot.copy': 'Kopiëren',
518
+ 'slot.help': 'Help',
519
+ 'slot.up': 'Omhoog',
520
+ 'slot.previous': 'Vorige',
521
+ 'slot.close': 'Sluiten',
522
+ 'slot.delete': 'Verwijderen',
523
+ 'slot.next': 'Volgende',
524
+ // the gallery (REGION_LABELS, ITEM_LABELS, BUTTON_LABELS in arrange.ts)
525
+ 'gallery.region.report': 'Interactief rapport',
526
+ 'gallery.region.grid': 'Interactief raster',
527
+ 'gallery.region.form': 'Formulier',
528
+ 'gallery.region.chart': 'Grafiek',
529
+ 'gallery.region.cards': 'Kaarten',
530
+ 'gallery.region.calendar': 'Kalender',
531
+ 'gallery.region.facets': 'Gefacetteerd zoeken',
532
+ 'gallery.region.smart_filters': 'Slimme filters',
533
+ 'gallery.region.display_selector': 'Regioweergavekiezer',
534
+ 'gallery.region.tasks': 'Takenlijst',
535
+ 'gallery.region.workflows': 'Workflowconsole',
536
+ 'gallery.region.map': 'Kaart',
537
+ 'gallery.region.tree': 'Boom',
538
+ 'gallery.region.static': 'Statische inhoud',
539
+ 'gallery.region.dynamic': 'Dynamische inhoud',
540
+ 'gallery.region.template_component': 'Sjablooncomponent',
541
+ 'gallery.region.list': 'Lijst',
542
+ 'gallery.region.data_reporter': 'Data Reporter',
543
+ 'gallery.region.form_designer': 'Formulierontwerper',
544
+ 'gallery.region.ai_assistant': 'AI-assistent',
545
+ 'gallery.region.url': 'URL',
546
+ 'gallery.region.search': 'Zoeken',
547
+ 'gallery.region.login': 'Aanmelden',
548
+ 'gallery.region.plugin': 'Plug-in',
549
+ 'gallery.item.text': 'Tekstveld',
550
+ 'gallery.item.textarea': 'Tekstgebied',
551
+ 'gallery.item.number': 'Getalveld',
552
+ 'gallery.item.date': 'Datumkiezer',
553
+ 'gallery.item.datetime': 'Datum en tijd',
554
+ 'gallery.item.select': 'Keuzelijst',
555
+ 'gallery.item.popup_lov': 'Popup-LOV',
556
+ 'gallery.item.radio': 'Keuzerondjes',
557
+ 'gallery.item.checkbox': 'Selectievakje',
558
+ 'gallery.item.switch': 'Schakelaar',
559
+ 'gallery.item.checkbox_group': 'Groep selectievakjes',
560
+ 'gallery.item.multiselect': 'Meervoudige selectie',
561
+ 'gallery.item.email': 'E-mailadres',
562
+ 'gallery.item.tel': 'Telefoonnummer',
563
+ 'gallery.item.url': 'URL',
564
+ 'gallery.item.color': 'Kleurkiezer',
565
+ 'gallery.item.file': 'Bestand uploaden',
566
+ 'gallery.item.location': 'Locatie',
567
+ 'gallery.item.richtext': 'Opgemaakte-teksteditor',
568
+ 'gallery.item.markdown': 'Markdown-editor',
569
+ 'gallery.item.rating': 'Sterrenbeoordeling',
570
+ 'gallery.item.combobox': 'Combobox (tags)',
571
+ 'gallery.item.daterange': 'Datumbereik',
572
+ 'gallery.item.qrcode': 'QR-code',
573
+ 'gallery.item.image': 'Afbeelding tonen',
574
+ 'gallery.item.address': 'Gegeocodeerd adres',
575
+ 'gallery.item.hidden': 'Verborgen',
576
+ 'gallery.item.display': 'Alleen weergeven',
577
+ 'gallery.item.password': 'Wachtwoord',
578
+ 'gallery.item.plugin': 'Plug-in',
579
+ 'gallery.button.submit': 'Pagina verzenden',
580
+ 'gallery.button.redirect': 'Naar pagina omleiden',
581
+ 'gallery.button.da': 'Dynamische actie',
582
+ 'gallery.button.document': 'Document downloaden',
583
+ 'gallery.button.menu': 'Menu',
584
+
585
+ // ------------------------------------------------------------ SQL Workshop: home (Launchpad) and tabs
586
+ 'sw.more': 'Meer',
587
+ 'sw.aside': 'Over, schema en taken',
588
+ 'sw.about': 'De SQL Workshop is een verzameling hulpmiddelen om databaseobjecten te beheren. Hij draait als {role}.',
589
+ 'sw.schema': 'Schema',
590
+ 'sw.schema_text': 'Het standaardschema van deze sessie: eerste in het zoekpad van het SQL-werkblad en de SQL-scripts.',
591
+ 'sw.default_path': '(het standaardzoekpad)',
592
+ 'sw.set': 'Instellen',
593
+ 'sw.task.quicksql': 'Een datamodel maken met Quick SQL',
594
+ 'sw.task.blueprint': 'Een applicatie maken vanuit een blauwdruk',
595
+ 'sw.task.describe': 'Tabellen beschrijven',
596
+ 'sw.task.sample': 'Voorbeelddata genereren',
597
+ 'sw.task.ddl': 'DDL genereren',
598
+ 'sw.recent_tables': 'Recent gemaakte tabellen',
599
+ 'sw.rows': '~{n} rijen',
600
+ 'sw.no_tables': 'Geen tabellen die je kunt lezen.',
601
+ 'sw.history_title': 'SQL-geschiedenis openen',
602
+ 'sw.recent_commands': 'Recente SQL-opdrachten',
603
+ 'sw.no_commands': 'Je hebt nog geen SQL-opdrachten uitgevoerd.',
604
+ 'sw.recent_scripts': 'Recente SQL-scripts',
605
+ 'sw.no_scripts': 'Nog geen scripts in deze werkruimte.',
606
+ 'sw.flash.schema': 'Schema {schema} staat eerst in het zoekpad van het SQL-werkblad en de SQL-scripts.',
607
+ 'sw.flash.default_path': 'Weer het standaardzoekpad.',
608
+ 'sw.pinned': 'Vastgezet en recent bezocht',
609
+ 'sw.pin_hint': 'Zet een hulpmiddel, een object of een opgeslagen werkblad vast met {pin} om het hier te houden.',
610
+ 'sw.recent': 'Recent bezocht',
611
+ 'sw.pin_title': 'Vastzetten op de startpagina van de SQL Workshop',
612
+ 'sw.unpin': 'Losmaken',
613
+ 'sw.pin_what': '{what} vastzetten',
614
+ 'sw.unpin_what': '{what} losmaken',
615
+ // the Launchpad's groups (TOOL_GROUPS) and tools (SQL_TOOLS in sql-tools.ts: sql.tool.<key>, .desc)
616
+ 'sql.group.development': 'Ontwikkeling',
617
+ 'sql.group.administration': 'Beheer',
618
+ 'sql.group.monitoring': 'Bewaking',
619
+ 'sql.tool.worksheet': 'SQL-werkblad',
620
+ 'sql.tool.worksheet.desc': 'Voer statements en scripts uit, met een navigator, plannen, resultaten en geschiedenis.',
621
+ 'sql.tool.objects': 'Objectbrowser',
622
+ 'sql.tool.objects.desc': 'Tabellen, views en functies met hun kolommen, data, sleutels, policies en DDL.',
623
+ 'sql.tool.scripts': 'SQL-scripts',
624
+ 'sql.tool.scripts.desc': 'Opgeslagen scripts van de werkruimte: uploaden, uitvoeren, downloaden, uitvoergeschiedenis.',
625
+ 'sql.tool.table': 'Tabel maken',
626
+ 'sql.tool.table.desc': 'Een nieuwe tabel via een formulier: kolommen, sleutels, indexen en beveiliging.',
627
+ 'sql.tool.charts': 'Grafieken',
628
+ 'sql.tool.charts.desc': 'Query\'s getekend als grafieken, en een dashboard ervan.',
629
+ 'sql.tool.quicksql': 'Quick SQL',
630
+ 'sql.tool.quicksql.desc': 'Een datamodel in verkorte notatie, omgezet in DDL.',
631
+ 'sql.tool.query': 'Querybouwer',
632
+ 'sql.tool.query.desc': 'Een query uit tabellen en hun joins, getekend.',
633
+ 'sql.tool.load': 'Data laden',
634
+ 'sql.tool.load.desc': 'CSV, Excel, JSON of XML in een nieuwe of bestaande tabel.',
635
+ 'sql.tool.unload': 'Data uitladen',
636
+ 'sql.tool.unload.desc': 'Een tabel, view of query als CSV, JSON, Excel, XML of SQL-inserts.',
637
+ 'sql.tool.sample': 'Voorbeelddata',
638
+ 'sql.tool.sample.desc': 'Rijen die echt lijken, voor ontwikkeling.',
639
+ 'sql.tool.ddl': 'DDL genereren',
640
+ 'sql.tool.ddl.desc': 'De objecten van een schema als één script.',
641
+ 'sql.tool.compare': 'Schemavergelijking',
642
+ 'sql.tool.compare.desc': 'De verschillen tussen twee schema\'s, en de SQL om ze gelijk te trekken.',
643
+ 'sql.tool.changes': 'Wijzigingslog',
644
+ 'sql.tool.changes.desc': 'Hier uitgevoerde DDL als wijzigingssets per schema; te downloaden als Flyway-, Liquibase- of SQL-migraties.',
645
+ 'sql.tool.modeler': 'Datamodelleur',
646
+ 'sql.tool.modeler.desc': 'Relationele diagrammen van tabellen en hun foreign keys; DDL en een datadictionary daaruit.',
647
+ 'sql.tool.rest': 'RESTful-services',
648
+ 'sql.tool.rest.desc': 'REST-modules, -templates en -handlers; tabellen en views als REST-endpoints (AutoREST); OpenAPI.',
649
+ 'sql.tool.ai': 'AI',
650
+ 'sql.tool.ai.desc': 'SQL vanuit een vraag, uitleg en tabelbeschrijvingen.',
651
+ 'sql.tool.utilities': 'Hulpprogramma\'s',
652
+ 'sql.tool.utilities.desc': 'Objectrapporten, Over de database en de andere hulpprogramma\'s.',
653
+ 'sql.tool.backups': 'Back-ups beheren',
654
+ 'sql.tool.backups.desc': 'Back-ups van de applicaties van de werkruimte.',
655
+ 'sql.tool.workspaces': 'Werkruimtes',
656
+ 'sql.tool.workspaces.desc': 'Werkruimtes, hun ontwikkelaars en databaserollen.',
657
+ 'sql.tool.dbusers': 'Databasegebruikers',
658
+ 'sql.tool.dbusers.desc': 'PostgreSQL-rollen: aanmelden, verloop, lidmaatschappen en schemaprivileges.',
659
+ 'sql.tool.datapump': 'Schema exporteren / importeren',
660
+ 'sql.tool.datapump.desc': 'Een schema naar een bestand met pg_dump, een bestand in een schema met pg_restore (Data Pump).',
661
+ 'sql.tool.scheduling': 'Planning',
662
+ 'sql.tool.scheduling.desc': 'pg_cron-jobs: SQL volgens een schema, volgende uitvoeringen, uitvoergeschiedenis; de automatiseringen van pgkiln zonder pg_cron.',
663
+ 'sql.tool.developers': 'Ontwikkelaars',
664
+ 'sql.tool.developers.desc': 'Builder-accounts en hun werkruimtes.',
665
+ 'sql.tool.monitor': 'SQL-monitor',
666
+ 'sql.tool.monitor.desc': 'Sessies live: wat ze uitvoeren, waarop ze wachten en wat ze blokkeert; annuleren of beëindigen.',
667
+ 'sql.tool.topsql': 'Top-SQL',
668
+ 'sql.tool.topsql.desc': 'De traagste en vaakst aangeroepen statements van de database, met hun plannen.',
669
+ 'sql.tool.about': 'Over de database',
670
+ 'sql.tool.about.desc': 'De server: versie, instellingen, extensies en groottes.',
671
+ 'sql.tool.reports': 'Objectrapporten',
672
+ 'sql.tool.reports.desc': 'Tabellen zonder sleutels, foreign keys zonder index, gaten in row level security en meer.',
673
+ 'sql.tool.activity': 'Activiteit bewaken',
674
+ 'sql.tool.activity.desc': 'Paginaweergaven, fouten en trage pagina\'s van de applicaties.',
675
+ };