pgkiln 0.57.0 → 0.59.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.
@@ -1043,4 +1043,672 @@ export const de: BuilderMessages = {
1043
1043
  'te.failed_stmt': 'Fehlgeschlagene Anweisung',
1044
1044
  'te.title_table': 'Tabelle {table}',
1045
1045
  'te.title_create': 'Tabelle erstellen',
1046
+ // ------------------------------------------------------------ Shared Components (sprint 124)
1047
+ 'comp.nav_entry': 'Navigationseintrag',
1048
+ 'comp.nav_entry.plural': 'Navigationsmenü',
1049
+ 'comp.authz_scheme': 'Autorisierungsschema',
1050
+ 'comp.authz_scheme.plural': 'Autorisierungsschemas',
1051
+ 'comp.build_option': 'Build-Option',
1052
+ 'comp.build_option.plural': 'Build-Optionen',
1053
+ 'comp.page_group': 'Seitengruppe',
1054
+ 'comp.page_group.plural': 'Seitengruppen',
1055
+ 'comp.lov': 'Werteliste',
1056
+ 'comp.lov.plural': 'Wertelisten',
1057
+ 'comp.app_item': 'Anwendungselement',
1058
+ 'comp.app_item.plural': 'Anwendungselemente',
1059
+ 'comp.app_process': 'Anwendungsprozess',
1060
+ 'comp.app_process.plural': 'Anwendungsprozesse',
1061
+ 'comp.app_computation': 'Anwendungsberechnung',
1062
+ 'comp.app_computation.plural': 'Anwendungsberechnungen',
1063
+ 'comp.shortcut': 'Kürzel',
1064
+ 'comp.shortcut.plural': 'Kürzel',
1065
+ 'comp.report_query': 'Berichtsabfrage',
1066
+ 'comp.report_query.plural': 'Berichtsabfragen',
1067
+ 'comp.component_group': 'Komponentengruppe',
1068
+ 'comp.component_group.plural': 'Komponentengruppen',
1069
+ 'comp.automation': 'Automatisierung',
1070
+ 'comp.automation.plural': 'Automatisierungen',
1071
+ 'comp.automation_action': 'Automatisierungsaktion',
1072
+ 'comp.automation_action.plural': 'Automatisierungsaktionen',
1073
+ 'comp.report_layout': 'Berichtslayout',
1074
+ 'comp.report_layout.plural': 'Berichtslayouts',
1075
+ 'comp.document_template': 'Dokumentvorlage',
1076
+ 'comp.document_template.plural': 'Dokumentvorlagen',
1077
+ 'comp.task_definition': 'Aufgabendefinition',
1078
+ 'comp.task_definition.plural': 'Aufgabendefinitionen',
1079
+ 'comp.workflow_definition': 'Workflow',
1080
+ 'comp.workflow_definition.plural': 'Workflows',
1081
+ 'comp.rest_module': 'REST-Modul',
1082
+ 'comp.rest_module.plural': 'REST-Module',
1083
+ 'comp.template_component': 'Vorlagenkomponente',
1084
+ 'comp.template_component.plural': 'Vorlagenkomponenten',
1085
+ 'comp.web_credential': 'Web-Anmeldedaten',
1086
+ 'comp.web_credential.plural': 'Web-Anmeldedaten',
1087
+ 'comp.rest_source': 'REST-Datenquelle',
1088
+ 'comp.rest_source.plural': 'REST-Datenquellen',
1089
+ 'comp.data_load_def': 'Datenladedefinition',
1090
+ 'comp.data_load_def.plural': 'Datenladedefinitionen',
1091
+ 'comp.list': 'Liste',
1092
+ 'comp.list.plural': 'Listen',
1093
+ 'comp.list_entry': 'Listeneintrag',
1094
+ 'comp.list_entry.plural': 'Listeneinträge',
1095
+ 'comp.supporting_script': 'Unterstützendes Skript',
1096
+ 'comp.supporting_script.plural': 'Unterstützende Objekte',
1097
+ 'comp.search_config': 'Suchkonfiguration',
1098
+ 'comp.search_config.plural': 'Suchkonfigurationen',
1099
+ 'comp.email_template': 'E-Mail-Vorlage',
1100
+ 'comp.email_template.plural': 'E-Mail-Vorlagen',
1101
+ 'comp.app_setting': 'Anwendungseinstellung',
1102
+ 'comp.app_setting.plural': 'Anwendungseinstellungen',
1103
+ 'comp.dynamic_translation': 'Dynamische Übersetzung',
1104
+ 'comp.dynamic_translation.plural': 'Dynamische Übersetzungen',
1105
+ 'sc.group.logic': 'Anwendungslogik',
1106
+ 'sc.group.security': 'Sicherheit',
1107
+ 'sc.group.other': 'Weitere Komponenten',
1108
+ 'sc.group.navigation': 'Navigation und Suche',
1109
+ 'sc.group.ui': 'Benutzeroberfläche',
1110
+ 'sc.group.files': 'Dateien und Berichte',
1111
+ 'sc.group.data': 'Datenquellen',
1112
+ 'sc.group.workflows': 'Workflows und Automatisierungen',
1113
+ 'sc.group.globalization': 'Globalisierung',
1114
+ 'sc.group.ai': 'Generative KI',
1115
+ 'sc.item.application_items': 'Anwendungselemente',
1116
+ 'sc.item.application_processes': 'Anwendungsprozesse',
1117
+ 'sc.item.application_computations': 'Anwendungsberechnungen',
1118
+ 'sc.item.application_settings': 'Anwendungseinstellungen',
1119
+ 'sc.item.build_options': 'Build-Optionen',
1120
+ 'sc.item.application_definition': 'Anwendungsdefinition',
1121
+ 'sc.item.access_control': 'Zugriffskontrolle',
1122
+ 'sc.item.authentication': 'Authentifizierung',
1123
+ 'sc.item.authorization_schemes': 'Autorisierungsschemas',
1124
+ 'sc.item.security_attributes': 'Sicherheitsattribute',
1125
+ 'sc.item.sign_in_and_session_management': 'Anmeldung und Sitzungsverwaltung',
1126
+ 'sc.item.lists_of_values': 'Wertelisten',
1127
+ 'sc.item.lists': 'Listen',
1128
+ 'sc.item.list_entries': 'Listeneinträge',
1129
+ 'sc.item.email_templates': 'E-Mail-Vorlagen',
1130
+ 'sc.item.shortcuts': 'Kürzel',
1131
+ 'sc.item.component_groups': 'Komponentengruppen',
1132
+ 'sc.item.supporting_objects': 'Unterstützende Objekte',
1133
+ 'sc.item.subscriptions': 'Abonnements',
1134
+ 'sc.item.navigation_menu': 'Navigationsmenü',
1135
+ 'sc.item.navigation_bar_list': 'Navigationsleiste',
1136
+ 'sc.item.breadcrumbs': 'Breadcrumbs',
1137
+ 'sc.item.page_groups': 'Seitengruppen',
1138
+ 'sc.item.search_configurations': 'Suchkonfigurationen',
1139
+ 'sc.item.themes_and_theme_roller': 'Themes und Theme Roller',
1140
+ 'sc.item.user_interface_attributes': 'Attribute der Benutzeroberfläche',
1141
+ 'sc.item.template_components': 'Vorlagenkomponenten',
1142
+ 'sc.item.plug_ins': 'Plug-ins',
1143
+ 'sc.item.component_settings': 'Komponenteneinstellungen',
1144
+ 'sc.item.progressive_web_app': 'Progressive Web App',
1145
+ 'sc.item.static_application_files': 'Statische Anwendungsdateien',
1146
+ 'sc.item.report_layouts': 'Berichtslayouts',
1147
+ 'sc.item.report_queries': 'Berichtsabfragen',
1148
+ 'sc.item.document_templates': 'Dokumentvorlagen',
1149
+ 'sc.item.rest_data_sources': 'REST-Datenquellen',
1150
+ 'sc.item.web_credentials': 'Web-Anmeldedaten',
1151
+ 'sc.item.restful_services': 'RESTful-Dienste',
1152
+ 'sc.item.data_load_definitions': 'Datenladedefinitionen',
1153
+ 'sc.item.workflows': 'Workflows',
1154
+ 'sc.item.task_definitions': 'Aufgabendefinitionen',
1155
+ 'sc.item.automations': 'Automatisierungen',
1156
+ 'sc.item.translations_and_text_messages': 'Übersetzungen und Textmeldungen',
1157
+ 'sc.item.dynamic_translations': 'Dynamische Übersetzungen',
1158
+ 'sc.item.globalization_attributes': 'Globalisierungsattribute',
1159
+ 'sc.item.ai_services': 'KI-Dienste',
1160
+ 'sc.item.ai_agents': 'KI-Agenten',
1161
+ 'sc.entries': 'Einträge',
1162
+ 'sc.list_sql': 'Diese Liste zeigt die Zeilen ihrer Abfrage; die Einträge unten werden nicht verwendet.',
1163
+ 'sc.no_entries': 'Noch keine Einträge.',
1164
+ 'sc.add_entry': '+ Eintrag hinzufügen',
1165
+ 'sc.breadcrumbs_help': 'Der Breadcrumb einer Seite zeigt die Seiten darüber: Jede Seite nennt ihre übergeordnete Breadcrumb-Seite (Page Designer → Seite → Breadcrumb parent). Seiten ohne sie zeigen Home.',
1166
+ 'sc.cs_help': 'Standardwerte für die eingebauten Komponententypen der Anwendung, wo eine Komponente selbst nichts festlegt. Leer: der Standardwert von pgkiln.',
1167
+ 'sc.cs_now': '{help} {min}–{max}; jetzt {now}.',
1168
+ 'sc.cs_saved': 'Komponenteneinstellungen gespeichert.',
1169
+ 'sc.intro': 'Die Komponenten, die die Seiten von {app} gemeinsam nutzen.',
1170
+ 'sc.tree_view': 'Baumansicht',
1171
+ 'sc.create': 'Erstellen',
1172
+ 'sc.search': 'Suchen',
1173
+ 'sc.name': 'Name',
1174
+ 'sc.details': 'Details',
1175
+ 'sc.nothing_matches': 'Keine Treffer.',
1176
+ 'sc.none_yet': 'Noch keine {what}.',
1177
+ 'sc.count': '{n} von {total}',
1178
+ 'sc.new': 'Neu: {what}',
1179
+ 'sc.save': 'Speichern',
1180
+ 'sc.run_supporting': 'Unterstützende Objekte ausführen …',
1181
+ 'sc.delete_confirm': '{what} löschen?',
1182
+ 'sc.delete': 'Löschen',
1183
+ 'sc.not_found': 'Nicht gefunden.',
1184
+ 'sc.groups_title': 'Gruppen des Identitätsanbieters → Rollen',
1185
+ 'sc.groups_help': 'Bei Single Sign-on erhalten Mitglieder dieser Gruppen die Rolle in dieser Anwendung und dürfen sich anmelden, auch ohne oben aufgeführt zu sein.',
1186
+ 'sc.remove_mapping': 'Zuordnung {group} zu {role} entfernen',
1187
+ 'sc.no_groups': 'Keine Gruppenzuordnungen.',
1188
+ 'sc.group_label': 'Gruppe (wie im Token)',
1189
+ 'sc.group_ph': 'z. B. hr-managers',
1190
+ 'sc.role_label': 'Rolle in dieser Anwendung',
1191
+ 'sc.role_ph': 'z. B. manager',
1192
+ 'sc.add_mapping': 'Zuordnung hinzufügen',
1193
+ 'sc.access': 'Zugriffskontrolle',
1194
+ 'sc.who': 'Wer sich anmelden darf',
1195
+ 'sc.who.assigned': 'Nur die unten aufgeführten Konten (rollenbasierter Zugriff)',
1196
+ 'sc.who.any': 'Jedes aktive Konto im Verzeichnis',
1197
+ 'sc.access_help': 'Konten befinden sich im {directory}; hier geben Sie ihnen Zugriff auf {app} und weisen Rollen zu, die Autorisierungsschemas und {fn} prüfen. Rollenänderungen gelten bei der nächsten Anmeldung (die Sitzungen in dieser Anwendung enden).',
1198
+ 'sc.directory': 'Benutzerverzeichnis',
1199
+ 'sc.account': 'Konto',
1200
+ 'sc.roles_in_app': 'Rollen in dieser Anwendung',
1201
+ 'sc.last_signin': 'Letzte Anmeldung',
1202
+ 'sc.roles': 'Rollen',
1203
+ 'sc.inactive': '(inaktiv)',
1204
+ 'sc.roles_of': 'Rollen von {user}',
1205
+ 'sc.no_roles': 'keine Rollen',
1206
+ 'sc.revoke_confirm': 'Zugriff von {user} auf {app} entziehen?',
1207
+ 'sc.revoke': 'Entziehen',
1208
+ 'sc.no_access': 'Noch haben keine Konten Zugriff.',
1209
+ 'sc.grant': 'Zugriff gewähren',
1210
+ 'sc.username_ph': 'Benutzername',
1211
+ 'sc.existing': 'Ein vorhandenes Konto.',
1212
+ 'sc.create_in_users': 'Konten unter Benutzer anlegen.',
1213
+ 'sc.roles_ph': 'durch Komma getrennt, oder unten wählen',
1214
+ 'sc.tree.security': 'Sicherheit',
1215
+ 'sc.tree.globalization': 'Globalisierung',
1216
+ 'sc.tree.translations': 'Übersetzungen und Textmeldungen',
1217
+ 'sc.tree.files': 'Dateien und Plug-ins',
1218
+ 'sc.tree.static': 'Statische Anwendungsdateien',
1219
+ 'sc.tree.subscriptions': 'Abonnements',
1220
+ 'sc.tree.subscribers': 'Abonnements und Abonnenten',
1221
+ 'sc.add_kind': '{what} hinzufügen',
1222
+ 'sc.add': '+ Hinzufügen',
1223
+ 'sc.review_run': 'Prüfen und ausführen …',
1224
+ 'sc.edit': 'Bearbeiten',
1225
+ 'sc.saved': '{what} gespeichert.',
1226
+ 'sc.deleted': '{what} gelöscht.',
1227
+ 'sc.access_saved': 'Zugriffskontrolle gespeichert.',
1228
+ 'sc.no_account': 'Es gibt kein Konto „{user}“. Legen Sie es zuerst unter Benutzer an.',
1229
+ 'sc.granted': 'Zugriff für {user} gewährt.',
1230
+ 'sc.mapping_added': 'Gruppenzuordnung hinzugefügt. Sie gilt ab der nächsten Anmeldung.',
1231
+ 'sc.mapping_removed': 'Gruppenzuordnung entfernt. Das gilt ab der nächsten Anmeldung.',
1232
+ 'sc.roles_saved': 'Rollen gespeichert. Sie gelten ab der nächsten Anmeldung.',
1233
+ 'sc.revoked': 'Zugriff entzogen.',
1234
+ // ------------------------------------------------------------ Application settings (sprint 124)
1235
+ 'st.tab.definition': 'Definition',
1236
+ 'st.tab.security': 'Sicherheit',
1237
+ 'st.tab.signin': 'Anmeldung',
1238
+ 'st.tab.ui': 'Benutzeroberfläche',
1239
+ 'st.tab.globalization': 'Globalisierung',
1240
+ 'st.tab.errors': 'Fehler und Sitzungen',
1241
+ 'st.tab.pwa': 'Progressive Web App',
1242
+ 'st.settings': 'Einstellungen',
1243
+ 'st.name': 'Name',
1244
+ 'st.alias': 'Alias',
1245
+ 'st.version': 'Version',
1246
+ 'st.version_ph': 'Release 1.0',
1247
+ 'st.version_help': 'Wird in der Fußzeile der Anwendungsseiten angezeigt; leer: keine.',
1248
+ 'st.home_page': 'Startseite',
1249
+ 'st.app_type': 'Anwendungstyp',
1250
+ 'st.app_type_help': 'Theme- und Bibliotheksanwendungen bieten ihr Theme oder ihre gemeinsamen Komponenten anderen Anwendungen an (Shared Components → Abonnements); Anwendung erstellen kann von einer Vorlagenanwendung ausgehen.',
1251
+ 'st.type.standard': 'Standard',
1252
+ 'st.type.theme': 'Theme-Anwendung',
1253
+ 'st.type.library': 'Bibliotheksanwendung',
1254
+ 'st.type.boilerplate': 'Vorlagenanwendung',
1255
+ 'st.authentication': 'Authentifizierung',
1256
+ 'st.auth.app_users': 'Anwendungsbenutzer (Anmeldeseite)',
1257
+ 'st.auth.header': 'HTTP-Header (Reverse Proxy)',
1258
+ 'st.auth.database': 'Datenbankkonten (PostgreSQL-Rollen)',
1259
+ 'st.auth.custom': 'Eigene (eine PL/pgSQL-Funktion)',
1260
+ 'st.auth.none': 'Keine (öffentlich)',
1261
+ 'st.db_role': 'Datenbankrolle (Parsing-Schema)',
1262
+ 'st.db_role_help': 'Alles SQL der Anwendung läuft als diese Rolle (SET LOCAL ROLE), sodass Berechtigungen und Row Level Security gelten. Nur für vertrauenswürdige interne Anwendungen leer lassen.',
1263
+ 'st.debug': 'Debug-Modus',
1264
+ 'st.debug_help': 'Zeigt Endbenutzern Details zu Datenbankfehlern. Nur für die Entwicklung.',
1265
+ 'st.debug_msgs': 'Debug-Meldungen',
1266
+ 'st.debug_on': 'an, Stufe {level}',
1267
+ 'st.off': 'aus',
1268
+ 'st.debug_msgs_help': 'Zeichnet die Schritte jeder Anfrage mit Zeiten und die Meldungen von {fn} auf, aufbewahrt {days} Tage.',
1269
+ 'st.header_title': 'Authentifizierung per HTTP-Header',
1270
+ 'st.header_intro': 'Nur verwendet, wenn die Authentifizierung „HTTP-Header“ ist. Ein Reverse Proxy oder Single-Sign-on-Gateway meldet Benutzer an und übergibt den Benutzernamen in einem Header; pgkiln vertraut ihm nur von den Proxy-Adressen in {env}',
1271
+ 'st.header_unset': 'auf diesem Server nicht gesetzt: Anmeldung per Header wird abgelehnt',
1272
+ 'st.header_name': 'Header mit dem Benutzernamen',
1273
+ 'st.header_name_help': 'Der Anfrage-Header mit dem Benutzernamen (APEX: HTTP Header Variable). Leer: X-Remote-User. Ein geänderter oder fehlender Header beendet die Sitzung.',
1274
+ 'st.logout_url': 'Abmelde-URL',
1275
+ 'st.logout_url_ph': 'z. B. https://sso.example.com/logout',
1276
+ 'st.logout_url_help': 'Wohin „Abmelden“ nach dem Ende der Sitzung führt, meist die eigene Abmeldeseite des Proxys. Leer: eine Seite „abgemeldet“.',
1277
+ 'st.header_auto': 'Konten automatisch anlegen',
1278
+ 'st.header_auto_help': 'Ein unbekannter Benutzername erhält ein neues Konto mit Zugriff auf diese Anwendung. Sonst muss das Konto existieren und Zugriff haben.',
1279
+ 'st.db_title': 'Datenbankkonten',
1280
+ 'st.db_intro': 'Nur verwendet, wenn die Authentifizierung „Datenbankkonten“ ist. Benutzer melden sich mit einer PostgreSQL-Login-Rolle und deren Passwort an, geprüft durch eine kurze Verbindung zu dieser Datenbank als diese Rolle. Superuser und die eigenen Rollen von pgkiln werden immer abgelehnt; ohne eines der beiden Felder kann sich niemand anmelden.',
1281
+ 'st.db_roles': 'Erlaubte Rollen',
1282
+ 'st.db_roles_ph': 'z. B. alice, bob',
1283
+ 'st.db_roles_help': 'Login-Rollen, die sich anmelden dürfen, durch Komma getrennt (genaue Namen).',
1284
+ 'st.db_member': 'Oder Mitglieder der Rolle',
1285
+ 'st.db_member_ph': 'z. B. app_users_group',
1286
+ 'st.db_member_help': 'Jedes Mitglied dieser Rolle darf sich ebenfalls anmelden.',
1287
+ 'st.custom_title': 'Eigene Authentifizierung',
1288
+ 'st.custom_intro': 'Nur verwendet, wenn die Authentifizierung „Eigene“ ist. Ihr eigenes PL/pgSQL prüft Benutzername und Passwort des Anmeldeformulars, als Datenbankrolle der Anwendung; das Passwort wird als Parameter übergeben und nie protokolliert. Fehlversuche werden wie andere Anmeldungen gebremst. Ohne eines der beiden Felder kann sich niemand anmelden.',
1289
+ 'st.custom_fn': 'Funktionsname',
1290
+ 'st.custom_fn_ph': 'z. B. app.check_login',
1291
+ 'st.custom_fn_help': 'Eine Funktion (p_username text, p_password text) returns boolean, in Kleinbuchstaben, optional mit Schema. Die Rolle der Anwendung braucht EXECUTE darauf. Hat Vorrang vor dem Funktionsrumpf unten.',
1292
+ 'st.custom_body': 'Oder Funktionsrumpf',
1293
+ 'st.custom_body_help': 'PL/pgSQL mit p_username und p_password, das bei einer gültigen Anmeldung true zurückgibt, z. B. {example}',
1294
+ 'st.custom_post': 'Code nach der Authentifizierung',
1295
+ 'st.custom_post_help': 'Optionales PL/pgSQL nach einer erfolgreichen Prüfung, mit p_username (und meta.app_user()), z. B. um die letzte Anmeldung zu speichern. Eine Exception lehnt die Anmeldung ab. Anwendungsprozesse „after login“ laufen danach wie gewohnt.',
1296
+ 'st.signin': 'Anmeldung',
1297
+ 'st.methods': 'Anmeldemethoden',
1298
+ 'st.local': 'Benutzername und Passwort',
1299
+ 'st.ldap': 'Passwörter aus LDAP: {name}',
1300
+ 'st.disabled': '(deaktiviert)',
1301
+ 'st.no_ldap': 'Keine LDAP-Verzeichnisse eingerichtet. {add}, um Passwörter gegen LDAP oder Active Directory zu prüfen.',
1302
+ 'st.add_one': 'Fügen Sie eines hinzu',
1303
+ 'st.ldap_help': 'LDAP-Passwörter prüft das Formular mit Benutzername und Passwort, nach den lokalen Konten; lassen Sie diese Methode also aktiv.',
1304
+ 'st.session_group': 'Gruppe für gemeinsame Sitzungen',
1305
+ 'st.session_group_ph': 'leer: nicht geteilt',
1306
+ 'st.session_group_help': 'Anwendungen mit derselben Gruppe (und dem Benutzerverzeichnis als Authentifizierung) teilen eine Anmeldung: Nach der Anmeldung bei einer öffnen sich die anderen ohne neue Anmeldung, jede mit eigener Zugriffsprüfung und eigenen Rollen; die Abmeldung bei einer meldet bei allen ab (APEX: Session Sharing). Kleinbuchstaben, Ziffern und _.',
1307
+ 'st.remember': '„Angemeldet bleiben“ für (Tage)',
1308
+ 'st.remember_ph': 'leer: nicht angeboten',
1309
+ 'st.remember_help': 'Bietet ein Kontrollkästchen im Anmeldeformular (APEX: persistente Authentifizierung). Der Browser bleibt so viele Tage nach der Anmeldung angemeldet, auch wenn die Sitzung endet; Abmelden, ein neues Passwort, Deaktivierung oder entzogener Zugriff beenden es. 1 bis 365.',
1310
+ 'st.sso': 'Anmelden mit {name}',
1311
+ 'st.no_sso': 'Keine Identitätsanbieter eingerichtet. {add} für Single Sign-on.',
1312
+ 'st.theme': 'Theme',
1313
+ 'st.base': 'Grundstil',
1314
+ 'st.base.iris': 'Iris (Standard für neue Anwendungen)',
1315
+ 'st.base.lavender': 'Lavender (Iris bis pgkiln 0.41)',
1316
+ 'st.base.standard': 'Standard (pgkiln bis 0.28)',
1317
+ 'st.base_help': 'Farben, Ecken, Schrift und Schatten der ganzen Anwendung, hell und dunkel. Die Farben unten überschreiben Akzent und Kopfzeile.',
1318
+ 'st.accent': 'Akzentfarbe',
1319
+ 'st.header_colour': 'Farbe der Kopfzeile',
1320
+ 'st.accent_dark': 'Akzentfarbe im dunklen Modus',
1321
+ 'st.header_dark': 'Farbe der Kopfzeile im dunklen Modus',
1322
+ 'st.own_colour': 'Diese Farbe verwenden (sonst die dunkle Palette des Grundstils)',
1323
+ 'st.nav': 'Navigationsmenü',
1324
+ 'st.nav.side': 'Seitlich (einklappbar)',
1325
+ 'st.nav.top': 'Obere Leiste',
1326
+ 'st.nav_help': 'Auf Tablets und Telefonen ist das Menü immer eine Schublade.',
1327
+ 'st.nav_list': 'Liste für das Navigationsmenü',
1328
+ 'st.nav_entries': '- die Navigationseinträge -',
1329
+ 'st.nav_list_help': 'Eine Liste (Shared Components → Listen), die statt der Navigationseinträge als Navigationsmenü angezeigt wird.',
1330
+ 'st.navbar_list': 'Liste für die Navigationsleiste',
1331
+ 'st.none_option': '- keine -',
1332
+ 'st.navbar_help': 'Eine Liste, die als Links in der Kopfzeile neben dem Benutzermenü angezeigt wird.',
1333
+ 'st.missing': '{name} (fehlt!)',
1334
+ 'st.mode': 'Theme-Stil',
1335
+ 'st.mode.auto': 'Automatisch (hell oder dunkel, wie das Gerät)',
1336
+ 'st.mode.light': 'Hell',
1337
+ 'st.mode.dark': 'Dunkel',
1338
+ 'st.user_choice': 'Benutzer dürfen hell oder dunkel wählen',
1339
+ 'st.user_choice_help': 'Fügt einen Schalter zum Benutzermenü und zu Mein Konto hinzu; die Wahl wird am Konto gespeichert (APEX: „Enable End Users to Choose Theme Style“).',
1340
+ 'st.roller': 'Theme Roller: Stilvarianten …',
1341
+ 'st.styles_one': '{n} Stil',
1342
+ 'st.styles': '{n} Stile',
1343
+ 'st.no_styles': 'noch keine Stile',
1344
+ 'st.language': 'Hauptsprache',
1345
+ 'st.language_help': 'Die Sprache, in der die Anwendung gebaut ist, z. B. en, nl, de, en-GB.',
1346
+ 'st.languages': 'Übersetzte Sprachen',
1347
+ 'st.languages_ph': 'z. B. nl, de',
1348
+ 'st.languages_help': 'Durch Komma getrennt. Texte unter Shared Components → Globalisierung übersetzen.',
1349
+ 'st.language_from': 'Sprache abgeleitet von',
1350
+ 'st.from.browser': 'Browser (Accept-Language)',
1351
+ 'st.from.user': 'Benutzereinstellung, dann Browser',
1352
+ 'st.from.primary': 'Immer die Hauptsprache',
1353
+ 'st.language_from_help': 'Benutzer können auch mit ?lang=xx oder der Auswahl auf der Anmeldeseite wechseln.',
1354
+ 'st.date_format': 'Datumsformat',
1355
+ 'st.date_format_ph': 'z. B. DD-MM-YYYY (leer: je Sprache)',
1356
+ 'st.date_format_help': 'Masken: YYYY YY MM MON MONTH DD DY DAY HH24 HH MI SS AM',
1357
+ 'st.ts_format': 'Datums- und Zeitformat',
1358
+ 'st.ts_format_ph': 'z. B. DD-MM-YYYY HH24:MI',
1359
+ 'st.save_settings': 'Einstellungen speichern',
1360
+ 'st.delete_confirm': 'Anwendung {app} mit allen Seiten löschen?',
1361
+ 'st.delete': 'Anwendung löschen',
1362
+ 'st.error_fn': 'Funktion zur Fehlerbehandlung',
1363
+ 'st.error_fn_ph': 'z. B. sales.error_message',
1364
+ 'st.error_fn_help': 'schema.function(jsonb) returns jsonb, als Rolle der Anwendung ausgeführt: Sie erhält die Meldung und das über einen Fehler Bekannte (code, constraint, table, column, component, page, user, internal, reference) und kann {"message": "…"} zurückgeben, das stattdessen angezeigt wird. Leer: keine.',
1365
+ 'st.warning': 'Warnung vor Sitzungsende (Sekunden)',
1366
+ 'st.warning_help': 'Angemeldete Benutzer werden so lange vor dem Sitzungsende gewarnt und können angemeldet bleiben (0: keine Warnung).',
1367
+ 'st.save': 'Speichern',
1368
+ 'st.checklist': 'Sicherheits-Checkliste',
1369
+ 'st.ck.role': 'Läuft als eigene Datenbankrolle',
1370
+ 'st.ck.runtime': '(läuft als Laufzeitverbindung)',
1371
+ 'st.ck.signin': 'Benutzer müssen sich anmelden',
1372
+ 'st.ck.public': 'Öffentliche Anwendung',
1373
+ 'st.ck.debug_on': 'Debug-Modus ist an: Fehlerdetails werden Benutzern angezeigt',
1374
+ 'st.ck.debug_off': 'Debug-Modus ist aus',
1375
+ 'st.ck.msgs_on': 'Debug-Meldungen sind an (Stufe {level}): Jede Anfrage wird aufgezeichnet',
1376
+ 'st.ck.msgs_off': 'Debug-Meldungen sind aus',
1377
+ 'st.ck.unprotected': 'Seiten ohne Prüfsummenschutz: {n}',
1378
+ 'st.ck.public_pages': 'Öffentliche Seiten: {n}',
1379
+ 'st.title': 'Einstellungen von {app}',
1380
+ 'st.err.fn_shape': 'Die Funktion zur Fehlerbehandlung ist schema.function, z. B. sales.error_message.',
1381
+ 'st.err.no_fn': 'Es gibt keine Funktion {fn}(jsonb), die jsonb zurückgibt.',
1382
+ 'st.err.warning': 'Die Warnung vor dem Sitzungsende liegt zwischen 0 und 3600 Sekunden.',
1383
+ 'st.saved': 'Gespeichert.',
1384
+ 'st.settings_saved': 'Einstellungen gespeichert.',
1385
+ 'st.app_deleted': 'Anwendung gelöscht.',
1386
+ // ------------------------------------------------------------ Users and identity providers (sprint 125)
1387
+ 'us.hints_none': 'Diese Anwendung prüft noch keine Rollen. Rollen zählen nur dort, wo ein Autorisierungsschema oder {fn} sie prüft (Shared Components → Autorisierungsschemas).',
1388
+ 'us.hints_label': 'Rollen, die diese Anwendung prüft',
1389
+ 'us.hints_add': 'Hinzufügen',
1390
+ 'us.hints_app': '{app} prüft',
1391
+ 'us.title': 'Benutzer',
1392
+ 'us.providers_btn': 'Identitätsanbieter (Single Sign-on)',
1393
+ 'us.ldap_btn': 'LDAP-Verzeichnisse',
1394
+ 'us.intro': 'Ein Konto pro Person. Geben Sie Konten Zugriff auf Anwendungen, mit Rollen pro Anwendung, hier oder unter {where} einer Anwendung.',
1395
+ 'us.access_path': 'Shared Components → Zugriffskontrolle',
1396
+ 'us.accounts': 'Konten',
1397
+ 'us.search_ph': 'Name, Benutzername oder E-Mail suchen …',
1398
+ 'us.search_label': 'Konten suchen',
1399
+ 'us.search': 'Suchen',
1400
+ 'us.username': 'Benutzername',
1401
+ 'us.name': 'Name',
1402
+ 'us.apps_roles': 'Anwendungen (Rollen)',
1403
+ 'us.applications': 'Anwendungen',
1404
+ 'us.signin': 'Anmeldung',
1405
+ 'us.status': 'Status',
1406
+ 'us.none': 'keine',
1407
+ 'us.password': 'Passwort',
1408
+ 'us.no_password': 'kein Passwort',
1409
+ 'us.active': 'aktiv',
1410
+ 'us.inactive': 'inaktiv',
1411
+ 'us.last': 'zuletzt {at}',
1412
+ 'us.no_accounts': 'Keine Konten gefunden.',
1413
+ 'us.create': 'Konto anlegen',
1414
+ 'us.username_help': 'Keine Leerzeichen oder Doppelpunkte; Groß-/Kleinschreibung egal.',
1415
+ 'us.email': 'E-Mail',
1416
+ 'us.password_label': 'Passwort',
1417
+ 'us.password_help': 'Mindestens 8 Zeichen. Leer lassen für Konten, die sich nur per Single Sign-on anmelden.',
1418
+ 'us.must_change': 'Passwortänderung bei der ersten Anmeldung verlangen',
1419
+ 'us.settings': 'Kontoeinstellungen',
1420
+ 'us.min_length': 'Mindestlänge des Passworts',
1421
+ 'us.lifetime': 'Gültigkeit des Passworts (Tage)',
1422
+ 'us.lifetime_help': 'Nach so vielen Tagen müssen Benutzer bei der Anmeldung ein neues Passwort wählen. 0 = nie.',
1423
+ 'us.mixed': 'Passwörter brauchen Buchstaben und Ziffern',
1424
+ 'us.policy_note': 'Passwörter dürfen nie den Benutzernamen enthalten. Die Anmeldung wird nach {failures} Fehlversuchen für {minutes} Minuten gesperrt (Workspace-Werkzeuge → Instanzeinstellungen); Entsperren bei einem Konto hebt das auf.',
1425
+ 'us.save_settings': 'Einstellungen speichern',
1426
+ 'us.created': 'Konto angelegt. Geben Sie ihm jetzt Zugriff auf Anwendungen.',
1427
+ 'us.exists': 'Ein Konto mit diesem Benutzernamen existiert bereits.',
1428
+ 'us.settings_saved': 'Kontoeinstellungen gespeichert.',
1429
+ 'us.details': 'Details',
1430
+ 'us.active_label': 'Aktiv',
1431
+ 'us.active_help': 'Inaktive Konten können sich bei keiner Anwendung anmelden; das Deaktivieren beendet ihre Sitzungen.',
1432
+ 'us.save': 'Speichern',
1433
+ 'us.password_title': 'Passwort',
1434
+ 'us.set': 'Gesetzt',
1435
+ 'us.set_on': 'Gesetzt am {date}',
1436
+ 'us.sso_only': 'Kein Passwort (nur Single Sign-on)',
1437
+ 'us.must_next': 'Muss bei der nächsten Anmeldung geändert werden',
1438
+ 'us.expires': 'Läuft in {n} Tag(en) ab',
1439
+ 'us.fails': '{n} fehlgeschlagene Anmeldung(en) in der letzten Stunde',
1440
+ 'us.unexpire': 'Passwortablauf aufheben',
1441
+ 'us.expire': 'Passwort ablaufen lassen',
1442
+ 'us.unlock': 'Anmeldung entsperren',
1443
+ 'us.new_password': 'Neues Passwort',
1444
+ 'us.set_password_label': 'Ein Passwort setzen',
1445
+ 'us.ends_sessions': 'Beendet die Sitzungen des Kontos.',
1446
+ 'us.set_password': 'Passwort setzen',
1447
+ 'us.remove_confirm': 'Passwort entfernen? Das Konto kann sich dann nur noch per Single Sign-on anmelden.',
1448
+ 'us.remove_password': 'Passwort entfernen',
1449
+ 'us.delete_confirm': 'Konto {user} mit allen Anwendungszugriffen löschen?',
1450
+ 'us.delete': 'Konto löschen',
1451
+ 'us.app_access': 'Anwendungszugriff',
1452
+ 'us.application': 'Anwendung',
1453
+ 'us.roles': 'Rollen',
1454
+ 'us.roles_in': 'Rollen in {app}',
1455
+ 'us.roles_ph': 'keine Rollen (z. B. {example})',
1456
+ 'us.revoke_confirm': 'Zugriff auf {app} entziehen?',
1457
+ 'us.revoke': 'Entziehen',
1458
+ 'us.no_access': 'Noch kein Zugriff auf eine Anwendung.',
1459
+ 'us.grant': 'Zugriff gewähren',
1460
+ 'us.roles_comma': 'durch Komma getrennt, oder unten wählen',
1461
+ 'us.saved': 'Konto gespeichert.',
1462
+ 'us.pw_removed': 'Passwort entfernt.',
1463
+ 'us.pw_set': 'Passwort gesetzt.',
1464
+ 'us.pw_expired': 'Passwort abgelaufen: Es muss bei der nächsten Anmeldung geändert werden.',
1465
+ 'us.pw_unexpired': 'Passwort nicht mehr abgelaufen.',
1466
+ 'us.unlocked': 'Anmeldung entsperrt.',
1467
+ 'us.deleted': 'Konto gelöscht.',
1468
+ 'us.granted': 'Zugriff gewährt.',
1469
+ 'us.roles_saved': 'Rollen gespeichert. Der Benutzer erhält sie bei der nächsten Anmeldung.',
1470
+ 'us.revoked': 'Zugriff entzogen.',
1471
+ 'idp.title': 'Identitätsanbieter',
1472
+ 'idp.name': 'Name (in URLs)',
1473
+ 'idp.name_help': 'Kleinbuchstaben, z. B. entra, google, keycloak',
1474
+ 'idp.protocol': 'Protokoll',
1475
+ 'idp.label': 'Beschriftung der Schaltfläche',
1476
+ 'idp.label_help': 'Angezeigt als „Anmelden mit …“',
1477
+ 'idp.issuer': 'Aussteller (OIDC: URL; SAML: die Entity-ID des IdP)',
1478
+ 'idp.issuer_help': 'z. B. https://login.microsoftonline.com/<tenant>/v2.0, https://keycloak.example.com/realms/acme oder für SAML die entityID aus den IdP-Metadaten',
1479
+ 'idp.client_id': 'Client-ID (SAML: die Entity-ID von pgkiln)',
1480
+ 'idp.client_id_help': 'OIDC: erforderlich. SAML: leer = die Metadaten-URL dieses Anbieters.',
1481
+ 'idp.sso_url': 'SAML: Anmelde-URL des IdP',
1482
+ 'idp.sso_url_help': 'Die SingleSignOnService-Adresse (HTTP-Redirect-Binding) aus den IdP-Metadaten.',
1483
+ 'idp.cert': 'SAML: Signaturzertifikat des IdP (PEM)',
1484
+ 'idp.cert_help': 'Aus den IdP-Metadaten (X509Certificate, umschlossen von BEGIN/END CERTIFICATE-Zeilen). Assertions müssen damit signiert sein.',
1485
+ 'idp.secret': 'Client-Geheimnis',
1486
+ 'idp.secret_kept': 'Ein Geheimnis ist gespeichert. Leer lassen, um es zu behalten.',
1487
+ 'idp.secret_public': 'Leer lassen für einen öffentlichen Client (nur PKCE).',
1488
+ 'idp.scopes': 'Scopes',
1489
+ 'idp.username_claim': 'Claim für den Benutzernamen',
1490
+ 'idp.username_claim_help': 'Verwenden Sie einen Claim, den Benutzer nicht selbst ändern können (z. B. preferred_username, upn, email). SAML: ein Attributname oder nameID.',
1491
+ 'idp.groups_claim': 'Claim für Gruppen',
1492
+ 'idp.groups_claim_help': 'Punktpfade funktionieren, z. B. realm_access.roles',
1493
+ 'idp.auto_create': 'Konten bei der ersten Anmeldung automatisch anlegen',
1494
+ 'idp.auto_create_help': 'Sonst können sich nur Personen mit einem mit diesem Anbieter verknüpften Konto (oder unten erlaubte) anmelden.',
1495
+ 'idp.link': 'Vorhandene Konten mit demselben Benutzernamen bei der ersten Anmeldung verknüpfen',
1496
+ 'idp.link_help': 'Nur wenn Benutzer den Benutzernamen-Claim bei diesem Anbieter nicht selbst wählen können: sonst könnte jemand den Namen eines vorhandenen Kontos registrieren und es übernehmen. Mit dem E-Mail-Claim werden nur bestätigte Adressen verknüpft. Schalten Sie es ab, sobald die Konten verknüpft sind.',
1497
+ 'idp.enabled': 'Aktiviert',
1498
+ 'idp.remove_secret': 'Das gespeicherte Client-Geheimnis entfernen',
1499
+ 'idp.add': 'Anbieter hinzufügen',
1500
+ 'idp.intro': 'OpenID-Connect-Anbieter für Single Sign-on (Microsoft Entra ID, Google, Okta, Keycloak, Auth0, …). Registrieren Sie pgkiln beim Anbieter als Webanwendung mit der angezeigten Redirect-URI und aktivieren Sie den Anbieter dann pro Anwendung unter {where}.',
1501
+ 'idp.where': 'Einstellungen → Anmeldemethoden',
1502
+ 'idp.providers': 'Anbieter',
1503
+ 'idp.provider': 'Anbieter',
1504
+ 'idp.issuer_col': 'Aussteller',
1505
+ 'idp.used_by': 'Verwendet von',
1506
+ 'idp.linked': 'Verknüpfte Konten',
1507
+ 'idp.no_apps': 'keine Anwendungen',
1508
+ 'idp.enabled_s': 'aktiviert',
1509
+ 'idp.disabled_s': 'deaktiviert',
1510
+ 'idp.auto_s': 'automatisch anlegen',
1511
+ 'idp.links_s': 'verknüpft vorhandene Konten',
1512
+ 'idp.none': 'Noch keine Identitätsanbieter.',
1513
+ 'idp.settings': 'Einstellungen',
1514
+ 'idp.delete_confirm': '{name} löschen? Verknüpfte Identitäten werden entfernt; die Konten bleiben.',
1515
+ 'idp.delete': 'Anbieter löschen',
1516
+ 'idp.register_idp': 'Beim Identitätsanbieter registrieren',
1517
+ 'idp.sp_metadata': 'Metadaten des Dienstanbieters (beim IdP importieren):',
1518
+ 'idp.by_hand': 'Oder von Hand: Entity-ID {entity}, Assertion Consumer Service (HTTP-POST) {acs}.',
1519
+ 'idp.saml_note': 'Basiert auf {env}. Signieren Sie die Assertions; senden Sie die Gruppen im Attribut {claim}, um sie Rollen zuzuordnen.',
1520
+ 'idp.register': 'Beim Anbieter registrieren',
1521
+ 'idp.redirect': 'Redirect-URI (Callback):',
1522
+ 'idp.public_url': 'Basiert auf {env}; setzen Sie sie auf die Adresse, die Benutzer sehen (z. B. https://apps.example.com).',
1523
+ 'idp.grant': 'Grant-Typ: {type} mit PKCE. Scopes: {scopes}. Nehmen Sie einen Claim {claim} in das ID-Token auf, um Gruppen Rollen zuzuordnen.',
1524
+ 'idp.auth_code': 'Authorization Code',
1525
+ 'idp.test': 'Discovery testen',
1526
+ 'idp.added': 'Anbieter hinzugefügt. Registrieren Sie die Redirect-URI beim Anbieter und testen Sie dann die Verbindung.',
1527
+ 'idp.saved': 'Anbieter gespeichert.',
1528
+ 'idp.works': 'Discovery funktioniert. Autorisierungsendpunkt: {url}',
1529
+ 'idp.failed': 'Discovery fehlgeschlagen: {error}',
1530
+ 'idp.deleted': 'Anbieter gelöscht.',
1531
+ // ------------------------------------------------------------ Workspaces (sprint 125)
1532
+ 'wsp.title': 'Workspaces',
1533
+ 'wsp.admins_only': 'Nur Administratoren verwalten Workspaces.',
1534
+ 'wsp.err.exists': 'Ein Workspace mit diesem Namen existiert bereits.',
1535
+ 'wsp.err.name_check': 'Der Name hat 1 bis 60 Zeichen, ohne Leerzeichen am Anfang oder Ende.',
1536
+ 'wsp.err.name': 'Der Name hat 1 bis 60 Zeichen.',
1537
+ 'wsp.iso.secret': 'setzen Sie PGKILN_SECRET_KEY (mindestens 32 Zeichen) in der Umgebung des Servers: Die Datenbank-Logins des Workspace erhalten daraus abgeleitete Passwörter.',
1538
+ 'wsp.iso.runtime': 'setzen Sie RUNTIME_DATABASE_URL: Anwendungen laufen auf der Eigentümerverbindung, daher kann kein Workspace isoliert werden.',
1539
+ 'wsp.err.role_taken': 'diese Rolle gehört bereits zu einem anderen Workspace.',
1540
+ 'wsp.err.role_has': 'der Workspace hat diese Rolle bereits.',
1541
+ 'wsp.isolated_tag': 'isoliert',
1542
+ 'wsp.iso.on': 'Seine Anwendungen laufen als {run} und das SQL seiner Entwickler (SQL Workshop, Codeprüfungen, der Advisor) als {dev}. Beide erreichen nur die Rollen unten und sehen in den Tabellen von pgkiln nur die Anwendungen, Sitzungen und Konten dieses Workspace. Entwickler, die auch zu einem gemeinsamen Workspace gehören, behalten dort dessen Rechte.',
1543
+ 'wsp.db_role': 'Datenbankrolle',
1544
+ 'wsp.used_by': 'Verwendet von',
1545
+ 'wsp.missing': 'fehlt',
1546
+ 'wsp.no_app': 'keine Anwendung',
1547
+ 'wsp.remove': 'Entfernen',
1548
+ 'wsp.no_roles': 'Keine Datenbankrollen: Anwendungen hier können nicht als eigene Rolle laufen.',
1549
+ 'wsp.add_role': 'Eine Datenbankrolle hinzufügen',
1550
+ 'wsp.add_role_help': 'Eine vorhandene Rolle (kein Superuser, keine, die Rollen anlegt oder Row Level Security umgeht). Ihre Rechte werden die dieses Workspace; sie kann nicht zu einem anderen Workspace gehören.',
1551
+ 'wsp.add_role_btn': 'Rolle hinzufügen',
1552
+ 'wsp.make_shared_confirm': '{name} wieder gemeinsam machen? Seine Anwendungen laufen dann auf der gemeinsamen Laufzeitverbindung und das SQL seiner Entwickler als Eigentümer.',
1553
+ 'wsp.make_shared': 'Gemeinsam machen',
1554
+ 'wsp.shared_text': 'Gemeinsam: Die Anwendungen laufen auf der gemeinsamen Laufzeitverbindung und das SQL der Entwickler als Eigentümer, wie bei jedem gemeinsamen Workspace.',
1555
+ 'wsp.iso_help': 'Das Isolieren gibt dem Workspace zwei eigene Datenbank-Logins und die Datenbankrollen, die seine Anwendungen jetzt verwenden. Anwendungscode erreicht dann nur diese Rollen und die Anwendungen dieses Workspace; der SQL Workshop seiner Entwickler läuft auf dem Login des Workspace statt als Eigentümer. Neue Anwendungen erhalten eine eigene neue Rolle und ein eigenes Schema.',
1556
+ 'wsp.to_isolate': 'Um einen Workspace zu isolieren, {problem}',
1557
+ 'wsp.isolate_confirm': '{name} isolieren?',
1558
+ 'wsp.isolate': 'Diesen Workspace isolieren',
1559
+ 'wsp.isolation': 'Isolation',
1560
+ 'wsp.service': 'Dienst verwalten',
1561
+ 'wsp.message': 'Workspace-Meldung',
1562
+ 'wsp.message_help': 'Wird den Entwicklern dieses Workspace auf der App Builder-Startseite angezeigt, z. B. ein Wartungsfenster. Reiner Text.',
1563
+ 'wsp.banner': 'Umgebungsbanner',
1564
+ 'wsp.banner_help': 'Ein kurzes Label oben auf jeder Builder-Seite, solange dieser Workspace aktuell ist. Leer: kein Banner.',
1565
+ 'wsp.banner_colour': 'Bannerfarbe',
1566
+ 'wsp.save': 'Speichern',
1567
+ 'wsp.prefs': 'Workspace-Einstellungen',
1568
+ 'wsp.sql_on': 'SQL Workshop aktivieren',
1569
+ 'wsp.sql_on_help': 'Aus: SQL-Arbeitsblatt, Objektbrowser, SQL-Skripte, Laden und Entladen von Daten, Quick SQL, Query Builder, DDL, Vergleich und KI werden abgelehnt, solange dieser Workspace aktuell ist, für alle Entwickler.',
1570
+ 'wsp.rest_on': 'RESTful-Dienste aktivieren',
1571
+ 'wsp.rest_on_help': 'Aus: Die REST-Module der Anwendungen dieses Workspace antworten unter {path} mit 404 (Not found); sie können weiterhin bearbeitet werden.',
1572
+ 'wsp.builder_home': 'Builder-Links öffnen',
1573
+ 'wsp.home.apps': 'App Builder',
1574
+ 'wsp.home.home': 'Workspace-Startseite',
1575
+ 'wsp.builder_home_help': 'Wohin ein Link auf /builder (ein Lesezeichen aus der Zeit vor der Workspace-Startseite) in diesem Workspace führt. Die Anmeldung öffnet immer die Workspace-Startseite; der App Builder liegt unter /builder/apps.',
1576
+ 'wsp.save_prefs': 'Einstellungen speichern',
1577
+ 'wsp.links': 'Erweiterungslinks',
1578
+ 'wsp.links_help': 'Links zu anderen Werkzeugen der Entwickler dieses Workspace (Monitoring, ein Wiki, ein Ticketsystem) im Menü {menu} des Builders, solange der Workspace aktuell ist. Sie öffnen sich in einem neuen Tab.',
1579
+ 'wsp.extensions': 'Erweiterungen',
1580
+ 'wsp.label': 'Beschriftung',
1581
+ 'wsp.url': 'URL',
1582
+ 'wsp.order': 'Reihenfolge',
1583
+ 'wsp.delete_link_confirm': 'Den Link {label} löschen?',
1584
+ 'wsp.delete': 'Löschen',
1585
+ 'wsp.no_links': 'Keine Erweiterungslinks.',
1586
+ 'wsp.label_ph': 'Monitoring',
1587
+ 'wsp.description': 'Beschreibung',
1588
+ 'wsp.add_link': 'Link hinzufügen',
1589
+ 'wsp.switched': 'Workspace {name}.',
1590
+ 'wsp.intro': 'Ein Workspace fasst Anwendungen und die Entwickler zusammen, die sie bauen. Entwickler sehen und ändern die Anwendungen ihrer eigenen Workspaces; Administratoren sehen alle. Ein gemeinsamer Workspace ist keine Sicherheitsgrenze zwischen Entwicklern, die SQL schreiben: Sein SQL Workshop und der Anwendungscode laufen mit den Rechten dieser Installation. Ein {isolated} Workspace ist eine: Seine Anwendungen und sein SQL laufen auf eigenen Datenbank-Logins, die nur seine Datenbankrollen und seine eigenen Anwendungen erreichen.',
1591
+ 'wsp.isolated_word': 'isolierter',
1592
+ 'wsp.workspace': 'Workspace',
1593
+ 'wsp.applications': 'Anwendungen',
1594
+ 'wsp.developers': 'Entwickler',
1595
+ 'wsp.admins_text': 'nur Administratoren',
1596
+ 'wsp.add': 'Workspace hinzufügen',
1597
+ 'wsp.name': 'Name',
1598
+ 'wsp.name_help': 'Zum Beispiel das Team oder die Abteilung, die hier ihre Anwendungen baut.',
1599
+ 'wsp.first_dev': 'Sie werden sein erster Entwickler; fügen Sie weitere auf seiner Seite hinzu.',
1600
+ 'wsp.added': 'Workspace {name} hinzugefügt.',
1601
+ 'wsp.settings': 'Einstellungen',
1602
+ 'wsp.default_no_delete': 'Der Default-Workspace kann nicht gelöscht werden: Importierte und über die Kommandozeile erstellte Anwendungen beginnen hier.',
1603
+ 'wsp.delete_confirm': 'Workspace {name} löschen?',
1604
+ 'wsp.delete_ws': 'Workspace löschen',
1605
+ 'wsp.move_first': 'Verschieben Sie zuerst seine Anwendungen in einen anderen Workspace.',
1606
+ 'wsp.devs_help': 'Entwickler dieses Workspace sehen und ändern seine Anwendungen. Administratoren sehen jeden Workspace.',
1607
+ 'wsp.administrator': '(Administrator)',
1608
+ 'wsp.ws_admins': 'Workspace-Administratoren',
1609
+ 'wsp.ws_admins_help': 'Sie verwalten Namen und Entwickler dieses Workspace. Isolation, Datenbankrollen, das Verschieben von Anwendungen und das Löschen des Workspace bleiben bei den Administratoren.',
1610
+ 'wsp.save_devs': 'Entwickler speichern',
1611
+ 'wsp.mail_net': 'Mail und Netzwerkzugriff',
1612
+ 'wsp.mail_net_text': 'Der eigene {mail} dieses Workspace für seine Anwendungen ohne eigenen, seine Liste für {network} (welche Hosts seine Anwendungen aufrufen dürfen, innerhalb der Liste der Installation) und die {queue}.',
1613
+ 'wsp.mail_service': 'Mail-Dienst',
1614
+ 'wsp.network': 'Netzwerkzugriff',
1615
+ 'wsp.queue': 'Mail-Warteschlange',
1616
+ 'wsp.iso_short_on': 'Isoliert: Seine Anwendungen und sein SQL laufen auf eigenen Datenbank-Logins.',
1617
+ 'wsp.iso_short_off': 'Gemeinsam.',
1618
+ 'wsp.admins_change': 'Administratoren ändern das.',
1619
+ 'wsp.application': 'Anwendung',
1620
+ 'wsp.move_to': 'Verschieben nach',
1621
+ 'wsp.move_label': '{app} verschieben nach',
1622
+ 'wsp.move': 'Verschieben',
1623
+ 'wsp.no_other': 'kein anderer Workspace',
1624
+ 'wsp.no_apps': 'Keine Anwendungen.',
1625
+ 'wsp.saved': 'Workspace gespeichert.',
1626
+ 'wsp.not_found': 'Nicht gefunden.',
1627
+ 'wsp.devs_saved': 'Entwickler gespeichert.',
1628
+ 'wsp.not_moved': 'Nicht verschoben: {why}',
1629
+ 'wsp.moved': 'Anwendung nach {name} verschoben.',
1630
+ 'wsp.err.default': 'Der Default-Workspace kann nicht gelöscht werden.',
1631
+ 'wsp.err.isolated': 'Machen Sie den Workspace gemeinsam (nicht isoliert), bevor Sie ihn löschen.',
1632
+ 'wsp.err.has_apps': 'Verschieben Sie zuerst die Anwendungen dieses Workspace in einen anderen.',
1633
+ 'wsp.deleted': 'Workspace {name} gelöscht.',
1634
+ 'wsp.isolated_now': 'Der Workspace ist isoliert: Seine Anwendungen und sein SQL laufen jetzt auf eigenen Datenbank-Logins.',
1635
+ 'wsp.shared_now': 'Der Workspace ist wieder gemeinsam: Seine Anwendungen laufen auf der gemeinsamen Laufzeitverbindung.',
1636
+ 'wsp.not_isolated': 'Nicht isoliert: {why}',
1637
+ 'wsp.not_changed': 'Nicht geändert: {why}',
1638
+ 'wsp.err.role_name': 'Ein Rollenname ist ein Buchstabe oder _, gefolgt von Buchstaben, Ziffern, _ oder $ (höchstens 63).',
1639
+ 'wsp.err.no_role': 'Es gibt keine Datenbankrolle {role}.',
1640
+ 'wsp.err.role_used_one': '{apps} läuft als {role}: Geben Sie ihr zuerst eine andere Rolle.',
1641
+ 'wsp.err.role_used': '{apps} laufen als {role}: Geben Sie ihnen zuerst eine andere Rolle.',
1642
+ 'wsp.role_removed': 'Rolle {role} entfernt.',
1643
+ 'wsp.role_added': 'Rolle {role} hinzugefügt.',
1644
+ 'wsp.not_saved': 'Nicht gespeichert: {why}',
1645
+ 'wsp.err.message': 'Die Meldung hat höchstens 2000 Zeichen.',
1646
+ 'wsp.err.banner': 'Das Bannerlabel hat höchstens 40 Zeichen.',
1647
+ 'wsp.service_saved': 'Meldung und Banner gespeichert.',
1648
+ 'wsp.prefs_saved': 'Einstellungen gespeichert.',
1649
+ 'wsp.err.label': 'Das Label hat 1 bis 60 Zeichen.',
1650
+ 'wsp.err.url': 'Die URL beginnt mit http:// oder https://.',
1651
+ 'wsp.err.description': 'Die Beschreibung hat höchstens 500 Zeichen.',
1652
+ 'wsp.err.order': 'Die Reihenfolge ist eine ganze Zahl.',
1653
+ 'wsp.link_added': 'Link {label} hinzugefügt.',
1654
+ 'wsp.link_exists': 'Es gibt bereits einen Link {label}.',
1655
+ 'wsp.link_not_saved': 'Der Link wurde nicht gespeichert.',
1656
+ 'wsp.link_deleted': 'Link gelöscht.',
1657
+ 'wsp.util_title': 'Nutzung des Workspace: {name}',
1658
+ 'wsp.pages': 'Seiten',
1659
+ 'wsp.views30': 'Seitenaufrufe (30 Tage)',
1660
+ 'wsp.scripts': 'SQL-Skripte',
1661
+ 'wsp.regions': 'Regionen',
1662
+ 'wsp.items': 'Elemente',
1663
+ 'wsp.users30': 'Benutzer (30 Tage)',
1664
+ 'wsp.static': 'Statische Dateien',
1665
+ 'wsp.views': 'Seitenaufrufe',
1666
+ 'wsp.users': 'Benutzer',
1667
+ 'wsp.schemas': 'Schemas',
1668
+ 'wsp.schemas_help': 'Die Schemas, die die Datenbankrollen des Workspace verwenden dürfen, mit dem Speicher ihrer Tabellen, Indizes und TOAST-Daten.',
1669
+ 'wsp.schema': 'Schema',
1670
+ 'wsp.owner': 'Eigentümer',
1671
+ 'wsp.tables': 'Tabellen',
1672
+ 'wsp.storage': 'Speicher',
1673
+ 'wsp.no_schemas': 'Keine Schemas: Die Anwendungen des Workspace haben keine eigene Datenbankrolle.',
1674
+ 'wsp.utilization': 'Nutzung',
1675
+ 'wsp.util_crumb': 'Nutzung: {name}',
1676
+ // ------------------------------------------------------------ Developers (sprint 125)
1677
+ 'dev.title': 'Entwickler',
1678
+ 'dev.change_pw': 'Ihr Passwort ändern',
1679
+ 'dev.current': 'Aktuelles Passwort',
1680
+ 'dev.new': 'Neues Passwort',
1681
+ 'dev.min8': 'Mindestens 8 Zeichen.',
1682
+ 'dev.change_btn': 'Passwort ändern',
1683
+ 'dev.your_email': 'Ihre E-Mail-Adresse',
1684
+ 'dev.email': 'E-Mail-Adresse',
1685
+ 'dev.email_help': '„Meinen Workspace finden“ auf der Anmeldeseite sendet Ihre Workspaces dorthin. Leer: keine.',
1686
+ 'dev.save': 'Speichern',
1687
+ 'dev.accounts': 'Entwicklerkonten',
1688
+ 'dev.accounts_help': 'Administratoren fügen Entwickler hinzu, entfernen sie und können Seiten- und Anwendungssperren anderer Entwickler aufheben.',
1689
+ 'dev.username': 'Benutzername',
1690
+ 'dev.role': 'Rolle',
1691
+ 'dev.email_col': 'E-Mail',
1692
+ 'dev.you': '(Sie)',
1693
+ 'dev.administrator': 'Administrator',
1694
+ 'dev.developer': 'Entwickler',
1695
+ 'dev.email_of': 'E-Mail-Adresse von {user}',
1696
+ 'dev.none': 'keine',
1697
+ 'dev.make_dev': 'Zum Entwickler machen',
1698
+ 'dev.make_admin': 'Zum Administrator machen',
1699
+ 'dev.remove_confirm': 'Entwickler {user} entfernen?',
1700
+ 'dev.remove': 'Entfernen',
1701
+ 'dev.add': 'Entwickler hinzufügen',
1702
+ 'dev.password': 'Passwort',
1703
+ 'dev.optional_email': 'Optional: für „Meinen Workspace finden“.',
1704
+ 'dev.admins_only': 'Nur Administratoren fügen Entwickler hinzu und entfernen sie.',
1705
+ 'dev.err.email': 'Die E-Mail-Adresse ist ungültig.',
1706
+ 'dev.added_ws': 'Entwickler zum Workspace {name} hinzugefügt.',
1707
+ 'dev.added': 'Entwickler hinzugefügt.',
1708
+ 'dev.err.current': 'Das aktuelle Passwort ist falsch.',
1709
+ 'dev.pw_changed': 'Passwort geändert.',
1710
+ 'dev.email_saved': 'E-Mail-Adresse gespeichert.',
1711
+ 'dev.not_found': 'Nicht gefunden.',
1712
+ 'dev.role_changed': 'Rolle geändert.',
1713
+ 'dev.removed': 'Entwickler entfernt.',
1046
1714
  };