pgkiln 0.80.0 → 0.81.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.
- package/db/migrations/146_database_model_providers.sql +53 -0
- package/docs/apex-feature-parity.md +3 -3
- package/docs/guide/03-builder.md +13 -3
- package/package.json +1 -1
- package/src/ai/embeddings.ts +20 -7
- package/src/builder/db-users.ts +124 -118
- package/src/builder/home.ts +42 -40
- package/src/builder/i18n/de.ts +429 -0
- package/src/builder/i18n/en.ts +429 -0
- package/src/builder/i18n/es.ts +429 -0
- package/src/builder/i18n/fr.ts +429 -0
- package/src/builder/i18n/it.ts +429 -0
- package/src/builder/i18n/ja.ts +429 -0
- package/src/builder/i18n/ko.ts +429 -0
- package/src/builder/i18n/nl.ts +429 -0
- package/src/builder/i18n/pt.ts +429 -0
- package/src/builder/i18n/zh-cn.ts +429 -0
- package/src/builder/i18n/zh-tw.ts +429 -0
- package/src/builder/instance.ts +27 -23
- package/src/builder/ldap.ts +50 -47
- package/src/builder/mail-queue.ts +50 -45
- package/src/builder/network-access.ts +46 -43
- package/src/builder/vector-column.ts +3 -3
- package/src/builder/vector-providers.ts +16 -5
- package/src/vector.ts +3 -3
package/src/builder/i18n/en.ts
CHANGED
|
@@ -1962,4 +1962,433 @@ export const en = {
|
|
|
1962
1962
|
'us.mfa_reset_help': 'Removes the authenticator apps and recovery codes of {user} and signs them out everywhere. Where an application requires two-factor sign-in, they add a new app at their next sign-in. Logged.',
|
|
1963
1963
|
'us.mfa_reset_done': 'Two-factor sign-in of {user} was reset.',
|
|
1964
1964
|
'us.mfa_reason_needed': 'Give a reason for the reset.',
|
|
1965
|
+
// ------------------------------------------------------------ Mail queue (sprint 152)
|
|
1966
|
+
'mq.title': 'Mail queue',
|
|
1967
|
+
'mq.refused': 'Only administrators and workspace administrators see the mail queue.',
|
|
1968
|
+
'mq.period.24': 'Last 24 hours',
|
|
1969
|
+
'mq.period.48': 'Last 48 hours',
|
|
1970
|
+
'mq.period.168': 'Last 7 days',
|
|
1971
|
+
'mq.period': 'Period',
|
|
1972
|
+
'mq.workspace': 'Workspace',
|
|
1973
|
+
'mq.all_workspaces': 'All workspaces',
|
|
1974
|
+
'mq.app': 'Application',
|
|
1975
|
+
'mq.all_apps': 'All applications',
|
|
1976
|
+
'mq.intro_ws': 'Delivery of the mail of workspace {workspace}: what was queued, sent and failed, which mail is being retried, how long the providers took, and the failures with the provider\'s answer. Mail is kept 30 days.',
|
|
1977
|
+
'mq.intro_all': 'Delivery of the mail of every workspace: what was queued, sent and failed, which mail is being retried, how long the providers took, and the failures with the provider\'s answer. Mail is kept 30 days.',
|
|
1978
|
+
'mq.only_yours': 'You see your workspace\'s applications only.',
|
|
1979
|
+
'mq.stat.queued': 'queued now',
|
|
1980
|
+
'mq.stat.retrying': 'retrying now',
|
|
1981
|
+
'mq.stat.sending': 'being sent',
|
|
1982
|
+
'mq.stat.sent': 'sent',
|
|
1983
|
+
'mq.stat.failed': 'failed',
|
|
1984
|
+
'mq.stat.delivered': 'delivered',
|
|
1985
|
+
'mq.stat.avg': 'average provider call',
|
|
1986
|
+
'mq.per_hour': 'Per hour',
|
|
1987
|
+
'mq.col.hour': 'Hour (UTC)',
|
|
1988
|
+
'mq.col.hour_short': 'Hour',
|
|
1989
|
+
'mq.col.queued': 'Queued',
|
|
1990
|
+
'mq.col.sent': 'Sent',
|
|
1991
|
+
'mq.col.failed': 'Failed',
|
|
1992
|
+
'mq.col.retrying': 'Retrying',
|
|
1993
|
+
'mq.none_period': 'No mail in this period.',
|
|
1994
|
+
'mq.slowest': 'Slowest provider calls',
|
|
1995
|
+
'mq.col.when': 'When (UTC)',
|
|
1996
|
+
'mq.col.when_short': 'When',
|
|
1997
|
+
'mq.col.service': 'Service',
|
|
1998
|
+
'mq.col.status': 'Status',
|
|
1999
|
+
'mq.col.time': 'Time',
|
|
2000
|
+
'mq.status.sent': 'sent',
|
|
2001
|
+
'mq.status.error': 'error',
|
|
2002
|
+
'mq.status.retrying': 'retrying',
|
|
2003
|
+
'mq.status.sending': 'sending',
|
|
2004
|
+
'mq.status.cancelled': 'cancelled',
|
|
2005
|
+
'mq.none_calls': 'No provider calls in this period.',
|
|
2006
|
+
'mq.per_app': 'Per workspace and application',
|
|
2007
|
+
'mq.col.average': 'Average',
|
|
2008
|
+
'mq.col.slowest': 'Slowest',
|
|
2009
|
+
'mq.failures': 'Failures',
|
|
2010
|
+
'mq.failures_intro': 'Mail that will not be tried again: the provider refused it, or it failed {n} times. {retry} queues it again with fresh attempts; {purge} deletes it.',
|
|
2011
|
+
'mq.col.failed_at': 'Failed (UTC)',
|
|
2012
|
+
'mq.col.to': 'To',
|
|
2013
|
+
'mq.col.subject': 'Subject',
|
|
2014
|
+
'mq.col.answer': 'Provider\'s answer',
|
|
2015
|
+
'mq.col.actions': 'Actions',
|
|
2016
|
+
'mq.queued_at': 'queued {when}',
|
|
2017
|
+
'mq.attempts_one': '{n} attempt',
|
|
2018
|
+
'mq.attempts': '{n} attempts',
|
|
2019
|
+
'mq.retry': 'Retry',
|
|
2020
|
+
'mq.purge': 'Purge',
|
|
2021
|
+
'mq.purge_confirm': 'Delete this mail?',
|
|
2022
|
+
'mq.none_failed': 'No failed mail.',
|
|
2023
|
+
'mq.retry_all': 'Retry all failed',
|
|
2024
|
+
'mq.purge_all': 'Purge all failed',
|
|
2025
|
+
'mq.purge_all_confirm': 'Delete every failed mail shown here?',
|
|
2026
|
+
'mq.requeued': 'The mail is queued again.',
|
|
2027
|
+
'mq.changed': 'The mail has changed meanwhile.',
|
|
2028
|
+
'mq.deleted': 'The mail is deleted.',
|
|
2029
|
+
'mq.only_done': 'Only sent, failed or cancelled mail can be purged.',
|
|
2030
|
+
'mq.n_requeued_one': '{n} mail queued again.',
|
|
2031
|
+
'mq.n_requeued': '{n} mails queued again.',
|
|
2032
|
+
'mq.n_deleted_one': '{n} mail deleted.',
|
|
2033
|
+
'mq.n_deleted': '{n} mails deleted.',
|
|
2034
|
+
// ------------------------------------------------------------ Network access (sprint 152)
|
|
2035
|
+
'na.title': 'Network access',
|
|
2036
|
+
'na.refused': 'Only administrators and workspace administrators manage network access.',
|
|
2037
|
+
'na.none': 'None.',
|
|
2038
|
+
'na.url_invalid': 'The URL is not valid.',
|
|
2039
|
+
'na.url_ok': '{host} may be called by this workspace\'s applications (the address it resolves to is checked when the call is made).',
|
|
2040
|
+
'na.intro': 'Which web services the applications may call: {web_request}, REST data sources, the Invoke API process and workflow step, web credential token endpoints, object storage and REST source catalogs. The installation\'s list applies to every workspace; a workspace\'s own list can only narrow it, never widen it. Private and loopback addresses stay refused unless the installation allows them, whatever a workspace lists.',
|
|
2041
|
+
'na.workspace': 'Workspace {name}',
|
|
2042
|
+
'na.outgoing': 'Outgoing calls of this workspace\'s applications',
|
|
2043
|
+
'na.any_host': 'Any host the installation allows',
|
|
2044
|
+
'na.only_hosts': 'Only the hosts below (and the installation must allow them too)',
|
|
2045
|
+
'na.hosts': 'Hosts',
|
|
2046
|
+
'na.hosts_help': 'One per line: {a}, {b} for its subdomains, {c} for one port only. No scheme or path. Restricted with no hosts: no outgoing calls at all.',
|
|
2047
|
+
'na.unreachable': 'Not on the installation\'s list, so never reachable: {hosts}.',
|
|
2048
|
+
'na.servers_on_hosts': 'Remote servers on these hosts: {list}.',
|
|
2049
|
+
'na.save': 'Save',
|
|
2050
|
+
'na.installation': 'Installation',
|
|
2051
|
+
'na.installation_note': 'Set in the server\'s environment by its administrators ({env}).',
|
|
2052
|
+
'na.any_public': 'Any public host ({star}).',
|
|
2053
|
+
'na.private': 'Private hosts',
|
|
2054
|
+
'na.private_note': 'Hosts on private or loopback addresses that may be called ({env}).',
|
|
2055
|
+
'na.servers': 'Remote servers',
|
|
2056
|
+
'na.servers_intro': 'The hosts this workspace\'s {link} stand for now: the REST data sources, catalogs and AI services on a server call this host.',
|
|
2057
|
+
'na.servers_link': 'remote servers',
|
|
2058
|
+
'na.col.server': 'Server',
|
|
2059
|
+
'na.col.host': 'Host',
|
|
2060
|
+
'na.col.from': 'From',
|
|
2061
|
+
'na.col.called': 'Would be called',
|
|
2062
|
+
'na.host_none': 'none',
|
|
2063
|
+
'na.base_url': 'base URL',
|
|
2064
|
+
'na.no': 'no',
|
|
2065
|
+
'na.yes': 'yes',
|
|
2066
|
+
'na.no_servers': 'No remote servers.',
|
|
2067
|
+
'na.check': 'Check a URL',
|
|
2068
|
+
'na.url': 'URL',
|
|
2069
|
+
'na.check_btn': 'Check',
|
|
2070
|
+
'na.check_note': 'Nothing is called: this applies the lists to the URL as they are now.',
|
|
2071
|
+
'na.workspaces': 'Workspaces',
|
|
2072
|
+
'na.col.workspace': 'Workspace',
|
|
2073
|
+
'na.col.outgoing': 'Outgoing calls',
|
|
2074
|
+
'na.n_hosts_one': '{n} host',
|
|
2075
|
+
'na.n_hosts': '{n} hosts',
|
|
2076
|
+
'na.inst_list': 'the installation\'s list',
|
|
2077
|
+
'na.ws_list': 'the workspace\'s list',
|
|
2078
|
+
'na.refusals': 'Refused calls',
|
|
2079
|
+
'na.refusals_intro': 'The last 100 calls of this workspace that a list refused (kept 7 days). The application\'s debug log has them too.',
|
|
2080
|
+
'na.col.when': 'When (UTC)',
|
|
2081
|
+
'na.col.when_short': 'When',
|
|
2082
|
+
'na.col.app': 'Application',
|
|
2083
|
+
'na.col.call': 'Call',
|
|
2084
|
+
'na.col.refused_by': 'Refused by',
|
|
2085
|
+
'na.no_refusals': 'No refused calls.',
|
|
2086
|
+
'na.saved_only': 'Saved: this workspace\'s applications call only these hosts.',
|
|
2087
|
+
'na.saved_none': 'Saved: this workspace\'s applications call no hosts at all.',
|
|
2088
|
+
'na.saved_inst': 'Saved: the installation\'s list applies.',
|
|
2089
|
+
// ------------------------------------------------------------ Workspace utilities and dashboard (sprint 152)
|
|
2090
|
+
'wu.title': 'Workspace utilities',
|
|
2091
|
+
'wu.users': 'Users',
|
|
2092
|
+
'wu.users_text': 'Accounts of the people who use the applications, and their access.',
|
|
2093
|
+
'wu.app_groups': 'Application groups',
|
|
2094
|
+
'wu.app_groups_text': 'Organise the applications of this workspace into groups.',
|
|
2095
|
+
'wu.gallery': 'App Gallery',
|
|
2096
|
+
'wu.gallery_text': 'Sample and starter applications to install, and this workspace\'s boilerplates.',
|
|
2097
|
+
'wu.providers': 'Identity providers',
|
|
2098
|
+
'wu.providers_text': 'OpenID Connect and SAML sign-in.',
|
|
2099
|
+
'wu.ldap': 'LDAP directories',
|
|
2100
|
+
'wu.ldap_text': 'Sign in with directory accounts.',
|
|
2101
|
+
'wu.password_policy': 'Password policy',
|
|
2102
|
+
'wu.password_policy_text': 'Length, complexity and lifetime of passwords.',
|
|
2103
|
+
'wu.developers': 'Developers',
|
|
2104
|
+
'wu.developers_text': 'Who may use this builder.',
|
|
2105
|
+
'wu.sql': 'SQL Workshop',
|
|
2106
|
+
'wu.sql_text': 'Run SQL, browse objects and load data.',
|
|
2107
|
+
'wu.backups': 'Manage backups',
|
|
2108
|
+
'wu.backups_text': 'The backups of every application of this workspace; back them all up at once.',
|
|
2109
|
+
'wu.files': 'Static workspace files',
|
|
2110
|
+
'wu.files_text': 'CSS, JavaScript, images and fonts every application of this workspace can load ({tag}).',
|
|
2111
|
+
'wu.servers': 'Remote servers',
|
|
2112
|
+
'wu.servers_text': 'Named base URLs for REST data sources, catalogs and AI services: change one value to move them all.',
|
|
2113
|
+
'wu.remote_dbs': 'Remote databases',
|
|
2114
|
+
'wu.remote_dbs_text': 'Another PostgreSQL database\'s tables as foreign tables (postgres_fdw) the applications query like their own (administrators).',
|
|
2115
|
+
'wu.credentials': 'Web credentials',
|
|
2116
|
+
'wu.credentials_text': 'Keys and OAuth2 clients the applications of this workspace use by name (secrets encrypted, write-only).',
|
|
2117
|
+
'wu.catalogs': 'REST Source Catalogs',
|
|
2118
|
+
'wu.catalogs_text': 'Web services described once for the workspace (e.g. from an OpenAPI document); applications make REST data sources from them.',
|
|
2119
|
+
'wu.export': 'Export and import',
|
|
2120
|
+
'wu.export_text': 'This workspace\'s components as one file: settings, developers, groups, links, catalogs, scripts, blueprints (workspace administrators).',
|
|
2121
|
+
'wu.dashboard': 'Dashboard',
|
|
2122
|
+
'wu.dashboard_text': 'Usage and problems across the workspace.',
|
|
2123
|
+
'wu.instance': 'Instance settings',
|
|
2124
|
+
'wu.instance_text': 'Session length, sign-in throttling and the server\'s configuration (administrators).',
|
|
2125
|
+
'wu.workspaces': 'Workspaces',
|
|
2126
|
+
'wu.workspaces_text': 'Groups of applications and their developers (administrators).',
|
|
2127
|
+
'wu.workspace': 'Workspace {name}',
|
|
2128
|
+
'wu.workspace_text': 'Its name, developers, preferences and extension links (workspace administrators).',
|
|
2129
|
+
'wu.ui_defaults': 'UI defaults',
|
|
2130
|
+
'wu.ui_defaults_text': 'Labels, format masks, help and lists of values per table column, used by the page wizards.',
|
|
2131
|
+
'wu.icons': 'Icons',
|
|
2132
|
+
'wu.icons_text': 'Browse the icons of the icon picker.',
|
|
2133
|
+
'wu.vectors': 'Vector providers',
|
|
2134
|
+
'wu.vectors_text': 'Embeddings for search by meaning: the applications\' vector providers, their vector columns, and whether pgvector is installed.',
|
|
2135
|
+
'wu.ai': 'AI services',
|
|
2136
|
+
'wu.ai_text': 'Claude, OpenAI, Gemini and OpenAI-compatible services for the applications: models, keys, limits and usage (administrators).',
|
|
2137
|
+
'wu.mail': 'Mail services',
|
|
2138
|
+
'wu.mail_text': 'SMTP, Microsoft 365, Amazon SES, Resend, Postmark, SendGrid or Mailgun for the applications\' e-mail (administrators).',
|
|
2139
|
+
'wu.otel': 'OpenTelemetry',
|
|
2140
|
+
'wu.otel_text': 'Traces, logs and metrics to your own monitoring through an OpenTelemetry Collector; /metrics for Prometheus (administrators).',
|
|
2141
|
+
'wu.installation': 'Installation',
|
|
2142
|
+
'wu.installation_text': 'Version, install and upgrade runs, applied migrations (administrators).',
|
|
2143
|
+
'wu.about': 'About',
|
|
2144
|
+
'wu.about_text': 'Workspace utilities hold what the applications of this workspace share: users and sign-in, groups, the gallery, and reports across the applications.',
|
|
2145
|
+
'wu.learn_more': 'Learn more …',
|
|
2146
|
+
'wu.cross_app': 'Cross Application Reports',
|
|
2147
|
+
'wu.side': 'About and reports',
|
|
2148
|
+
'wd.title': 'Workspace dashboard',
|
|
2149
|
+
'wd.crumb': 'Dashboard',
|
|
2150
|
+
'wd.apps': 'applications',
|
|
2151
|
+
'wd.pages': 'pages',
|
|
2152
|
+
'wd.accounts': 'active accounts',
|
|
2153
|
+
'wd.views': 'page views (24h)',
|
|
2154
|
+
'wd.users': 'distinct users (24h)',
|
|
2155
|
+
'wd.failures': 'failed / locked sign-ins (24h)',
|
|
2156
|
+
'wd.problems': 'errors / access denied (24h)',
|
|
2157
|
+
'wd.per_app': 'Applications (7 days)',
|
|
2158
|
+
'wd.col.app': 'Application',
|
|
2159
|
+
'wd.col.views_day': 'Views (24h)',
|
|
2160
|
+
'wd.col.views_week': 'Views (7 days)',
|
|
2161
|
+
'wd.col.users': 'Users',
|
|
2162
|
+
'wd.col.avg': 'Avg ms',
|
|
2163
|
+
'wd.col.problems': 'Errors / denied',
|
|
2164
|
+
'wd.activity': 'Activity',
|
|
2165
|
+
// ------------------------------------------------------------ Instance settings (sprint 152)
|
|
2166
|
+
'ins.title': 'Instance settings',
|
|
2167
|
+
'ins.refused': 'Only administrators change instance settings.',
|
|
2168
|
+
'ins.intro': 'Settings for every application and the builder of this installation. A value set here wins over the environment variable; empty uses the environment variable or the default. Other servers of this installation pick up a change within 30 seconds.',
|
|
2169
|
+
'ins.sessions': 'Sessions and sign-in',
|
|
2170
|
+
'ins.in_effect': 'In effect: {value} ({origin}; {env}, default {default}).',
|
|
2171
|
+
'ins.origin.builder': 'set here',
|
|
2172
|
+
'ins.origin.environment': 'environment variable',
|
|
2173
|
+
'ins.origin.default': 'default',
|
|
2174
|
+
'ins.save': 'Save',
|
|
2175
|
+
'ins.checks': 'Lockout checks',
|
|
2176
|
+
'ins.attention_one': '{n} of these needs attention.',
|
|
2177
|
+
'ins.attention': '{n} of these need attention.',
|
|
2178
|
+
'ins.nothing': 'Nothing needs attention.',
|
|
2179
|
+
'ins.checks_cli': 'The same checks run on the server with {cmd}; {url} shows which passkeys a new address would break.',
|
|
2180
|
+
'ins.level.ok': 'OK',
|
|
2181
|
+
'ins.level.info': 'Note',
|
|
2182
|
+
'ins.level.warning': 'Warning',
|
|
2183
|
+
'ins.level.error': 'Error',
|
|
2184
|
+
'ins.have_copy': 'I have a copy of this key',
|
|
2185
|
+
'ins.configuration': 'Configuration',
|
|
2186
|
+
'ins.config_intro': 'Environment variables of this server (chapter 1 of the guide). Secrets show only whether they are set.',
|
|
2187
|
+
'ins.col.variable': 'Variable',
|
|
2188
|
+
'ins.col.value': 'Value',
|
|
2189
|
+
'ins.col.purpose': 'Purpose',
|
|
2190
|
+
'ins.backup_ok': 'Backup of the instance key confirmed.',
|
|
2191
|
+
'ins.no_key': 'PGKILN_SECRET_KEY is not set.',
|
|
2192
|
+
'ins.saved': 'Instance settings saved.',
|
|
2193
|
+
// ------------------------------------------------------------ LDAP directories (sprint 152)
|
|
2194
|
+
'ldap.title': 'LDAP directories',
|
|
2195
|
+
'ldap.server': 'Server',
|
|
2196
|
+
'ldap.name': 'Name',
|
|
2197
|
+
'ldap.name_help': 'lowercase, e.g. corp or ad',
|
|
2198
|
+
'ldap.display_name': 'Display name',
|
|
2199
|
+
'ldap.url': 'URL',
|
|
2200
|
+
'ldap.url_help': 'ldaps:// (TLS) or ldap://, with StartTLS below. Plain ldap:// sends passwords unencrypted.',
|
|
2201
|
+
'ldap.bind_dn': 'Service account DN',
|
|
2202
|
+
'ldap.bind_dn_help': 'Searches users (and groups). Empty: an anonymous search.',
|
|
2203
|
+
'ldap.bind_password': 'Service account password',
|
|
2204
|
+
'ldap.password_stored': 'A password is stored. Leave empty to keep it.',
|
|
2205
|
+
'ldap.start_tls': 'StartTLS (for ldap:// URLs)',
|
|
2206
|
+
'ldap.tls_verify': 'Verify the server certificate',
|
|
2207
|
+
'ldap.tls_verify_help': 'Turn off only for test servers with self-signed certificates.',
|
|
2208
|
+
'ldap.remove_password': 'Remove the stored password (anonymous search)',
|
|
2209
|
+
'ldap.users': 'Users',
|
|
2210
|
+
'ldap.user_base': 'User search base',
|
|
2211
|
+
'ldap.user_filter': 'User filter',
|
|
2212
|
+
'ldap.user_filter_help': '{username} is replaced by the escaped username. Active Directory: {ad}',
|
|
2213
|
+
'ldap.username_attr': 'Username attribute',
|
|
2214
|
+
'ldap.username_attr_help': 'The pgkiln username; AD: sAMAccountName',
|
|
2215
|
+
'ldap.display_attr': 'Display name attribute',
|
|
2216
|
+
'ldap.email_attr': 'E-mail attribute',
|
|
2217
|
+
'ldap.auto_create': 'Create accounts automatically on first sign-in',
|
|
2218
|
+
'ldap.auto_create_help': 'Otherwise only people with an existing account (same username) can sign in.',
|
|
2219
|
+
'ldap.groups': 'Groups (mapped to roles under each app\'s Access control)',
|
|
2220
|
+
'ldap.group_attr': 'Group attribute of the user',
|
|
2221
|
+
'ldap.group_attr_help': 'Group DNs; the first value of each is the group name. Empty: not used.',
|
|
2222
|
+
'ldap.group_base': 'Group search base',
|
|
2223
|
+
'ldap.group_base_help': 'Optional: search groups as well.',
|
|
2224
|
+
'ldap.group_filter': 'Group filter',
|
|
2225
|
+
'ldap.group_filter_help': '{dn}: the user\'s DN, {username}: the username (both escaped).',
|
|
2226
|
+
'ldap.group_name_attr': 'Group name attribute',
|
|
2227
|
+
'ldap.enabled': 'Enabled',
|
|
2228
|
+
'ldap.add': 'Add directory',
|
|
2229
|
+
'ldap.save': 'Save',
|
|
2230
|
+
'ldap.intro': 'OpenLDAP, Active Directory and other LDAP servers. An application\'s sign-in form checks local passwords first, then the directories enabled under {where}. Directory groups map to roles under each application\'s {access}.',
|
|
2231
|
+
'ldap.where': 'Settings → Sign-in methods',
|
|
2232
|
+
'ldap.access': 'Access control',
|
|
2233
|
+
'ldap.directories': 'Directories',
|
|
2234
|
+
'ldap.col.directory': 'Directory',
|
|
2235
|
+
'ldap.col.used_by': 'Used by',
|
|
2236
|
+
'ldap.col.linked': 'Linked accounts',
|
|
2237
|
+
'ldap.col.status': 'Status',
|
|
2238
|
+
'ldap.no_apps': 'no apps',
|
|
2239
|
+
'ldap.status_enabled': 'enabled',
|
|
2240
|
+
'ldap.status_disabled': 'disabled',
|
|
2241
|
+
'ldap.status_auto': 'auto-create',
|
|
2242
|
+
'ldap.none': 'No LDAP directories yet.',
|
|
2243
|
+
'ldap.settings': 'Settings',
|
|
2244
|
+
'ldap.delete_confirm': 'Delete {name}? Links to accounts are removed; accounts stay.',
|
|
2245
|
+
'ldap.delete': 'Delete directory',
|
|
2246
|
+
'ldap.test': 'Test connection',
|
|
2247
|
+
'ldap.test_intro': 'Connects, binds as the service account (or anonymously) and checks the search base; with a username, looks the user up with the filter. No password is checked.',
|
|
2248
|
+
'ldap.test_username': 'Username (optional)',
|
|
2249
|
+
'ldap.test_username_label': 'Username to look up',
|
|
2250
|
+
'ldap.test_btn': 'Test',
|
|
2251
|
+
'ldap.added': 'Directory added. Test the connection, then enable it for an application.',
|
|
2252
|
+
'ldap.saved': 'Directory saved.',
|
|
2253
|
+
'ldap.test_failed': 'The test failed: {error}',
|
|
2254
|
+
'ldap.deleted': 'Directory deleted.',
|
|
2255
|
+
// ------------------------------------------------------------ Database users (sprint 153)
|
|
2256
|
+
'dbu.title': 'Database Users',
|
|
2257
|
+
'dbu.priv.none': 'None',
|
|
2258
|
+
'dbu.priv.read': 'Read (SELECT)',
|
|
2259
|
+
'dbu.priv.write': 'Read and write',
|
|
2260
|
+
'dbu.existing.none': 'No change',
|
|
2261
|
+
'dbu.existing.read': 'Grant read',
|
|
2262
|
+
'dbu.existing.write': 'Grant read and write',
|
|
2263
|
+
'dbu.existing.revoke': 'Revoke all',
|
|
2264
|
+
'dbu.pw.none': 'No password',
|
|
2265
|
+
'dbu.pw.set': 'Set a password',
|
|
2266
|
+
'dbu.pw.keep': 'Keep the password',
|
|
2267
|
+
'dbu.pw.new': 'Set a new password',
|
|
2268
|
+
'dbu.pw.remove': 'Remove the password',
|
|
2269
|
+
'dbu.role': 'Role',
|
|
2270
|
+
'dbu.name': 'Name',
|
|
2271
|
+
'dbu.name_help': 'Letters, digits, _ and $; names starting with pg_ or pgkiln are reserved.',
|
|
2272
|
+
'dbu.sign_in': 'Sign in',
|
|
2273
|
+
'dbu.can_login': 'Can sign in (LOGIN)',
|
|
2274
|
+
'dbu.can_login_help': 'A role without it is a group role: others get its privileges by being members.',
|
|
2275
|
+
'dbu.password': 'Password',
|
|
2276
|
+
'dbu.password_help': 'You type the password on the next step, after reviewing the SQL. It is stored as a SCRAM-SHA-256 verifier and never shown.',
|
|
2277
|
+
'dbu.valid_until': 'Valid until',
|
|
2278
|
+
'dbu.valid_until_help': 'The password stops working after this date (VALID UNTIL). Empty: it doesn\'t expire.',
|
|
2279
|
+
'dbu.conn_limit': 'Connection limit',
|
|
2280
|
+
'dbu.conn_limit_help': 'Empty: no limit.',
|
|
2281
|
+
'dbu.search_path': 'Default schema (search path)',
|
|
2282
|
+
'dbu.search_path_help': 'Schemas, comma separated, for this role\'s sessions in this database. Empty: the server\'s default.',
|
|
2283
|
+
'dbu.comment': 'Comment',
|
|
2284
|
+
'dbu.member_of': 'Member of',
|
|
2285
|
+
'dbu.member_of_intro': 'The role gets the privileges of the roles it is a member of. pgkiln\'s own roles, superusers, login roles and the predefined roles that reach the server\'s files can\'t be granted here.',
|
|
2286
|
+
'dbu.no_groups': 'There are no group roles to grant.',
|
|
2287
|
+
'dbu.schemas': 'Schemas',
|
|
2288
|
+
'dbu.schemas_intro': '{usage} lets the role use a schema\'s objects (as far as their own privileges allow), {create} make objects in it. {future} are default privileges on the tables (and, for writing, sequences) pgkiln\'s owner connection creates there from now on; {existing} grants or revokes once on the tables there now. pgkiln\'s own schemas aren\'t listed.',
|
|
2289
|
+
'dbu.col.schema': 'Schema',
|
|
2290
|
+
'dbu.col.usage': 'Usage',
|
|
2291
|
+
'dbu.col.create': 'Create',
|
|
2292
|
+
'dbu.col.future': 'Future tables',
|
|
2293
|
+
'dbu.col.existing': 'Existing tables',
|
|
2294
|
+
'dbu.usage_on': 'Usage on {schema}',
|
|
2295
|
+
'dbu.create_in': 'Create in {schema}',
|
|
2296
|
+
'dbu.future_in': 'Future tables in {schema}',
|
|
2297
|
+
'dbu.existing_in': 'Existing tables in {schema}',
|
|
2298
|
+
'dbu.custom': 'As they are (custom)',
|
|
2299
|
+
'dbu.no_schemas': 'No schemas.',
|
|
2300
|
+
'dbu.review': 'Review SQL',
|
|
2301
|
+
'dbu.cancel': 'Cancel',
|
|
2302
|
+
'dbu.sql': 'SQL',
|
|
2303
|
+
'dbu.sql_intro': 'These statements run in one transaction when you apply them: all of them, or none.',
|
|
2304
|
+
'dbu.sql_masked': 'The password shows as \'********\': pgkiln sends PostgreSQL only its SCRAM-SHA-256 verifier.',
|
|
2305
|
+
'dbu.generated_sql': 'Generated SQL',
|
|
2306
|
+
'dbu.nothing_sql': 'Nothing to change: the role is as the form says.',
|
|
2307
|
+
'dbu.confirm_password': 'Confirm password',
|
|
2308
|
+
'dbu.password_note': 'At least 8 characters. It is hashed by pgkiln before it reaches the database, and it is not kept.',
|
|
2309
|
+
'dbu.apply': 'Apply',
|
|
2310
|
+
'dbu.back_form': 'Back to the form',
|
|
2311
|
+
'dbu.tag.in_use': 'in use',
|
|
2312
|
+
'dbu.tag.superuser': 'superuser',
|
|
2313
|
+
'dbu.tag.bypassrls': 'bypass RLS',
|
|
2314
|
+
'dbu.tag.createrole': 'create role',
|
|
2315
|
+
'dbu.tag.createdb': 'create DB',
|
|
2316
|
+
'dbu.tag.replication': 'replication',
|
|
2317
|
+
'dbu.never': 'never',
|
|
2318
|
+
'dbu.expired': 'expired',
|
|
2319
|
+
'dbu.in_days_one': 'in {n} day',
|
|
2320
|
+
'dbu.in_days': 'in {n} days',
|
|
2321
|
+
'dbu.f.all': 'All roles',
|
|
2322
|
+
'dbu.f.login': 'Can sign in',
|
|
2323
|
+
'dbu.f.expiring': 'Password expires within 30 days',
|
|
2324
|
+
'dbu.f.bypassrls': 'Bypass row level security',
|
|
2325
|
+
'dbu.f.owners': 'No sign-in, but own objects',
|
|
2326
|
+
'dbu.f.pgkiln': 'pgkiln\'s own',
|
|
2327
|
+
'dbu.list_intro': 'The PostgreSQL roles of this server (pg_roles), without the predefined pg_ roles.',
|
|
2328
|
+
'dbu.create_user': 'Create database user',
|
|
2329
|
+
'dbu.filters': 'Filters',
|
|
2330
|
+
'dbu.search_roles': 'Search roles',
|
|
2331
|
+
'dbu.search': 'Search',
|
|
2332
|
+
'dbu.col.attributes': 'Attributes',
|
|
2333
|
+
'dbu.col.connections': 'Connections',
|
|
2334
|
+
'dbu.col.owns': 'Owns',
|
|
2335
|
+
'dbu.yes': 'Yes',
|
|
2336
|
+
'dbu.no': 'No',
|
|
2337
|
+
'dbu.no_limit': 'no limit',
|
|
2338
|
+
'dbu.owns_schemas': 'schemas {list}',
|
|
2339
|
+
'dbu.n_objects_one': '{n} object',
|
|
2340
|
+
'dbu.n_objects': '{n} objects',
|
|
2341
|
+
'dbu.nothing': 'nothing',
|
|
2342
|
+
'dbu.elsewhere': '(+{n} elsewhere)',
|
|
2343
|
+
'dbu.no_roles': 'No roles.',
|
|
2344
|
+
'dbu.list_note': 'PostgreSQL doesn\'t record when a role was created. {pgkiln} roles are pgkiln\'s own connections and roles: they are shown, not changed here. Roles {in_use} by an application or an isolated workspace can be changed but not dropped.',
|
|
2345
|
+
'dbu.details': 'Details',
|
|
2346
|
+
'dbu.no_login': 'No sign-in (a group role)',
|
|
2347
|
+
'dbu.members': 'Members',
|
|
2348
|
+
'dbu.used_by': 'Used by',
|
|
2349
|
+
'dbu.none': 'none',
|
|
2350
|
+
'dbu.owned_first': '{n} objects, the first {first}:',
|
|
2351
|
+
'dbu.nothing_here': 'nothing in this database',
|
|
2352
|
+
'dbu.owned_other': '{n} in other databases or shared',
|
|
2353
|
+
'dbu.protected': '{name} is one of pgkiln\'s own roles (its owner or runtime connection, a pgkiln_ role or the bootstrap superuser): pgkiln needs it as it is, so it isn\'t changed or dropped here.',
|
|
2354
|
+
'dbu.role_title': 'Role {name}',
|
|
2355
|
+
'dbu.drop_role_link': 'Drop role…',
|
|
2356
|
+
'dbu.used_change_only_one': '{users} uses this role: it can be changed, not dropped.',
|
|
2357
|
+
'dbu.used_change_only': '{users} use this role: it can be changed, not dropped.',
|
|
2358
|
+
'dbu.create_title': 'Create database user {name}',
|
|
2359
|
+
'dbu.change_title': 'Change role {name}',
|
|
2360
|
+
'dbu.crumb.create': 'Create',
|
|
2361
|
+
'dbu.crumb.review': 'Review',
|
|
2362
|
+
'dbu.crumb.drop': 'Drop',
|
|
2363
|
+
'dbu.exists': 'A role named {name} exists already.',
|
|
2364
|
+
'dbu.changed_since': 'The statements changed since you reviewed them (the role or the form changed): review them again.',
|
|
2365
|
+
'dbu.nothing_change': 'Nothing to change.',
|
|
2366
|
+
'dbu.rolled_back': '{nothing}: the statements ran in one transaction, which was rolled back.',
|
|
2367
|
+
'dbu.nothing_changed': 'Nothing was changed',
|
|
2368
|
+
'dbu.created_one': 'Created the role {name}: {n} statement.',
|
|
2369
|
+
'dbu.created': 'Created the role {name}: {n} statements.',
|
|
2370
|
+
'dbu.changed_one': 'Changed the role {name}: {n} statement.',
|
|
2371
|
+
'dbu.changed': 'Changed the role {name}: {n} statements.',
|
|
2372
|
+
'dbu.drop_title': 'Drop role {name}',
|
|
2373
|
+
'dbu.drop_refused_one': '{users} uses {name}: it isn\'t dropped while it does.',
|
|
2374
|
+
'dbu.drop_refused': '{users} use {name}: it isn\'t dropped while they do.',
|
|
2375
|
+
'dbu.owns_here_one': '{name} owns {n} object in this database',
|
|
2376
|
+
'dbu.owns_here': '{name} owns {n} objects in this database',
|
|
2377
|
+
'dbu.owns_elsewhere': 'and {n} in other databases or shared (databases, tablespaces)',
|
|
2378
|
+
'dbu.reassign_note': 'Reassign them to another role, or drop them with the role.',
|
|
2379
|
+
'dbu.elsewhere_note': 'Objects in other databases must be reassigned or dropped there first, or DROP ROLE fails.',
|
|
2380
|
+
'dbu.owned_objects': 'Owned objects',
|
|
2381
|
+
'dbu.objects_it_owns': 'Objects it owns',
|
|
2382
|
+
'dbu.reassign_to': 'Reassign to {name}',
|
|
2383
|
+
'dbu.drop_owned': 'Drop them with the role (DROP OWNED)',
|
|
2384
|
+
'dbu.owns_nothing': 'It owns nothing here: just revoke its privileges',
|
|
2385
|
+
'dbu.drop_owned_help': 'DROP OWNED also revokes the privileges granted to the role in this database.',
|
|
2386
|
+
'dbu.drop_objects_one': 'Drop the {n} object {name} owns, with its data',
|
|
2387
|
+
'dbu.drop_objects': 'Drop the {n} objects {name} owns, with their data',
|
|
2388
|
+
'dbu.drop_confirm': 'Drop the role {name}?',
|
|
2389
|
+
'dbu.drop_btn': 'Drop role',
|
|
2390
|
+
'dbu.choose_target': 'Choose a role to reassign the objects to.',
|
|
2391
|
+
'dbu.changed_since_drop': 'The statements changed since you reviewed them: review them again.',
|
|
2392
|
+
'dbu.tick_box': 'Tick the box to drop the objects {name} owns, or reassign them.',
|
|
2393
|
+
'dbu.dropped': 'Dropped the role {name}.',
|
|
1965
2394
|
} as const;
|