@object-ui/i18n 17.7.0 → 18.0.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.
@@ -13,18 +13,19 @@ const de = {
13
13
  notRestored: 'Der Server hat die Anfrage angenommen, aber Ihre Administratorsitzung nicht wiederhergestellt — Sie handeln weiterhin als {{user}}. Melden Sie sich ab und erneut an, um dies zu beenden.',
14
14
  },
15
15
  },
16
- // objectui#2600 B5 — capability picker scope group headers (labels come from the sys_capability registry).
16
+ // objectui#2600 B5 — capability picker scope group headers (labels come from the capability registry).
17
17
  capability: {
18
18
  label: {
19
19
  manage_users: "Benutzer verwalten",
20
20
  manage_org_users: "Organisationsbenutzer verwalten",
21
21
  manage_metadata: "Metadaten verwalten",
22
- manage_org_presentation: "Organisationsdarstellung verwalten",
22
+ manage_mailboxes: "Postfächer verwalten",
23
23
  manage_platform_settings: "Plattformeinstellungen verwalten",
24
24
  setup_access: "Zugriff auf die Einrichtung",
25
25
  setup_write: "Einstellungen schreiben",
26
26
  studio_access: "Studio-Zugriff",
27
27
  manage_sharing: "Freigaben verwalten",
28
+ view_all_audit_log: "Gesamtes Audit-Protokoll anzeigen",
28
29
  },
29
30
  group: {
30
31
  platform: 'Plattform',
@@ -32,30 +33,6 @@ const de = {
32
33
  other: 'Andere',
33
34
  },
34
35
  },
35
- // objectui#3546 slice six — die schreibgeschützte Facetten-Zusammenfassung von
36
- // PermissionFacetLink. "Registerkarte" (nicht "Tab") für In-App-Reiter, wie in
37
- // console.objectView.ufTabs; "Tab" bleibt dem Browser-Tab vorbehalten.
38
- perm: {
39
- facet: {
40
- none: "Keine",
41
- more: "+{{count}} weitere",
42
- objects: "{{count}} Objekte",
43
- objects_one: "{{count}} Objekt",
44
- objects_other: "{{count}} Objekte",
45
- fields: "{{count}} Feldregeln",
46
- fields_one: "{{count}} Feldregel",
47
- fields_other: "{{count}} Feldregeln",
48
- rls: "{{count}} RLS-Richtlinien",
49
- rls_one: "{{count}} RLS-Richtlinie",
50
- rls_other: "{{count}} RLS-Richtlinien",
51
- tabs: "{{count}} Registerkarten-Regeln",
52
- tabs_one: "{{count}} Registerkarten-Regel",
53
- tabs_other: "{{count}} Registerkarten-Regeln",
54
- adminScope: "Delegierte Administration konfiguriert",
55
- designInStudio: "Im Studio gestalten →",
56
- designInStudioHint: "Im Studio gestalten",
57
- },
58
- },
59
36
  lookup: {
60
37
  recentlyUsed: 'Zuletzt verwendet',
61
38
  allResults: 'Alle Ergebnisse',
@@ -126,6 +103,7 @@ const de = {
126
103
  itemCount_one: "{{count}} Element",
127
104
  itemCount_other: "{{count}} Elemente",
128
105
  toggleSidebar: "Seitenleiste umschalten",
106
+ breadcrumb: "Brotkrümelnavigation",
129
107
  package: "Paket",
130
108
  done: "Fertig",
131
109
  editInStudio: "Im Studio bearbeiten",
@@ -154,6 +132,7 @@ const de = {
154
132
  copyAll: 'Alle kopieren',
155
133
  },
156
134
  notAvailableHere: '„{{action}}“ ist auf der aktuellen Seite nicht verfügbar.',
135
+ notAvailableForRecord: 'Für diesen Datensatz nicht verfügbar',
157
136
  completedSuccessfully: 'Aktion erfolgreich abgeschlossen',
158
137
  failed: 'Aktion fehlgeschlagen',
159
138
  parallelFailed: 'Eine oder mehrere parallele Aktionen sind fehlgeschlagen',
@@ -190,6 +169,8 @@ const de = {
190
169
  // description, used when the form declares no `description` of its own.
191
170
  dialogDescriptionFallback: "Füllen Sie die Formularfelder aus und senden Sie ab oder brechen Sie ab.",
192
171
  deniedDescription: "Sie haben keinen Bearbeitungszugriff auf dieses Feld.",
172
+ serverDefaultHint: "Wird beim Speichern automatisch gesetzt.",
173
+ maxFileSize: "Maximale Größe: {{size}}",
193
174
  masterDetail: {
194
175
  loadingColumns: "Spalten werden geladen…",
195
176
  subtotal: "Zwischensumme",
@@ -258,10 +239,14 @@ const de = {
258
239
  remove: "Bild {{index}} entfernen",
259
240
  enlarge: "{{name}} vergrößern",
260
241
  preview: "Bildvorschau",
242
+ cropPreview: "Vorschau des Bildzuschnitts",
261
243
  previous: "Vorheriges Bild",
262
244
  next: "Nächstes Bild",
263
245
  counter: "{{current}} / {{total}}",
264
246
  },
247
+ percent: {
248
+ slider: "Prozentsatz",
249
+ },
265
250
  relativeDate: {
266
251
  overdue: "{{count}} T. überfällig",
267
252
  overdue_one: "{{count}} T. überfällig",
@@ -283,6 +268,8 @@ const de = {
283
268
  exceedsMaxSize: '„{{name}}“ überschreitet die maximale Größe ({{max}} MB)',
284
269
  uploadFailed: 'Hochladen von „{{name}}“ fehlgeschlagen: {{error}}',
285
270
  uploadIncomplete: 'Hochladen von „{{name}}“ wurde nicht abgeschlossen: Es wurde keine Datei-ID zurückgegeben, nichts wurde gespeichert',
271
+ restricted: 'Eingeschränkte Datei',
272
+ restrictedHint: 'Sie haben keinen Zugriff auf die Details dieser Datei',
286
273
  },
287
274
  richText: {
288
275
  format: "Format: {{format}}",
@@ -299,6 +286,10 @@ const de = {
299
286
  search: "Objekte suchen…",
300
287
  empty: "Keine Objekte gefunden",
301
288
  },
289
+ registryRef: {
290
+ loadFailed: "Die Liste konnte nicht geladen werden. Sie können den Namen weiterhin eingeben.",
291
+ notFound: "{{name}} (nicht gefunden)",
292
+ },
302
293
  recipient: {
303
294
  selectTypeFirst: "Wählen Sie zuerst einen Empfängertyp.",
304
295
  loading: "Wird geladen…",
@@ -340,6 +331,13 @@ const de = {
340
331
  dateTime: {
341
332
  impossibleDay: "Der gespeicherte Wert „{{value}}“ ist kein gültiges Datum. Wählen Sie Datum und Uhrzeit, um ihn zu ersetzen.",
342
333
  },
334
+ datePicker: {
335
+ today: "Heute",
336
+ tomorrow: "Morgen",
337
+ clear: "Datum löschen",
338
+ openCalendar: "Kalender öffnen",
339
+ invalid: "Nicht gespeichert: „{{value}}“ ist kein Datum. Geben Sie es als {{format}} ein oder wählen Sie es im Kalender aus.",
340
+ },
343
341
  number: {
344
342
  badInput: "Nicht gespeichert: Der Text in diesem Feld ist keine Zahl. Geben Sie eine einfache Dezimalzahl ein (Beispiel: {{example}}).",
345
343
  },
@@ -354,6 +352,11 @@ const de = {
354
352
  postalCode: "Postleitzahl",
355
353
  country: "Land",
356
354
  },
355
+ boolean: {
356
+ offBadge: "{{label}} — Aus",
357
+ completed: "Abgeschlossen",
358
+ notCompleted: "Nicht abgeschlossen",
359
+ },
357
360
  textarea: {
358
361
  characterCount: "Zeichenanzahl: {{count}} von {{max}}",
359
362
  charactersRemaining: "Verbleibende Zeichen: {{count}}",
@@ -383,10 +386,15 @@ const de = {
383
386
  selectAllRows: "Alle Zeilen auswählen",
384
387
  expandRow: "Zeile erweitern",
385
388
  collapseRow: "Zeile reduzieren",
389
+ rowActions: "Zeilenaktionen",
386
390
  hideColumn: "Spalte ausblenden",
387
391
  freezeColumn: "Spalte fixieren",
388
392
  unfreezeColumn: "Spalte lösen",
389
393
  pageInfo: "Seite {{current}} von {{total}}",
394
+ firstPage: "Erste Seite",
395
+ previousPage: "Vorherige Seite",
396
+ nextPage: "Nächste Seite",
397
+ lastPage: "Letzte Seite",
390
398
  totalRecords: "{{count}} gesamt",
391
399
  noResults: "Keine Ergebnisse gefunden",
392
400
  noResultsHint: "Versuchen Sie, Ihre Filter oder Suchanfrage anzupassen.",
@@ -398,6 +406,9 @@ const de = {
398
406
  modified: "{{count}} Zeile geändert",
399
407
  modified_one: "{{count}} Zeile geändert",
400
408
  modified_other: "{{count}} Zeilen geändert",
409
+ saved: "{{count}} Zeile gespeichert",
410
+ saved_one: "{{count}} Zeile gespeichert",
411
+ saved_other: "{{count}} Zeilen gespeichert",
401
412
  saveFailed: 'Speichern fehlgeschlagen',
402
413
  selected: "{{count}} ausgewählt",
403
414
  selected_one: "{{count}} ausgewählt",
@@ -416,6 +427,7 @@ const de = {
416
427
  bulkAllOnPage_other: "Alle {{count}} auf dieser Seite sind ausgewählt.",
417
428
  bulkSelectAllMatching: "Alle {{count}} Treffer auswählen",
418
429
  bulkAllMatchingSelected: "Alle {{count}} übereinstimmenden Datensätze sind ausgewählt.",
430
+ bulkActions: "Massenaktionen",
419
431
  bulk: {
420
432
  confirmDefault: "Dies wird auf {{count}} Datensätze angewendet.",
421
433
  confirmDefault_one: "Dies wird auf {{count}} Datensatz angewendet.",
@@ -454,6 +466,7 @@ const de = {
454
466
  pullToRefresh: "Zum Aktualisieren ziehen",
455
467
  refreshing: "Wird aktualisiert…",
456
468
  openRecord: "Datensatz öffnen",
469
+ recordUnavailable: "{{object}} · Datensatz nicht verfügbar",
457
470
  rowHeight: "Zeilenhöhe: {{mode}}",
458
471
  openMenu: "Menü öffnen",
459
472
  empty: "Leer",
@@ -473,6 +486,7 @@ const de = {
473
486
  // pack controls its own separator and word order.
474
487
  summary: {
475
488
  pattern: "{{label}}: {{value}}",
489
+ pagePattern: "{{label}} (diese Seite): {{value}}",
476
490
  count: "Anzahl",
477
491
  countEmpty: "Leer",
478
492
  countFilled: "Ausgefüllt",
@@ -536,9 +550,6 @@ const de = {
536
550
  needMatchFields: "Wählen Sie mindestens ein Feld für den Abgleich aus.",
537
551
  matchOnlyField: "(nur Abgleich)",
538
552
  optCreateOptions: "Unbekannte Optionswerte beibehalten",
539
- optRunAutomations: "Automatisierungen und Trigger ausführen",
540
- optTreatHistorical: "Als historische Daten importieren",
541
- optTreatHistoricalHint: "(abgeschlossene Datensätze unverändert importieren — Zustandsautomat-Prüfungen überspringen und die ursprünglichen Zeitstempel und Autoren beibehalten, statt jetzt zu stempeln)",
542
553
  optSkipBlankKey: "Zeilen mit leerem Abgleichswert überspringen",
543
554
  optBackground: "Im Hintergrund importieren",
544
555
  optBackgroundHint: "(läuft als rückgängig machbarer Auftrag)",
@@ -553,6 +564,7 @@ const de = {
553
564
  invalidBoolean: "„{{value}}“ ist kein gültiger Wahr/Falsch-Wert",
554
565
  invalidNumber: "„{{value}}“ ist keine gültige Zahl",
555
566
  invalidDate: "„{{value}}“ ist kein gültiges Datum",
567
+ invalidTime: "„{{value}}“ ist keine gültige Uhrzeit",
556
568
  invalidOption: "„{{value}}“ gehört nicht zu den zulässigen Optionen",
557
569
  requiredValue: "Dieses Feld ist erforderlich",
558
570
  matchAmbiguous: "Passt zu mehreren vorhandenen Datensätzen — verwenden Sie einen eindeutigen Wert oder die Datensatz-ID",
@@ -575,6 +587,9 @@ const de = {
575
587
  undoing: "Wird rückgängig gemacht…",
576
588
  undoConfirm: "Diesen Import rückgängig machen? Dabei erstellte Datensätze werden gelöscht und aktualisierte Datensätze auf ihre vorherigen Werte zurückgesetzt.",
577
589
  reverted: "Rückgängig gemacht",
590
+ undoPartial: "{{count}} Zeilen wurden nicht rückgängig gemacht. Erneutes Rückgängigmachen wiederholt nur diese Zeilen.",
591
+ undoPartial_one: "{{count}} Zeile wurde nicht rückgängig gemacht. Erneutes Rückgängigmachen wiederholt nur diese Zeile.",
592
+ undoPartial_other: "{{count}} Zeilen wurden nicht rückgängig gemacht. Erneutes Rückgängigmachen wiederholt nur diese Zeilen.",
578
593
  jobStatus: {
579
594
  pending: "Ausstehend",
580
595
  running: "Läuft",
@@ -640,6 +655,8 @@ const de = {
640
655
  showingRows: "{{shown}} von {{total}} Zeilen angezeigt",
641
656
  importing: "Importiere… {{progress}}%",
642
657
  importComplete: "Import abgeschlossen",
658
+ importPartial: "Import mit Fehlern abgeschlossen",
659
+ importFailed: "Import fehlgeschlagen",
643
660
  imported: "{{count}} importiert",
644
661
  skippedCount: "{{count}} übersprungen",
645
662
  moreErrors: "…und {{count}} weitere Fehler",
@@ -700,6 +717,7 @@ const de = {
700
717
  firstRunMessage: "Legen Sie Ihren ersten Datensatz an, um loszulegen.",
701
718
  noMatches: "Keine passenden Datensätze",
702
719
  noMatchesMessage: "Keine Datensätze entsprechen Ihren aktuellen Filtern oder Ihrer Suche. Passen Sie sie an oder setzen Sie sie zurück.",
720
+ viewFilterNoMatchesMessage: "Keine Datensätze entsprechen dem Filter dieser Ansicht.",
703
721
  loadErrorTitle: "Datensätze konnten nicht geladen werden",
704
722
  loadErrorMessage: "Beim Laden dieser Daten ist etwas schiefgelaufen. Prüfen Sie Ihre Verbindung und versuchen Sie es erneut.",
705
723
  loadErrorForbiddenTitle: "Kein Zugriff",
@@ -739,15 +757,21 @@ const de = {
739
757
  recordCount_one: "{{count}} Datensatz",
740
758
  recordCount_other: "{{count}} Datensätze",
741
759
  addRecord: "Datensatz hinzufügen",
760
+ // objectui#12703 — the compact list's footer link to the object's list or the block's view.
761
+ viewAll: "Alle anzeigen",
742
762
  tabs: "Tabs",
743
763
  allRecords: "Alle Datensätze",
744
764
  search: "Suche",
745
765
  filter: "Filtern",
746
766
  filterRecords: "Datensätze filtern",
767
+ filterActive: "Filtern, {{count}} aktiv",
768
+ filterActive_one: "Filtern, {{count}} aktiv",
769
+ filterActive_other: "Filtern, {{count}} aktiv",
747
770
  sort: "Sortieren",
748
771
  sortRecords: "Datensätze sortieren",
749
772
  sortByIdSuffix: "(nach ID)",
750
773
  sortRelationalHint: "Spalten, die auf einen anderen Datensatz verweisen, werden nicht aufgeführt: Sie lassen sich nur nach der gespeicherten ID sortieren, nicht nach dem in der Zelle angezeigten Namen. Um nach diesem Namen zu sortieren, denormalisieren Sie ihn auf dieses Objekt — als gespeichertes Feld, das bei einer Änderung der Quelle geschrieben wird — und sortieren Sie danach. Kein Formelfeld: Es ist virtuell, es wird keine Spalte dafür gespeichert, und der Server verweigert die Sortierung danach.",
774
+ sortRelationalPicked: "Eine verknüpfte Spalte wird nach der gespeicherten ID sortiert, nicht nach dem angezeigten Namen.",
751
775
  resetSortToDefault: "Auf Standard der Ansicht zurücksetzen",
752
776
  group: "Gruppieren",
753
777
  groupBy: "Gruppieren nach",
@@ -768,14 +792,15 @@ const de = {
768
792
  print: "Drucken",
769
793
  hideFieldsTitle: "Felder ausblenden",
770
794
  dataLimitReached: "Die ersten {{limit}} Datensätze werden angezeigt. Möglicherweise sind weitere Daten verfügbar.",
771
- viewSettings: "Ansichtseinstellungen",
772
- viewSettingsHint: "Gruppierung, Farbe, Dichte und sichtbare Felder. Gilt für alle Benutzer dieser Ansicht.",
795
+ display: "Anzeige",
796
+ layout: "Layout",
797
+ rowNumbers: "Zeilennummern",
798
+ resetToViewDefault: "Auf Standard der Ansicht zurücksetzen",
773
799
  addGroup: "Gruppenfeld hinzufügen",
774
800
  collapsedByDefault: "Standardmäßig eingeklappt",
775
801
  removeGroup: "Entfernen",
776
802
  inlineEditShort: "Inline bearbeiten",
777
803
  inlineEditLabel: "Datensätze inline bearbeiten (Zelle anklicken zum Bearbeiten)",
778
- recordEditingTitle: "Datensatzbearbeitung",
779
804
  },
780
805
  managedByBadge: {
781
806
  systemWritable: {
@@ -806,6 +831,7 @@ const de = {
806
831
  },
807
832
  kanban: {
808
833
  uncategorized: "Nicht kategorisiert",
834
+ loadMore: "Mehr laden",
809
835
  columns: "Spalten",
810
836
  addCard: "Karte hinzufügen",
811
837
  addColumn: "Spalte hinzufügen",
@@ -813,13 +839,28 @@ const de = {
813
839
  deleteCard: "Karte löschen",
814
840
  deleteColumn: "Spalte löschen",
815
841
  noCards: "Keine Karten",
842
+ columnCards: "Karten in Spalte {{column}}",
843
+ laneCards: "Karten in {{column}} - {{lane}}",
816
844
  cardTitlePlaceholder: "Kartentitel eingeben…",
817
845
  requiredFieldsTitle: "Erforderliche Felder ausfüllen",
818
846
  requiredFieldsDescription: "Durch diese Verschiebung werden die folgenden Felder zu Pflichtfeldern. Füllen Sie sie aus, um fortzufahren.",
847
+ dnd: {
848
+ start: "Karte {{card}} in Spalte {{column}} aufgenommen.",
849
+ overCard: "Karte {{card}} über Karte {{target}} in Spalte {{column}}.",
850
+ overColumn: "Karte {{card}} über Spalte {{column}}.",
851
+ overNone: "Karte {{card}} ist über keiner Spalte.",
852
+ moved: "Karte {{card}} in Spalte {{column}} verschoben.",
853
+ dropped: "Karte {{card}} abgelegt. Sie bleibt in Spalte {{column}}.",
854
+ cancelled: "Ziehen abgebrochen. Karte {{card}} bleibt in Spalte {{column}}.",
855
+ untitledCard: "ohne Titel",
856
+ unnamedColumn: "ohne Namen",
857
+ instructions: "Um diese Karte in eine andere Spalte zu verschieben, ziehen Sie sie mit der Maus oder per Touch.",
858
+ dragging: "Karte {{card}} wird gezogen",
859
+ },
819
860
  },
820
861
  timeline: {
821
862
  bucket: {
822
- overdue: "Überfällig",
863
+ earlier: "Früher",
823
864
  today: "Heute",
824
865
  tomorrow: "Morgen",
825
866
  thisWeek: "Diese Woche",
@@ -1000,10 +1041,13 @@ const de = {
1000
1041
  readonlyAriaLabel: "Schreibgeschützte Ansicht",
1001
1042
  readonlyTooltip: "Systemansicht — im Code definiert, schreibgeschützt.",
1002
1043
  malformedFilter: "Der Filter dieser Ansicht ist fehlerhaft, daher werden keine Datensätze angezeigt: Die Bedingung {{subject}} kann nicht angewendet werden.",
1044
+ noObject: "Kein Objekt angegeben: Legen Sie {{property}} oder dataSource.object fest.",
1003
1045
  },
1004
1046
  designer: {
1005
1047
  undo: "Rückgängig",
1006
1048
  redo: "Wiederholen",
1049
+ canvasMinimap: "Minikarte der Arbeitsfläche",
1050
+ versionHistory: "Versionsverlauf",
1007
1051
  },
1008
1052
  detail: {
1009
1053
  editInlineHint: "Zum Bearbeiten doppelklicken",
@@ -1083,6 +1127,7 @@ const de = {
1083
1127
  noAttachments: "Noch keine Anhänge. Laden Sie eine Datei hoch, um zu beginnen.",
1084
1128
  downloadAttachment: "Herunterladen",
1085
1129
  deleteAttachment: "Anhang löschen",
1130
+ deleteAttachmentConfirm: "Möchten Sie den Anhang „{{name}}“ wirklich löschen?",
1086
1131
  attachmentDeleteDenied: "Nur die hochladende Person oder jemand mit Bearbeitungsrecht für diesen Datensatz darf diesen Anhang löschen.",
1087
1132
  attachmentParentAccessDenied: "Sie sind nicht berechtigt, Dateien an diesen Datensatz anzuhängen.",
1088
1133
  attachmentDownloadDenied: "Sie sind nicht berechtigt, diesen Anhang herunterzuladen.",
@@ -1146,10 +1191,12 @@ const de = {
1146
1191
  lockedByApproval: "Zur Genehmigung gesperrt",
1147
1192
  lockedTooltip: "Dieser Datensatz hat eine ausstehende Genehmigungsanfrage; die Bearbeitung ist gesperrt",
1148
1193
  writeStrippedTitle: "Gespeichert — einige Felder wurden jedoch nicht übernommen",
1194
+ writeWarningsTitle: "Gespeichert — mit Warnungen",
1149
1195
  writeStrippedReadonly: "Schreibgeschützt und daher nicht übernommen: {{fields}}",
1150
1196
  writeStrippedByState: "Im aktuellen Status dieses Datensatzes nicht bearbeitbar und daher nicht übernommen: {{fields}}",
1151
1197
  writeStrippedPrimaryKey: "Die Kennung des Datensatzes kann beim Speichern nicht geändert werden und wurde daher nicht übernommen: {{fields}}",
1152
1198
  writeStrippedComputed: "Wird vom Server per Formel berechnet, daher wurde der gesendete Wert nicht übernommen: {{fields}}",
1199
+ writeStrippedStoredExpression: "Wird aus dem Datensatz berechnet, daher wurde statt des gesendeten Werts der berechnete gespeichert: {{fields}}",
1153
1200
  writeStrippedUnknownReason: "Vom Server nicht übernommen: {{fields}}",
1154
1201
  approvalPendingEditable: "In Genehmigung · bearbeitbar",
1155
1202
  approvalPendingTooltip: "Dieser Datensatz hat eine ausstehende Genehmigungsanfrage; dieser Schritt erlaubt weiterhin die Bearbeitung",
@@ -1173,6 +1220,11 @@ const de = {
1173
1220
  linkCopied: "Link in die Zwischenablage kopiert",
1174
1221
  commentFailed: "Ihr Kommentar wurde nicht veröffentlicht. Es wurde nichts gespeichert – bitte versuchen Sie es erneut.",
1175
1222
  reactionFailed: "Ihre Reaktion wurde nicht gespeichert. Bitte versuchen Sie es erneut.",
1223
+ editComment: "Kommentar bearbeiten",
1224
+ deleteComment: "Kommentar löschen",
1225
+ deleteCommentConfirm: "Möchten Sie diesen Kommentar wirklich löschen?",
1226
+ commentEditFailed: "Ihre Änderung wurde nicht gespeichert. Der Kommentar behält seinen bisherigen Text.",
1227
+ commentDeleteFailed: "Der Kommentar wurde nicht gelöscht. Bitte versuchen Sie es erneut.",
1176
1228
  linkCopyFailed: "Link konnte nicht kopiert werden",
1177
1229
  cancel: "Abbrechen",
1178
1230
  cancelEdit: "Änderungen verwerfen",
@@ -1584,7 +1636,8 @@ const de = {
1584
1636
  },
1585
1637
  console: {
1586
1638
  studio: {
1587
- backToHome: "Zurück zur Startseite",
1639
+ title: "Studio",
1640
+ accessRequired: "Sie benötigen Studio-Zugriff, um Studio zu öffnen.",
1588
1641
  },
1589
1642
  saveAdvisoryTitle: "Gespeichert — die Autorenprüfung ergab {{count}} Hinweis(e)",
1590
1643
  saveAdvisoryTitle_one: "Gespeichert — die Autorenprüfung ergab {{count}} Hinweis",
@@ -1600,13 +1653,13 @@ const de = {
1600
1653
  savedViewsUnreadable: "Diese Liste ist leer, weil sie nicht gelesen werden konnte, nicht weil dieses Objekt keine gespeicherten Ansichten hätte. Versuchen Sie es erneut und melden Sie das Problem, wenn es weiterhin auftritt.",
1601
1654
  settingsHub: {
1602
1655
  title: "Einstellungen",
1603
- subtitle: "Konfigurieren Sie Ihren Workspace, Integrationen und Feature-Flags.",
1656
+ subtitle: "Konfigurieren Sie Ihr System, Integrationen und Feature-Flags.",
1604
1657
  loadError: "Einstellungen konnten nicht geladen werden",
1605
1658
  empty: "Keine Einstellungen registriert. Plugins können Einstellungsmanifeste über den SettingsService registrieren.",
1606
1659
  settingsCount: "{{n}} Einstellungen",
1607
1660
  beta: "Beta",
1608
1661
  categories: {
1609
- Workspace: "Workspace",
1662
+ Workspace: "Allgemein",
1610
1663
  Communication: "Kommunikation",
1611
1664
  Security: "Sicherheit",
1612
1665
  Infrastructure: "Infrastruktur",
@@ -1651,8 +1704,7 @@ const de = {
1651
1704
  },
1652
1705
  usage: {
1653
1706
  title: "KI-Nutzung",
1654
- meterBuild: "Erstellen",
1655
- meterAsk: "Fragen",
1707
+ poolUsed: "{{percent}} verbraucht",
1656
1708
  statusOk: "Reichlich übrig",
1657
1709
  statusLow: "Wird knapp",
1658
1710
  statusFull: "Limit erreicht",
@@ -1667,7 +1719,6 @@ const de = {
1667
1719
  ctaUpgrade: "Upgraden, um weiterzumachen",
1668
1720
  ctaTopUp: "Credits hinzufügen, um fortzufahren",
1669
1721
  ariaLabel: "KI-Nutzung: {{status}}",
1670
- breakdownTitle: "Bisher verbraucht",
1671
1722
  },
1672
1723
  workspaceTitle: "KI-Workspace",
1673
1724
  workspaceSubtitle: "Fragen stellen, prüfen und Unterhaltungen fortsetzen",
@@ -1724,6 +1775,8 @@ const de = {
1724
1775
  liveCanvasUnlisted: "Live-App — {{app}} (nicht gelistet bis zur Veröffentlichung)",
1725
1776
  loadingAgents: "Agenten werden geladen…",
1726
1777
  askAnything: "Fragen Sie irgendetwas…",
1778
+ askOrChangeApp: "Fragen Sie zu Ihren Daten oder lassen Sie mich diese App ändern…",
1779
+ describeAppToBuild: "Beschreiben Sie die App, die Sie erstellen möchten, oder was geändert werden soll…",
1727
1780
  emptyTitle: "Unterhaltung beginnen",
1728
1781
  emptyDescription: "Fragen Sie irgendetwas — der Assistent hat Zugriff auf den Kontext Ihrer aktuellen App.",
1729
1782
  switchAssistant: "Assistenten wechseln",
@@ -1745,12 +1798,17 @@ const de = {
1745
1798
  },
1746
1799
  clearConversation: "Leeren",
1747
1800
  sendHint: "zum Senden",
1801
+ newlineHint: "für eine neue Zeile",
1748
1802
  agentActivity: "Agentenaktivität",
1749
1803
  toolCompleted: "Abgeschlossen",
1750
1804
  toolRunning: "Läuft",
1751
1805
  toolAwaitingApproval: "Warten auf Freigabe",
1752
1806
  toolFailed: "Fehlgeschlagen",
1753
1807
  toolDetailsHidden: "Tool-Eingaben und Rohergebnisse sind in dieser Ansicht ausgeblendet.",
1808
+ toolDenyReason: "Im Chat vom Bediener abgelehnt",
1809
+ builderHandoffTitle: "Im Builder erstellen",
1810
+ builderHandoffOpen: "Im Builder öffnen →",
1811
+ builderHandoffSuperseded: "Eine neuere Anfrage liegt vor",
1754
1812
  copy: "Kopieren",
1755
1813
  copied: "Kopiert",
1756
1814
  regenerate: "Neu generieren",
@@ -1765,7 +1823,7 @@ const de = {
1765
1823
  publishOk: "Veröffentlicht — die Objekte sind jetzt live.",
1766
1824
  seedWarn: "Veröffentlicht, aber einige Beispieldaten konnten nicht geladen werden.",
1767
1825
  openBuiltApp: "App öffnen",
1768
- designBuiltApp: "In Studio gestalten",
1826
+ viewBuiltAppInStudio: "In Studio ansehen",
1769
1827
  previewDraft: "Vorschau",
1770
1828
  previewApp: "App-Vorschau",
1771
1829
  resizeSplit: "Chat und Vorschau anpassen",
@@ -1892,6 +1950,7 @@ const de = {
1892
1950
  collapse: "Chat einklappen",
1893
1951
  maximize: "Als ganze Seite öffnen",
1894
1952
  open: "Assistent öffnen",
1953
+ planAwaitingApproval: "Ein vorgeschlagener Plan wartet auf Ihre Freigabe",
1895
1954
  },
1896
1955
  group: {
1897
1956
  today: "Heute",
@@ -1902,12 +1961,9 @@ const de = {
1902
1961
  },
1903
1962
  },
1904
1963
  title: "ObjectStack Konsole",
1905
- initializing: "Anwendung wird initialisiert…",
1906
- loadingHint: "Die Einrichtung einer neuen Umgebung kann einen Moment dauern.",
1964
+ initializing: "Ihre Konsole wird geöffnet…",
1965
+ skipToContent: "Zum Inhalt springen",
1907
1966
  breadcrumb: {
1908
- dashboards: "Dashboards",
1909
- pages: "Seiten",
1910
- reports: "Berichte",
1911
1967
  system: "System",
1912
1968
  marketplace: "Marktplatz",
1913
1969
  settings: 'Einstellungen',
@@ -1936,16 +1992,30 @@ const de = {
1936
1992
  unsavedCount: "{{count}} nicht gespeicherte Änderungen",
1937
1993
  unsavedCount_one: "{{count}} nicht gespeicherte Änderung",
1938
1994
  unsavedCount_other: "{{count}} nicht gespeicherte Änderungen",
1995
+ fieldErrorsToast: "{{count}} Einstellungen müssen überprüft werden: {{settings}}",
1996
+ fieldErrorsToast_one: "{{count}} Einstellung muss überprüft werden: {{settings}}",
1997
+ fieldErrorsToast_other: "{{count}} Einstellungen müssen überprüft werden: {{settings}}",
1939
1998
  cryptoRefusalTitle: "Diese Installation kann keine Geheimnisse verschlüsseln",
1940
1999
  cryptoRefusalSubjectSuffix: "ist als verschlüsselt deklariert, daher wurde nichts geschrieben.",
1941
2000
  cryptoRefusalNoSubject: "Der als verschlüsselt deklarierte Wert wurde abgelehnt, daher wurde nichts geschrieben.",
1942
2001
  cryptoRefusalToast: "Geheimnisse können nicht verschlüsselt werden: {{subject}}",
1943
2002
  cryptoRefusalToastNoSubject: "Geheimnisse können nicht verschlüsselt werden",
1944
- },
1945
- loadingSteps: {
1946
- connecting: "Verbindung zur Datenquelle herstellen",
1947
- loadingConfig: "Konfiguration laden",
1948
- preparingWorkspace: "Arbeitsbereich vorbereiten",
2003
+ sourceBadgeInherited: "Geerbt von {{source}}",
2004
+ sourceBadgeOverrides: "Überschreibt {{source}}",
2005
+ resetToDefault: "Auf Standard zurücksetzen",
2006
+ envLockBadge: "Per Umgebung gesperrt",
2007
+ envLockBadgeTitle: "Durch eine Umgebungsvariable festgelegt — kann nicht in der Oberfläche bearbeitet werden.",
2008
+ deprecatedBadge: "Veraltet",
2009
+ deprecatedBadgeReplacedBy: "Veraltet → {{replacedBy}}",
2010
+ unsupportedSpecifierType: "Nicht unterstützter Einstellungstyp: {{type}}",
2011
+ },
2012
+ workspaceTimezonePrompt: {
2013
+ title: "Zeitzone des Systems festlegen",
2014
+ description: "Dieses System verwendet noch die Standardzeitzone der Plattform, {{current}}. Die Zeitzone des Systems bestimmt, welcher Tag in Formeln als heute gilt, wie Berichte nach Datum gruppieren und wie Datum und Uhrzeit angezeigt werden – für alle im System. Unten ist die Zeitzone Ihres Browsers eingetragen.",
2015
+ laterHint: "Sie können sie jederzeit in den Einstellungen ändern.",
2016
+ decline: "Standard beibehalten",
2017
+ confirm: "Zeitzone festlegen",
2018
+ saved: "Zeitzone des Systems auf {{zone}} festgelegt",
1949
2019
  },
1950
2020
  error: {
1951
2021
  connectionFailed: "Verbindung zum Server nicht möglich",
@@ -1970,27 +2040,28 @@ const de = {
1970
2040
  groups: {
1971
2041
  general: "Allgemein",
1972
2042
  navigation: "Navigation",
1973
- dataViews: "Datenansichten",
1974
2043
  aiChat: "KI-Assistent",
1975
- preferences: "Einstellungen",
1976
2044
  },
1977
2045
  openCommandPalette: "Befehlspalette öffnen",
1978
2046
  showShortcuts: "Tastenkürzel anzeigen",
1979
2047
  closeDialog: "Dialog / Panel schließen",
1980
2048
  toggleSidebar: "Seitenleiste umschalten",
1981
- focusSearch: "Suche fokussieren",
1982
- createRecord: "Neuen Datensatz erstellen",
1983
- refreshData: "Daten aktualisieren",
1984
- editRecord: "Ausgewählten Datensatz bearbeiten",
1985
2049
  newChat: "Neuer Chat",
1986
2050
  toggleChatsList: "Chatliste umschalten",
1987
- toggleDarkMode: "Dunkelmodus umschalten",
2051
+ goHome: "Zurück zur Startseite",
2052
+ },
2053
+ reportIndex: {
2054
+ title: "Berichte",
2055
+ emptyTitle: "Keine Berichte",
2056
+ emptyDescription: "Diese App hat keine Berichte, die Sie öffnen können.",
1988
2057
  },
1989
2058
  commandPalette: {
1990
2059
  title: "Befehlspalette",
1991
2060
  placeholder: "Befehl eingeben oder suchen…",
1992
2061
  noResults: "Keine Ergebnisse gefunden.",
1993
2062
  objects: "Objekte",
2063
+ packages: "Pakete",
2064
+ flows: "Flows",
1994
2065
  dashboards: "Dashboards",
1995
2066
  pages: "Seiten",
1996
2067
  reports: "Berichte",
@@ -2009,9 +2080,9 @@ const de = {
2009
2080
  },
2010
2081
  // objectui#9954 — see the `en` pack for what raises each case.
2011
2082
  readRate: {
2012
- ratioTitle: 'Ungewöhnliches Lesevolumen in dieser Umgebung',
2083
+ ratioTitle: 'Ungewöhnliches Lesevolumen in diesem System',
2013
2084
  ratio: 'Pro geschriebener Zeile werden {{ratio}} Zeilen gelesen. Die Plattform meldet alles über {{threshold}}. Es wird nichts begrenzt oder blockiert; dies ist ein Bericht, damit das Lesemuster geprüft werden kann.',
2014
- noWritesTitle: 'Lesevorgänge ganz ohne Schreibvorgänge in dieser Umgebung',
2085
+ noWritesTitle: 'Lesevorgänge ganz ohne Schreibvorgänge in diesem System',
2015
2086
  noWrites: 'Es werden Zeilen gelesen, aber überhaupt keine geschrieben, sodass die Leserate keine Obergrenze hat. Das ist der schwerwiegendste Messwert. Die Plattform meldet alles über {{threshold}}. Es wird nichts begrenzt oder blockiert; dies ist ein Bericht, damit das Lesemuster geprüft werden kann.',
2016
2087
  },
2017
2088
  // objectui#10439 — see the `en` pack for what raises each case.
@@ -2052,12 +2123,14 @@ const de = {
2052
2123
  viewNameInvalid: "Verwenden Sie Kleinbuchstaben, Ziffern und Unterstriche; beginnen Sie mit einem Buchstaben oder Unterstrich.",
2053
2124
  systemViewReadonly: "Systemansicht — im Code definiert, schreibgeschützt.",
2054
2125
  cannotEditMetaView: "Diese Ansicht ist integriert und im Code definiert – sie kann nicht geändert werden.",
2055
- viewConfigPermissionDenied: "Ansichtseinstellungen gelten für alle Benutzer dieser Ansicht. Ihre Änderung erfordert daher die Berechtigung „Metadaten verwalten“. Bitten Sie einen Administrator, diese Änderung vorzunehmen.",
2126
+ resetView: "Ansicht zurücksetzen",
2127
+ resetViewTitle: "Sortierung, Filter und Spaltenbreiten dieser Ansicht auf ihre eigenen Einstellungen zurücksetzen. Nur Ihre Einstellungen ändern sich.",
2056
2128
  cannotDeleteMetaView: "Diese Ansicht ist integriert und im Code definiert – sie kann nicht gelöscht werden.",
2057
2129
  expandToPage: "Als ganze Seite öffnen",
2058
2130
  objectNotFound: "Objekt nicht gefunden",
2059
2131
  objectNotFoundDescription: "Das Objekt „{{objectName}}“ existiert in der aktuellen Konfiguration nicht.",
2060
2132
  objectNotFoundHint: "Überprüfen Sie Ihre App-Navigationseinstellungen oder wählen Sie ein anderes Objekt aus der Seitenleiste.",
2133
+ objectPackageDisabled: "Das Objekt „{{objectName}}“ gehört zu einem deaktivierten Paket und wird daher nicht bereitgestellt.",
2061
2134
  filterOrNotSavable: "Dieser Filter verknüpft Bedingungen mit ODER, was eine gespeicherte Ansicht noch nicht ablegen kann. Er gilt weiterhin für diese Liste – entfernen Sie die ODER-Gruppierung, um ihn in der Ansicht zu speichern.",
2062
2135
  filterNestedNotSavable: "Dieser Filter verwendet verschachtelte Bedingungsgruppen, die eine gespeicherte Ansicht nicht ablegen kann. Reduzieren Sie ihn auf eine einzelne Bedingungsliste, um ihn in der Ansicht zu speichern.",
2063
2136
  allRecords: "Alle Datensätze",
@@ -2145,6 +2218,10 @@ const de = {
2145
2218
  ufAddField: "+ Filterfeld hinzufügen…",
2146
2219
  ufShowAllRecords: "Registerkarte „Alle Datensätze“ anzeigen",
2147
2220
  },
2221
+ runtimeDraft: {
2222
+ publishFailed: "Veröffentlichen fehlgeschlagen",
2223
+ discardFailed: "Verwerfen fehlgeschlagen",
2224
+ },
2148
2225
  localeSwitcher: {
2149
2226
  label: "Sprache",
2150
2227
  },
@@ -2152,17 +2229,22 @@ const de = {
2152
2229
  nav: {
2153
2230
  pinItem: "{{name}} anheften",
2154
2231
  unpinItem: "{{name}} loslösen",
2155
- dragToReorder: "Zum Neuanordnen ziehen",
2156
2232
  favorites: "Favoriten",
2157
2233
  launcherLabel: "App-Launcher",
2158
2234
  menuLabel: "App-Navigation",
2159
2235
  menuEmpty: "Diese App hat keine Navigationseinträge, die Sie öffnen können.",
2236
+ itemMenu: "Weitere Aktionen für {{name}}",
2237
+ openInNewTab: "In neuem Tab öffnen",
2238
+ copyLink: "Link kopieren",
2239
+ linkCopied: "Link in die Zwischenablage kopiert",
2240
+ linkCopyFailed: "Link konnte nicht kopiert werden",
2241
+ design: "Gestalten",
2160
2242
  },
2161
2243
  },
2162
2244
  auth: {
2163
2245
  setPassword: {
2164
2246
  title: "Wiederherstellungspasswort festlegen",
2165
- description: "Sie haben sich über Single Sign-on angemeldet. Legen Sie ein lokales Passwort fest, damit Sie sich weiterhin direkt an dieser Umgebung anmelden können, falls SSO einmal nicht verfügbar ist.",
2247
+ description: "Sie haben sich über Single Sign-on angemeldet. Legen Sie ein lokales Passwort fest, damit Sie sich weiterhin direkt anmelden können, falls SSO einmal nicht verfügbar ist.",
2166
2248
  email: "E-Mail",
2167
2249
  newPassword: "Neues Passwort",
2168
2250
  confirmPassword: "Passwort bestätigen",
@@ -2178,9 +2260,8 @@ const de = {
2178
2260
  signingIn: "Sie werden angemeldet…",
2179
2261
  ssoHandoff: "Weiter zu {{target}}",
2180
2262
  devAdminHint: {
2181
- title: "Entwicklungsinstanz",
2182
- body: "Melden Sie sich mit dem vorkonfigurierten Entwickler-Admin an:",
2183
- dismiss: "Ausblenden",
2263
+ title: "Lokale Entwicklungsinstanz",
2264
+ signIn: "Als Entwickler-Admin anmelden",
2184
2265
  },
2185
2266
  title: "In Ihr Konto einloggen",
2186
2267
  description: "Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein, um fortzufahren",
@@ -2212,6 +2293,20 @@ const de = {
2212
2293
  usePasswordSignInText: "Stattdessen mit Passwort anmelden",
2213
2294
  socialButton: "Weiter mit {provider}",
2214
2295
  orText: "oder mit E-Mail fortfahren",
2296
+ ssoButton: "Mit SSO anmelden",
2297
+ ssoOnlyDescription: "Melden Sie sich über das Single Sign-on Ihrer Organisation an",
2298
+ usePasswordText: "Stattdessen ein Passwort verwenden",
2299
+ backToSsoText: "Zurück zum Single Sign-on",
2300
+ // objectui#12600 — the console login card's own header, the password
2301
+ // field's reveal toggle, and the footer's legal links.
2302
+ welcomeTitle: "Willkommen zurück",
2303
+ welcomeDescription: "Melden Sie sich an, um weiterzuarbeiten",
2304
+ showPasswordText: "Passwort anzeigen",
2305
+ hidePasswordText: "Passwort verbergen",
2306
+ footer: {
2307
+ privacy: "Datenschutz",
2308
+ terms: "Nutzungsbedingungen",
2309
+ },
2215
2310
  },
2216
2311
  register: {
2217
2312
  title: "Konto erstellen",
@@ -2234,7 +2329,7 @@ const de = {
2234
2329
  orText: "oder mit E-Mail fortfahren",
2235
2330
  errors: {
2236
2331
  userExists: "Ein Konto mit dieser E-Mail existiert bereits. Versuchen Sie sich anzumelden.",
2237
- selfRegistrationClosed: "Die Selbstregistrierung ist in dieser Umgebung nicht möglich. Bitten Sie einen Administrator um eine Einladung.",
2332
+ selfRegistrationClosed: "Die Selbstregistrierung ist in diesem System nicht möglich. Bitten Sie einen Administrator um eine Einladung.",
2238
2333
  emailDomainNotAllowed: "Die Domain dieser E-Mail-Adresse ist für die Registrierung hier nicht zugelassen. Verwenden Sie die E-Mail-Adresse Ihrer Organisation oder bitten Sie einen Administrator um eine Einladung.",
2239
2334
  },
2240
2335
  verifyInbox: {
@@ -2311,7 +2406,7 @@ const de = {
2311
2406
  checkSpam: "E-Mail nicht erhalten? Überprüfen Sie Ihren Spam-Ordner oder kontaktieren Sie den Support.",
2312
2407
  or: "Oder",
2313
2408
  // objectui#3546 slice three.
2314
- resendUnavailable: "Für diese Umgebung ist möglicherweise kein E-Mail-Versand konfiguriert. Kontaktieren Sie den Support, wenn das Problem bestehen bleibt.",
2409
+ resendUnavailable: "Für dieses System ist möglicherweise kein E-Mail-Versand konfiguriert. Kontaktieren Sie den Support, wenn das Problem bestehen bleibt.",
2315
2410
  },
2316
2411
  setup: {
2317
2412
  welcomeTitle: "Willkommen bei ObjectStack",
@@ -2355,7 +2450,7 @@ const de = {
2355
2450
  disabledDescription: "Für diese Bereitstellung ist die Geräteautorisierung nicht aktiviert, daher kann dieses Gerät hier nicht genehmigt werden.",
2356
2451
  },
2357
2452
  shell: {
2358
- tenantHostHint: "Sie melden sich bei diesem Arbeitsbereich an",
2453
+ tenantHostHint: "Sie melden sich bei diesem System an",
2359
2454
  },
2360
2455
  layout: {
2361
2456
  headline: "Leistungsstarke Geschäftsanwendungen schneller entwickeln.",
@@ -2365,6 +2460,7 @@ const de = {
2365
2460
  signOut: "Stattdessen abmelden",
2366
2461
  password: {
2367
2462
  title: "Ihr Passwort ist abgelaufen",
2463
+ resetTitle: "Sie müssen Ihr Passwort ändern",
2368
2464
  fallbackMessage: "Bitte legen Sie ein neues Passwort fest, um fortzufahren.",
2369
2465
  current: "Aktuelles Passwort",
2370
2466
  next: "Neues Passwort",
@@ -2390,6 +2486,11 @@ const de = {
2390
2486
  verifying: "Wird überprüft…",
2391
2487
  invalidCode: "Ungültiger Code. Bitte erneut versuchen.",
2392
2488
  },
2489
+ impersonation: {
2490
+ passwordTitle: "{{user}} muss das Passwort ändern",
2491
+ mfaTitle: "{{user}} muss die Zwei-Faktor-Authentifizierung einrichten",
2492
+ body: "Sie handeln als {{user}}, und nur diese Person kann das selbst erledigen. Beenden Sie den Identitätswechsel, um zu Ihrem eigenen Konto zurückzukehren.",
2493
+ },
2393
2494
  },
2394
2495
  },
2395
2496
  // objectui#3546 slice three — the /oauth/consent screen.
@@ -2398,12 +2499,17 @@ const de = {
2398
2499
  title: "{{appName}} möchte auf Ihr Konto zugreifen",
2399
2500
  request: "{{appName}} fordert eine Berechtigung an{{suffix}}.",
2400
2501
  unknownApp: "eine Anwendung",
2502
+ unidentified: "Diese Anwendung konnte nicht identifiziert werden.",
2503
+ clientId: "Client-ID",
2401
2504
  willAllow: "Diese App kann dann:",
2402
2505
  scope: {
2403
2506
  openid: "Ihre Identität bestätigen",
2404
2507
  profile: "Ihr Basisprofil lesen (Name, Bild)",
2405
2508
  email: "Ihre E-Mail-Adresse lesen",
2406
2509
  offlineAccess: "Angemeldet bleiben (Zugriff erneuern)",
2510
+ dataRead: "Datensätze lesen (im Rahmen Ihrer eigenen Berechtigungen)",
2511
+ dataWrite: "Datensätze erstellen, ändern und löschen (im Rahmen Ihrer eigenen Berechtigungen)",
2512
+ actionsExecute: "Aktionen in Ihrem Namen ausführen (im Rahmen Ihrer eigenen Berechtigungen)",
2407
2513
  },
2408
2514
  deny: "Ablehnen",
2409
2515
  authorize: "Autorisieren",
@@ -2446,8 +2552,8 @@ const de = {
2446
2552
  password: {
2447
2553
  changeTitle: "Passwort ändern",
2448
2554
  setTitle: "Lokales Passwort festlegen",
2449
- changeDescription: "Aktualisieren Sie das Passwort, mit dem Sie sich in dieser Umgebung anmelden.",
2450
- setDescription: "Sie haben sich per Single Sign-On angemeldet. Legen Sie ein lokales Passwort fest, um sich in dieser Umgebung auch mit E-Mail und Passwort anmelden zu können.",
2555
+ changeDescription: "Aktualisieren Sie das Passwort, mit dem Sie sich anmelden.",
2556
+ setDescription: "Sie haben sich per Single Sign-On angemeldet. Legen Sie ein lokales Passwort fest, um sich auch mit E-Mail und Passwort anmelden zu können.",
2451
2557
  current: "Aktuelles Passwort",
2452
2558
  new: "Neues Passwort",
2453
2559
  password: "Passwort",
@@ -2456,7 +2562,7 @@ const de = {
2456
2562
  mismatch: "Die Passwörter stimmen nicht überein",
2457
2563
  enterCurrent: "Geben Sie Ihr aktuelles Passwort ein",
2458
2564
  changed: "Passwort geändert.",
2459
- localSet: "Lokales Passwort festgelegt. Sie können sich in dieser Umgebung jetzt auch mit E-Mail und Passwort anmelden.",
2565
+ localSet: "Lokales Passwort festgelegt. Sie können sich jetzt auch mit E-Mail und Passwort anmelden.",
2460
2566
  changeAction: "Passwort ändern",
2461
2567
  setAction: "Passwort festlegen",
2462
2568
  },
@@ -2471,21 +2577,21 @@ const de = {
2471
2577
  unknown: "Ein unerwarteter Fehler ist aufgetreten.",
2472
2578
  },
2473
2579
  workspace: {
2474
- label: "Arbeitsbereiche",
2475
- default: "Mein Arbeitsbereich",
2476
- switch: "Arbeitsbereich wechseln",
2477
- createTitle: "Arbeitsbereich erstellen",
2478
- createDescription: "Ein Arbeitsbereich ist ein gemeinsamer Raum für Ihr Team zur Zusammenarbeit.",
2479
- createButton: "Arbeitsbereich erstellen",
2480
- nameLabel: "Name des Arbeitsbereichs",
2580
+ label: "Organisationen",
2581
+ default: "Meine Organisation",
2582
+ switch: "Organisation wechseln",
2583
+ createTitle: "Organisation erstellen",
2584
+ createDescription: "Eine Organisation ist ein gemeinsamer Raum für Ihr Team zur Zusammenarbeit.",
2585
+ createButton: "Organisation erstellen",
2586
+ nameLabel: "Name der Organisation",
2481
2587
  namePlaceholder: "z.B. Acme Inc",
2482
2588
  slugLabel: "URL-Slug",
2483
2589
  slugHint: "In URLs verwendet. Nur Kleinbuchstaben, Zahlen und Bindestriche.",
2484
2590
  invite: "Mitglied einladen",
2485
2591
  members: "Mitglieder",
2486
- settings: "Arbeitsbereichseinstellungen",
2592
+ settings: "Organisationseinstellungen",
2487
2593
  multiOrgDisabled: "Das Erstellen neuer Organisationen ist auf dieser Instanz deaktiviert.",
2488
- createFailed: 'Arbeitsbereich konnte nicht erstellt werden',
2594
+ createFailed: 'Organisation konnte nicht erstellt werden',
2489
2595
  },
2490
2596
  help: {
2491
2597
  onThisPage: "Auf dieser Seite",
@@ -2493,6 +2599,12 @@ const de = {
2493
2599
  appDocs: 'Dokumentation dieser App',
2494
2600
  allDocs: 'Gesamte Dokumentation',
2495
2601
  onlineDocs: 'Online-Dokumentation',
2602
+ loadingDocumentation: 'Dokumentation wird geladen',
2603
+ about: 'Über',
2604
+ aboutTitle: 'Über diese Konsole',
2605
+ aboutDescription: 'Der Build, aus dem diese Konsole kompiliert wurde.',
2606
+ aboutBuild: 'Konsolen-Build',
2607
+ aboutBuildUnknown: 'Unbekannter Build (beim Erstellen dieser Konsole wurde keine Version gesetzt)',
2496
2608
  },
2497
2609
  sidebar: {
2498
2610
  packageManagement: "Paketverwaltung",
@@ -2507,18 +2619,16 @@ const de = {
2507
2619
  area: "Bereich",
2508
2620
  scope: "Bereich",
2509
2621
  recent: "Zuletzt",
2510
- favorites: "Favoriten",
2511
2622
  starred: "Markiert",
2512
2623
  removeFromFavorites: "{{name}} aus Favoriten entfernen",
2624
+ allReports: "Alle Berichte",
2513
2625
  },
2514
2626
  topbar: {
2515
2627
  openAssistant: "Assistent {{name}} öffnen",
2516
2628
  offline: "Offline",
2517
2629
  usersOnline: "Aktuell online befindliche Benutzer",
2518
2630
  switchView: "Ansicht wechseln",
2519
- switchObject: "Objekt wechseln",
2520
2631
  connection: {
2521
- connected: "Verbunden",
2522
2632
  connecting: "Verbindung wird hergestellt…",
2523
2633
  reconnecting: "Verbindung wird wiederhergestellt…",
2524
2634
  disconnected: "Getrennt",
@@ -2531,23 +2641,22 @@ const de = {
2531
2641
  },
2532
2642
  aiAssistant: "KI-Assistent",
2533
2643
  designInStudio: "Im Studio gestalten",
2644
+ editApp: "App bearbeiten",
2534
2645
  },
2535
2646
  home: {
2536
2647
  build: {
2537
2648
  title: "App erstellen",
2538
- subtitle: "Von Grund auf beginnen — Objekte, Formulare, Automatisierungen und Oberflächen gestalten.",
2539
- noCapability: "Das Erstellen von Apps ist in diesem Arbeitsbereich nicht verfügbar — es erfordert die Berechtigung „Metadaten verwalten“, die Ihr Konto nicht besitzt.",
2649
+ noCapability: "Das Erstellen von Apps ist in diesem System nicht verfügbar — es erfordert die Berechtigung „Metadaten verwalten“, die Ihr Konto nicht besitzt.",
2540
2650
  },
2541
2651
  template: {
2542
2652
  title: "Mit einer Vorlage starten",
2543
- subtitle: "Installieren Sie eine Vorlagen-App aus dem Marktplatz und passen Sie sie an.",
2544
2653
  marketplaceDisabled: "Für diese Laufzeitumgebung ist kein App-Marktplatz konfiguriert, daher gibt es hier keine Vorlagen zum Installieren.",
2545
2654
  },
2546
2655
  welcomeAdminDescription: "Beschreiben Sie Ihr Geschäft in einem Satz — die KI erzeugt die Objekte, Bildschirme, APIs und Agent-Tools. Oder richten Sie alles selbst über das Menü links ein.",
2547
2656
  welcomeAdminDescriptionNoBuild: "Richten Sie Ihre erste Anwendung über das Verwaltungsmenü links ein. Sobald Daten vorhanden sind, kann der KI-Assistent bei der Auswertung helfen.",
2548
2657
  welcomeAdminDescriptionNoAi: "Richten Sie Ihre erste Anwendung über das Verwaltungsmenü links ein.",
2549
2658
  noAppsTitle: "Noch keine Anwendungen",
2550
- noAppsDescription: "Ihr Workspace wird eingerichtet — Apps, die Ihr Administrator für Sie freigibt, erscheinen hier.",
2659
+ noAppsDescription: "Das System wird eingerichtet — Apps, die Ihr Administrator für Sie freigibt, erscheinen hier.",
2551
2660
  buildWithAI: "Mit KI erstellen",
2552
2661
  askAI: "KI fragen",
2553
2662
  recoveryReminder: {
@@ -2556,16 +2665,22 @@ const de = {
2556
2665
  dismiss: "Ausblenden",
2557
2666
  },
2558
2667
  pendingDrafts: {
2559
- message: "Sie haben {{count}} unveröffentlichte Änderung(en) — veröffentlichen Sie sie, um sie live zu schalten.",
2560
- message_one: "Sie haben {{count}} unveröffentlichte Änderung — veröffentlichen Sie sie, um sie live zu schalten.",
2561
- message_other: "Sie haben {{count}} unveröffentlichte Änderungen — veröffentlichen Sie sie, um sie live zu schalten.",
2668
+ // objectui#12602 — the drafts row in Home's "My work" section: the
2669
+ // count, then the first draft names joined by `nameSeparator`, in
2670
+ // their package when they share one.
2671
+ title: "{{count}} unveröffentlichte Änderung(en)",
2672
+ title_one: "{{count}} unveröffentlichte Änderung",
2673
+ title_other: "{{count}} unveröffentlichte Änderungen",
2674
+ inPackage: "{{names}} warten in {{package}} auf Veröffentlichung",
2675
+ waiting: "{{names}} warten auf Veröffentlichung",
2676
+ nameSeparator: ", ",
2562
2677
  cta: "Veröffentlichen",
2563
2678
  publishing: "Wird veröffentlicht…",
2564
2679
  published: "Veröffentlicht! Ihre Änderungen sind live.",
2565
2680
  publishFailed: "Veröffentlichen fehlgeschlagen",
2566
2681
  // objectui#3546 slice six — seedWarn ist derselbe englische Satz wie
2567
2682
  // console.ai.seedWarn, also dieselbe Übersetzung. Der "(n)"-Marker folgt
2568
- // home.pendingDrafts.message ("Änderung(en)") in dieser Familie.
2683
+ // home.pendingDrafts.title ("Änderung(en)") in dieser Familie.
2569
2684
  nothing: "Nichts zu veröffentlichen.",
2570
2685
  probeWarn: "Veröffentlicht, aber die Überprüfung hat Probleme gefunden.",
2571
2686
  seedWarn: "Veröffentlicht, aber einige Beispieldaten konnten nicht geladen werden.",
@@ -2579,11 +2694,18 @@ const de = {
2579
2694
  showMoreApps: "Mehr",
2580
2695
  showLess: "Weniger anzeigen",
2581
2696
  continueEmpty: "Elemente, die Sie öffnen, erscheinen hier.",
2582
- actionCenter: {
2583
- title: "Erfordert Ihre Aufmerksamkeit",
2584
- empty: "Alles erledigt",
2697
+ // objectui#12602 — Home's "My work" section: its heading, the link to the
2698
+ // full inbox, each column's title, "view all" link and empty line.
2699
+ myWork: {
2700
+ title: "Meine Arbeit",
2701
+ openInbox: "Posteingang öffnen",
2702
+ viewAll: "Alle anzeigen",
2703
+ approvals: "Zur Genehmigung",
2704
+ approvalsEmpty: "Nichts wartet auf Ihre Genehmigung",
2705
+ notifications: "Benachrichtigungen",
2706
+ notificationsEmpty: "Keine ungelesenen Benachrichtigungen",
2585
2707
  },
2586
- loading: "Arbeitsbereich wird geladen…",
2708
+ loading: "Wird geladen…",
2587
2709
  welcome: "Willkommen bei ObjectUI",
2588
2710
  welcomeDescription: "Erstellen Sie zunächst Ihre erste Anwendung oder konfigurieren Sie Ihre Systemeinstellungen.",
2589
2711
  createFirstApp: "Erstellen Sie Ihre erste App",
@@ -2594,7 +2716,7 @@ const de = {
2594
2716
  manageObjects: "Objekte verwalten",
2595
2717
  manageObjectsDesc: "Datenmodelle konfigurieren",
2596
2718
  systemSettings: "Systemeinstellungen",
2597
- systemSettingsDesc: "Konfigurieren Sie Ihren Arbeitsbereich",
2719
+ systemSettingsDesc: "Konfigurieren Sie Ihr System",
2598
2720
  },
2599
2721
  appCard: {
2600
2722
  noDescription: "Keine Beschreibung",
@@ -2604,7 +2726,17 @@ const de = {
2604
2726
  greetingAfternoon: "Guten Nachmittag",
2605
2727
  greetingEvening: "Guten Abend",
2606
2728
  greetingNight: "Nachtschicht",
2607
- heroTagline: "Machen Sie dort weiter, wo Sie aufgehört haben, oder entdecken Sie etwas Neues.",
2729
+ greetingSeparator: ", ",
2730
+ greetingEnd: ".",
2731
+ search: "Apps, Datensätze, Seiten durchsuchen…",
2732
+ summary: {
2733
+ approvals: "Heute warten {{count}} Genehmigungen auf Sie",
2734
+ approvals_one: "Heute wartet {{count}} Genehmigung auf Sie",
2735
+ approvals_other: "Heute warten {{count}} Genehmigungen auf Sie",
2736
+ none: "Heute wartet nichts auf Sie",
2737
+ },
2738
+ addApp: "App hinzufügen",
2739
+ appOpened: "{{time}}",
2608
2740
  open: "Öffnen",
2609
2741
  recentApps: {
2610
2742
  title: "Zuletzt geöffnet",
@@ -2613,6 +2745,8 @@ const de = {
2613
2745
  dashboard: "Dashboard",
2614
2746
  page: "Seite",
2615
2747
  report: "Bericht",
2748
+ package: "Paket",
2749
+ view: "Listenansicht",
2616
2750
  record: "Datensatz",
2617
2751
  metadata: "Metadaten",
2618
2752
  },
@@ -2650,11 +2784,17 @@ const de = {
2650
2784
  manageAllApps: "Alle Apps verwalten",
2651
2785
  systemConsole: "Systemkonsole",
2652
2786
  noAppsConfigured: "Keine Apps konfiguriert",
2787
+ allApps: "Alle Apps",
2788
+ editAppInStudio: "{{app}} im Studio bearbeiten",
2789
+ backToHome: "Zurück zur Startseite",
2790
+ settings: "Einstellungen",
2791
+ productHome: "{{product}} Startseite",
2653
2792
  },
2654
2793
  activityFeed: {
2655
2794
  title: "Letzte Aktivitäten",
2656
2795
  filter: "Filtern",
2657
2796
  empty: "Keine letzten Aktivitäten",
2797
+ accessDenied: "Sie haben keine Berechtigung, Aktivitäten anzuzeigen.",
2658
2798
  ariaLabel: "Aktivitätsfeed",
2659
2799
  typeCreate: "Erstellen",
2660
2800
  typeUpdate: "Aktualisieren",
@@ -2719,11 +2859,19 @@ const de = {
2719
2859
  appAccessDenied: "Sie haben keinen Zugriff auf diese App",
2720
2860
  appAccessDeniedDescription: "Diese App existiert, aber Ihr Konto ist nicht berechtigt, sie zu öffnen. Bitten Sie einen Administrator um Zugriff.",
2721
2861
  appAccessDeniedHome: "Zurück zur Startseite",
2862
+ appNothingAvailable: "In {{app}} ist für Sie noch nichts verfügbar",
2863
+ appNothingAvailableDescription: "Diese App enthält keine Seiten, die Ihr Konto öffnen kann. Bitten Sie einen Administrator um Zugriff.",
2864
+ appNothingAvailableGrantDescription: "Diese App enthält keine Seiten, die Ihr Konto öffnen kann. Sie können den Zugriff in der Einrichtung gewähren.",
2865
+ openSetup: "Einrichtung öffnen",
2722
2866
  createFirstApp: "Erste App erstellen",
2723
2867
  systemSettings: "Systemeinstellungen",
2724
2868
  back: "Zurück",
2725
2869
  recordNotFound: "Datensatz nicht gefunden",
2726
2870
  recordNotFoundDescription: "Der gesuchte Datensatz existiert nicht oder wurde möglicherweise gelöscht.",
2871
+ recordAccessDenied: "Kein Zugriff auf {{object}}-Datensätze",
2872
+ recordAccessDeniedDescription: "Sie haben keine Berechtigung, Datensätze dieses Typs anzuzeigen. Wenden Sie sich an Ihren Administrator, wenn Sie Zugriff benötigen.",
2873
+ recordLoadFailed: "Dieser Datensatz konnte nicht geladen werden",
2874
+ recordLoadFailedDescription: "Beim Laden ist etwas schiefgelaufen. Prüfen Sie Ihre Verbindung und versuchen Sie es erneut.",
2727
2875
  },
2728
2876
  actionDialog: {
2729
2877
  title: "Aktionsparameter",
@@ -2756,12 +2904,15 @@ const de = {
2756
2904
  updateFailed: "Navigation konnte nicht aktualisiert werden",
2757
2905
  },
2758
2906
  objectActions: {
2759
- resetPackageSetConfirm: "Dieses Berechtigungsset gehört zu einem installierten Paket und kann nicht entfernt werden. Beim Löschen wird es auf den ausgelieferten Ausgangszustand zurückgesetzt und Ihre Anpassungen in dieser Umgebung gehen verloren. Fortfahren?",
2760
- resetPackageSetSuccess: "Berechtigungsset auf den ausgelieferten Ausgangszustand zurückgesetzt",
2761
2907
  deleteSuccess: "{{label}} erfolgreich gelöscht",
2762
2908
  deleteFailed: "{{label}} konnte nicht gelöscht werden",
2763
2909
  noRecordId: "Keine Datensatz-ID angegeben",
2764
2910
  deleteConfirm: "Möchten Sie diesen Datensatz wirklich löschen?",
2911
+ deleteConfirmTitle: "{{label}} „{{name}}“ löschen?",
2912
+ bulkDeleteConfirmTitle: "{{count}} {{label}}-Datensätze löschen?",
2913
+ bulkDeleteConfirmTitle_one: "{{count}} {{label}}-Datensatz löschen?",
2914
+ bulkDeleteConfirmTitle_other: "{{count}} {{label}}-Datensätze löschen?",
2915
+ deleteConfirmButton: "Löschen",
2765
2916
  bulkDeleteSuccess: "{{count}} {{label}}-Datensätze gelöscht",
2766
2917
  bulkDeleteSuccess_one: "{{count}} {{label}}-Datensatz gelöscht",
2767
2918
  bulkDeleteSuccess_other: "{{count}} {{label}}-Datensätze gelöscht",
@@ -2797,6 +2948,7 @@ const de = {
2797
2948
  loading: "Wird geladen…",
2798
2949
  failedToLoad: "Matrix konnte nicht geladen werden: {{message}}",
2799
2950
  needsAcross: "Matrixbericht erfordert mindestens ein `groupingsAcross`-Feld.",
2951
+ forbiddenMessage: "Sie haben keine Berechtigung, die Daten dieses Berichts anzuzeigen.",
2800
2952
  aggregate: {
2801
2953
  count: "Anzahl",
2802
2954
  countDistinct: "Eindeutige Anzahl",
@@ -2811,18 +2963,18 @@ const de = {
2811
2963
  },
2812
2964
  },
2813
2965
  organizations: {
2814
- create: "Workspace erstellen",
2815
- mine: "Meine Workspaces",
2816
- title: "Workspaces",
2817
- heading: "Ihre Workspaces",
2818
- subtitle: "Wählen Sie einen Workspace, um fortzufahren, oder erstellen Sie einen neuen.",
2819
- searchPlaceholder: "Workspace suchen",
2820
- new: "Neuer Workspace",
2821
- current: "Aktueller Workspace",
2966
+ create: "Organisation erstellen",
2967
+ mine: "Meine Organisationen",
2968
+ title: "Organisationen",
2969
+ heading: "Ihre Organisationen",
2970
+ subtitle: "Wählen Sie eine Organisation, um fortzufahren, oder erstellen Sie eine neue.",
2971
+ searchPlaceholder: "Organisation suchen",
2972
+ new: "Neue Organisation",
2973
+ current: "Aktuelle Organisation",
2822
2974
  manage: "Verwalten",
2823
- emptyTitle: "Noch keine Workspaces",
2824
- emptyDescription: "Erstellen Sie Ihren ersten Workspace, um loszulegen.",
2825
- noMatches: "Keine Workspaces entsprechen Ihrer Suche.",
2975
+ emptyTitle: "Noch keine Organisationen",
2976
+ emptyDescription: "Erstellen Sie Ihre erste Organisation, um loszulegen.",
2977
+ noMatches: "Keine Organisationen entsprechen Ihrer Suche.",
2826
2978
  },
2827
2979
  organization: {
2828
2980
  roles: {
@@ -2907,6 +3059,7 @@ const de = {
2907
3059
  readOnlyNote: "Nur Eigentümer können Einstellungen ändern.",
2908
3060
  nameLabel: "Name der Organisation",
2909
3061
  slugLabel: "Slug",
3062
+ slugLockedNote: "Diese Organisation hat aktive Umgebungen, daher kann ihr Slug hier nicht geändert werden: Eine Umbenennung verschiebt auch deren Subdomains.",
2910
3063
  logoLabel: "Logo",
2911
3064
  logoUpload: "Hochladen",
2912
3065
  logoReplace: "Ersetzen",
@@ -2979,8 +3132,12 @@ const de = {
2979
3132
  noPendingApprovals: "Keine ausstehenden Genehmigungen",
2980
3133
  openApprovalsInbox: "Genehmigungs-Posteingang öffnen",
2981
3134
  badgeTotal: "{{total}} insgesamt",
2982
- badgeNotifications: "{{unread}} Benachrichtigungen",
2983
- badgeApprovals: "{{approvals}} ausstehende Genehmigungen",
3135
+ badgeNotifications: "{{count}} Benachrichtigungen",
3136
+ badgeNotifications_one: "{{count}} Benachrichtigung",
3137
+ badgeNotifications_other: "{{count}} Benachrichtigungen",
3138
+ badgeApprovals: "{{count}} ausstehende Genehmigungen",
3139
+ badgeApprovals_one: "{{count}} ausstehende Genehmigung",
3140
+ badgeApprovals_other: "{{count}} ausstehende Genehmigungen",
2984
3141
  arrivalMany: "{{count}} neue Nachrichten",
2985
3142
  arrivalMany_one: "{{count}} neue Nachricht",
2986
3143
  arrivalMany_other: "{{count}} neue Nachrichten",
@@ -3025,10 +3182,10 @@ const de = {
3025
3182
  body: 'Die MCP-Schnittstelle ist ausgeschaltet (OS_MCP_SERVER_ENABLED=false). Bitten Sie Ihren Betreiber, sie wieder zu aktivieren.',
3026
3183
  },
3027
3184
  url: {
3028
- title: 'MCP-Endpunkt dieser Umgebung',
3185
+ title: 'MCP-Endpunkt dieses Systems',
3029
3186
  body: 'Jeder MCP-fähige KI-Client verbindet sich über diese URL. Die Identität ist Self-Service: Die Bereitstellung ist ihr eigener OAuth-2.1-Autorisierungsserver — Sie melden sich als Sie selbst an, und jeder Aufruf unterliegt Ihren Berechtigungen und der Zeilensicherheit.',
3030
3187
  downloadSkill: 'SKILL.md herunterladen',
3031
- skillHint: 'Die portable Agenten-Skill-Datei: erklärt jedem skill-fähigen Agenten die Arbeit mit dieser Umgebung.',
3188
+ skillHint: 'Die portable Agenten-Skill-Datei: erklärt jedem skill-fähigen Agenten die Arbeit mit diesem System.',
3032
3189
  },
3033
3190
  claude: {
3034
3191
  body: 'Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen, dann diese URL einfügen und im Browser anmelden.',
@@ -3071,15 +3228,8 @@ const de = {
3071
3228
  importAction: "Importieren",
3072
3229
  dismiss: "Verwerfen",
3073
3230
  },
3074
- cloudOnboarding: {
3075
- hintCreate: "Erstellen Sie Ihre erste Umgebung — ein privater Arbeitsbereich mit eigener URL, Datenbank und eigenem Tarif. Die Entwicklung findet darin statt.",
3076
- hintReady: "Ihre Produktionsumgebung ist bereit. Öffnen Sie sie, um Ihre Apps zu erstellen und auszuführen — alles geschieht innerhalb der Umgebung.",
3077
- createEnvironment: "Umgebung erstellen",
3078
- openProduction: "Produktion öffnen",
3079
- manageEnvironments: "Umgebungen verwalten",
3080
- },
3081
- cloudPlanStatus: {
3082
- current: "Aktueller Tarif",
3231
+ cloudWorkspaceTimezoneNotice: {
3232
+ seeded: "Die Zeitzone der Umgebung wurde beim Erstellen anhand Ihres Browsers auf {{zone}} festgelegt. Sie können sie unter Einstellungen → Lokalisierung ändern.",
3083
3233
  },
3084
3234
  ai: {
3085
3235
  nlQuery: {
@@ -3156,8 +3306,8 @@ const de = {
3156
3306
  rowConversational: "Build-/Ask-Modell",
3157
3307
  rowStructured: "Strukturiert (Blueprint / Seed)",
3158
3308
  rowReasoning: "Reasoning-Aufwand",
3159
- readFailed: "Das effektive KI-Modell konnte nicht gelesen werden. In dieser Umgebung läuft möglicherweise kein KI-Dienst, oder Ihnen fehlt die Berechtigung ai:read.",
3160
- readFailedWithStatus: "Das effektive KI-Modell konnte nicht gelesen werden (HTTP {{status}}). In dieser Umgebung läuft möglicherweise kein KI-Dienst, oder Ihnen fehlt die Berechtigung ai:read.",
3309
+ readFailed: "Das effektive KI-Modell konnte nicht gelesen werden. In diesem System läuft möglicherweise kein KI-Dienst, oder Ihnen fehlt die Berechtigung ai:read.",
3310
+ readFailedWithStatus: "Das effektive KI-Modell konnte nicht gelesen werden (HTTP {{status}}). In diesem System läuft möglicherweise kein KI-Dienst, oder Ihnen fehlt die Berechtigung ai:read.",
3161
3311
  overridesInEffect: "Aktive Overrides: ",
3162
3312
  noOverrides: "keine — es gelten die Standardwerte des bereitgestellten Codes.",
3163
3313
  adapter: "Adapter: ",
@@ -3175,9 +3325,13 @@ const de = {
3175
3325
  // against). `humanizeToolName` looks each up as
3176
3326
  // `chatbot.tool.<tool_name>` and falls back to its English
3177
3327
  // title-caser for a custom / third-party tool, so a name
3178
- // missing here is degraded, never broken. The `en` values
3179
- // are deliberately EQUAL to what that title-caser produces:
3180
- // adding the key must not silently reword the English UI.
3328
+ // missing here is degraded, never broken. Every value, `en`
3329
+ // included, is a short sentence in the pack's language
3330
+ // saying what the step does (cloud#2927 Target 3, ruled
3331
+ // 「同意」; objectui#12724): never the tool id, and never
3332
+ // the title-caser's output for it, which is how the step
3333
+ // reads for a tool the pack has no entry for.
3334
+ // `toolLabels-locale-parity-7481` holds both.
3181
3335
  // `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
3182
3336
  // set for both surfaces (they used to carry separate
3183
3337
  // tables and disagreed on casing).
@@ -3195,42 +3349,48 @@ const de = {
3195
3349
  // pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
3196
3350
  // against the registry instead of against its own hand-held list.
3197
3351
  chatbot: {
3352
+ answer: {
3353
+ showFull: 'Ganze Antwort anzeigen',
3354
+ collapse: 'Einklappen',
3355
+ expandTable: 'Erweitern',
3356
+ exitExpandedTable: 'Schließen',
3357
+ },
3198
3358
  tool: {
3199
- aggregate_data: "Daten aggregieren",
3200
- get_record: "Datensatz lesen",
3201
- query_data: "Daten abfragen",
3202
- query_records: "Datensätze abfragen",
3203
- search_knowledge: "Wissensdatenbank durchsuchen",
3204
- visualize_data: "Diagramm erstellen",
3205
- add_field: "Feld hinzufügen",
3206
- apply_blueprint: "App erstellen",
3207
- apply_edit: "Änderungen anwenden",
3208
- create_metadata: "Metadaten anlegen",
3209
- create_object: "Objekt anlegen",
3210
- create_package: "Paket anlegen",
3211
- create_seed: "Beispieldaten erzeugen",
3212
- delete_field: "Feld löschen",
3213
- describe_metadata: "Metadaten ansehen",
3214
- describe_object: "Objektstruktur ansehen",
3215
- get_active_package: "Aktives Paket lesen",
3216
- get_authoring_rules: "Autorenregeln lesen",
3217
- get_metadata_schema: "Metadatenschema lesen",
3218
- get_package: "Paket lesen",
3219
- list_metadata: "Metadaten auflisten",
3220
- list_objects: "Objekte auflisten",
3221
- list_packages: "Pakete auflisten",
3222
- load_tools: "Werkzeuge laden",
3223
- modify_field: "Feld ändern",
3224
- open_record: "Datensatz öffnen",
3225
- propose_blueprint: "App-Entwurf erstellen",
3226
- set_active_package: "Aktives Paket wechseln",
3227
- suggest_builder: "Vorgehen vorschlagen",
3228
- test_flow: "Flow testen",
3229
- todo_write: "Aufgaben notieren",
3230
- toggle_flow: "Flow ein- oder ausschalten",
3231
- update_metadata: "Metadaten aktualisieren",
3232
- validate_expression: "Ausdruck prüfen",
3233
- verify_build: "Aufbau prüfen",
3359
+ aggregate_data: "Die Daten zusammenfassen",
3360
+ get_record: "Den Datensatz lesen",
3361
+ query_data: "Die benötigten Daten abfragen",
3362
+ query_records: "Passende Datensätze suchen",
3363
+ search_knowledge: "In der Wissensdatenbank nachsehen",
3364
+ visualize_data: "Die Daten als Diagramm darstellen",
3365
+ add_field: "Dem Objekt ein Feld hinzufügen",
3366
+ apply_blueprint: "Die App nach dem Plan erstellen",
3367
+ apply_edit: "Die Änderung übernehmen",
3368
+ create_metadata: "Einen Metadateneintrag anlegen",
3369
+ create_object: "Ein Objekt anlegen",
3370
+ create_package: "Ein Paket anlegen",
3371
+ create_seed: "Beispieldaten für die Objekte erzeugen",
3372
+ delete_field: "Ein Feld löschen",
3373
+ describe_metadata: "Die Metadaten ansehen",
3374
+ describe_object: "Die Struktur des Objekts ansehen",
3375
+ get_active_package: "Das aktive Paket prüfen",
3376
+ get_authoring_rules: "Die Erstellungsregeln nachlesen",
3377
+ get_metadata_schema: "Das Metadatenformat nachlesen",
3378
+ get_package: "Das Paket ansehen",
3379
+ list_metadata: "Vorhandene Metadaten auflisten",
3380
+ list_objects: "Vorhandene Objekte auflisten",
3381
+ list_packages: "Vorhandene Pakete auflisten",
3382
+ load_tools: "Weitere Werkzeuge laden",
3383
+ modify_field: "Ein Feld ändern",
3384
+ open_record: "Den Datensatz öffnen",
3385
+ propose_blueprint: "Den App-Plan entwerfen",
3386
+ set_active_package: "Zum Zielpaket wechseln",
3387
+ suggest_builder: "Den Aufbau mit KI vorschlagen",
3388
+ test_flow: "Den Flow ausprobieren",
3389
+ todo_write: "Spätere Prüfpunkte notieren",
3390
+ toggle_flow: "Den Flow ein- oder ausschalten",
3391
+ update_metadata: "Einen Metadateneintrag aktualisieren",
3392
+ validate_expression: "Den Ausdruck prüfen",
3393
+ verify_build: "Das Ergebnis des Aufbaus prüfen",
3234
3394
  },
3235
3395
  toolState: {
3236
3396
  agentActivity: "Agentenaktivität",
@@ -3243,6 +3403,15 @@ const de = {
3243
3403
  denied: "Abgelehnt",
3244
3404
  failed: "Fehlgeschlagen",
3245
3405
  },
3406
+ phase: {
3407
+ build: "Erstellen",
3408
+ design: "Plan entwerfen",
3409
+ stepCount: "{{count}} Schritte",
3410
+ stepCount_one: "{{count}} Schritt",
3411
+ stepCount_other: "{{count}} Schritte",
3412
+ expand: "Schritte anzeigen",
3413
+ collapse: "Schritte ausblenden",
3414
+ },
3246
3415
  plan: {
3247
3416
  countObjects: "{{count}} Objekte",
3248
3417
  countObjects_one: "{{count}} Objekt",
@@ -3254,10 +3423,17 @@ const de = {
3254
3423
  countDashboards_one: "{{count}} Dashboard",
3255
3424
  countDashboards_other: "{{count}} Dashboards",
3256
3425
  countSeedData: "Beispieldaten",
3426
+ extendTarget: "Wird zur bestehenden App hinzugefügt: {{app}}",
3427
+ awaitingConfirm: "Wartet auf Bestätigung",
3428
+ objectsAndFields: "Objekte und Felder",
3429
+ views: "Ansichten",
3430
+ suggestedField: "ergänzt",
3431
+ nameField: "Bezeichnung: {{field}}",
3257
3432
  },
3258
3433
  build: {
3259
3434
  building: "{{app}} wird erstellt…",
3260
3435
  built: "{{app}} wurde erstellt",
3436
+ builtAndLive: "Erstellt und live · {{app}}",
3261
3437
  appFallback: "Ihre App",
3262
3438
  addingSampleData: "Beispieldaten werden hinzugefügt",
3263
3439
  group: {
@@ -3268,6 +3444,43 @@ const de = {
3268
3444
  seed: "Beispieldaten",
3269
3445
  },
3270
3446
  moreArtifacts: "+{{n}} weitere",
3447
+ verifying: "Änderung wird geprüft…",
3448
+ verifyStep: "Schritt {{n}}",
3449
+ verified: "Änderung geprüft",
3450
+ unknownPhase: "Unbekannte Build-Phase",
3451
+ nextStepsLead: "Als Nächstes können Sie sagen: {{steps}}",
3452
+ nextStepQuote: "„{{step}}“",
3453
+ draftPosture: "Spätere Änderungen werden als Entwurf gespeichert, und Sie veröffentlichen sie in Studio.",
3454
+ checksPassed: "Prüfungen bestanden {{passed}}/{{total}}",
3455
+ },
3456
+ changes: {
3457
+ planTitle: "Änderungsplan · {{count}} Änderungen",
3458
+ planTitle_one: "Änderungsplan · {{count}} Änderung",
3459
+ planTitle_other: "Änderungsplan · {{count}} Änderungen",
3460
+ saveDraft: "Als Entwurf speichern",
3461
+ reviewAndPublish: "Änderungen prüfen und veröffentlichen",
3462
+ undo: "Rückgängig",
3463
+ undoWithOthers: "Rückgängig (mit {{count}} weiteren Entwürfen)",
3464
+ undoWithOthers_one: "Rückgängig (mit {{count}} weiteren Entwurf)",
3465
+ undoWithOthers_other: "Rückgängig (mit {{count}} weiteren Entwürfen)",
3466
+ undoConfirm: "Rückgängig verwirft alle {{total}} unveröffentlichten Entwürfe dieses Pakets, davon {{count}}, die nicht zu dieser Änderung gehören.",
3467
+ undoConfirm_one: "Rückgängig verwirft alle {{total}} unveröffentlichten Entwürfe dieses Pakets, davon {{count}}, der nicht zu dieser Änderung gehört.",
3468
+ undoConfirm_other: "Rückgängig verwirft alle {{total}} unveröffentlichten Entwürfe dieses Pakets, davon {{count}}, die nicht zu dieser Änderung gehören.",
3469
+ undoConfirmUnknown: "Rückgängig verwirft alle unveröffentlichten Entwürfe dieses Pakets, nicht nur diese Änderung.",
3470
+ undoConfirmAction: "Alle verwerfen",
3471
+ undoCancel: "Abbrechen",
3472
+ undoing: "Wird rückgängig gemacht…",
3473
+ undone: "Rückgängig gemacht",
3474
+ undoFailed: "Rückgängig machen fehlgeschlagen",
3475
+ kind: {
3476
+ field: "Feld",
3477
+ object: "Objekt",
3478
+ view: "Ansicht",
3479
+ dashboard: "Dashboard",
3480
+ app: "App",
3481
+ seed: "Beispieldaten",
3482
+ package: "App-Paket",
3483
+ },
3271
3484
  },
3272
3485
  },
3273
3486
  chatbotError: {
@@ -3283,10 +3496,13 @@ const de = {
3283
3496
  buyCredits: "Credit-Paket kaufen",
3284
3497
  upgradePlan: "Tarif upgraden",
3285
3498
  },
3499
+ planTier: {
3500
+ teamAndUp: "Ab Tarif Team",
3501
+ },
3286
3502
  environment: {
3287
- addEnvironment: "Umgebung hinzufügen",
3288
3503
  setUpProduction: "Produktionsumgebung einrichten",
3289
3504
  addDevelopment: "Entwicklungsumgebung hinzufügen",
3505
+ developmentLocked: "Entwicklungsumgebungen · {{tier}}",
3290
3506
  // Plan/capacity dialog (EnvironmentEntitlementDialog) — cloud#959.
3291
3507
  entitlement: {
3292
3508
  productionLimitTitle: "Sie haben bereits Ihre Produktionsumgebung",
@@ -3334,7 +3550,7 @@ const de = {
3334
3550
  },
3335
3551
  unbound: {
3336
3552
  title: "Nicht verbunden",
3337
- body: "Verbinden Sie diese Runtime mit einer ObjectStack Control Plane, um die privaten Pakete Ihrer Organisation zu durchsuchen und hier zu installieren. Die Genehmigung erfolgt mit einem einzigen Klick in Ihrem Cloud-Konto — es werden keine IDs oder Zugangsdaten auf dieser Seite eingegeben.",
3553
+ body: "Diese Runtime ist mit keiner Control Plane verbunden. Verbinden öffnet Ihr Cloud-Konto in einem neuen Fenster, wo ein einziger Klick die Verbindung genehmigt — es werden keine IDs oder Zugangsdaten auf dieser Seite eingegeben.",
3338
3554
  connect: "Verbinden",
3339
3555
  },
3340
3556
  },
@@ -3347,6 +3563,13 @@ const de = {
3347
3563
  dismiss: "Ausblenden",
3348
3564
  confirmedToast: "„{{set}}“ ist jetzt {{anchor}} gewährt.",
3349
3565
  dismissedToast: "Vorschlag für „{{set}}“ ausgeblendet.",
3566
+ guestUnsupported: "Hier nicht gewährbar: Die Sets der Position „Guest“ werden nicht aus angenommenen Vorschlägen abgeleitet.",
3567
+ acceptedState: "„{{set}}“ wurde für alle angemeldeten Benutzer angenommen (Position „Everyone“).",
3568
+ notInForceState: "„{{set}}“ wurde angenommen, ist aber noch nicht wirksam: Die Position „Everyone“ hat sich bei dieser Anfrage nicht geändert. Der Grund steht im Serverprotokoll.",
3569
+ dismissedState: "„{{set}}“ ist nicht gewährt: Der Vorschlag wurde ausgeblendet oder widerrufen.",
3570
+ revoke: "Widerrufen",
3571
+ revoking: "Wird widerrufen…",
3572
+ revokedToast: "Annahme von „{{set}}“ widerrufen.",
3350
3573
  },
3351
3574
  title: "App-Marktplatz",
3352
3575
  subtitle: "Durchsuchen Sie genehmigte Apps, die im ObjectStack-Katalog veröffentlicht wurden. Klicken Sie auf eine App, um Details zu sehen und sie in eine Ihrer Umgebungen zu installieren.",
@@ -3360,21 +3583,26 @@ const de = {
3360
3583
  noMatchFilters: "Keine Apps entsprechen Ihren Filtern.",
3361
3584
  noDescription: "Keine Beschreibung vorhanden.",
3362
3585
  back: "Zurück zum Marktplatz",
3363
- installedTitle: "Installierte Apps",
3364
- installedSubtitle: "Marktplatz-Pakete, die derzeit im Kernel dieses Laufzeitsystems installiert sind.",
3365
- installedEmpty: "Noch keine Marktplatz-Apps in diesem Laufzeitsystem installiert.",
3366
3586
  browseLink: "Marktplatz durchsuchen →",
3367
- installedAdditiveNote: "<strong>Hinweis:</strong> Die Kernel-API ist nur additiv — Deinstallation entfernt das Manifest auf der Festplatte, damit das Paket beim nächsten Start nicht geladen wird, aber der laufende Kernel hält die App bis zum Neustart registriert.",
3368
- installedAt: "Installiert {{when}}",
3369
- installedBy: "von {{user}}",
3370
- installedPackageId: "Paket",
3371
- cachedAs: "Zwischengespeichert als <code>{{path}}</code>",
3587
+ installedAdditiveNote: "Die Deinstallation entfernt die App sofort aus dem laufenden Kernel, samt ihren Berechtigungssets und deren Zuweisungen, und löscht das zwischengespeicherte Manifest, damit das Paket beim nächsten Start nicht geladen wird. Datensätze in ihren Objekten bleiben in der Datenbank erhalten.",
3372
3588
  versionBadge: "v{{version}}",
3373
3589
  installedBadge: "Installiert v{{version}}",
3590
+ // objectui#11645 — an install-local entry this runtime refused to load at
3591
+ // startup (the listing's `notLoaded` marker), read on Installed Apps.
3592
+ notLoaded: {
3593
+ badge: "Nicht geladen",
3594
+ protocolIncompatible: "Dieses Laufzeitsystem hat das Paket nicht geladen: Es zielt auf das Protokoll {{requiredRange}} ab, das dieses Laufzeitsystem nicht unterstützt.",
3595
+ otherReason: "Dieses Laufzeitsystem hat das Paket nicht geladen ({{code}}).",
3596
+ },
3374
3597
  load: {
3375
3598
  failed: "Marktplatz konnte nicht geladen werden",
3376
3599
  failedHintConfigured: "Diese Laufzeitumgebung erreicht den Marktplatz über die Control Plane unter {{url}}. Prüfen Sie, ob diese online und von hier aus erreichbar ist.",
3377
- failedHintSameOrigin: "Diese Laufzeitumgebung stellt den Marktplatz-Katalog selbst bereit. Prüfen Sie, ob die Laufzeitumgebung online ist.",
3600
+ failedHintSameOrigin: "Der Marktplatz-Katalog wird über diese Laufzeitumgebung erreicht. Prüfen Sie, ob die Laufzeitumgebung online ist und den Katalog erreichen kann.",
3601
+ loading: "Marktplatz-Katalog wird geladen…",
3602
+ slow: "Wird noch geladen — der Marktplatz-Katalog antwortet langsam.",
3603
+ retry: "Erneut versuchen",
3604
+ unreachable: "Der Marktplatz-Katalog war nicht erreichbar.",
3605
+ answeredError: "Der Marktplatz-Katalog hat mit einem Fehler geantwortet (HTTP {{status}}).",
3378
3606
  packageFailed: "Paket konnte nicht geladen werden",
3379
3607
  notFound: "Nicht gefunden.",
3380
3608
  },
@@ -3416,6 +3644,7 @@ const de = {
3416
3644
  working: "Verarbeite…",
3417
3645
  installToCloud: "In der Cloud installieren…",
3418
3646
  installing: "Installiere…",
3647
+ updating: "Aktualisiere…",
3419
3648
  uninstall: "Deinstallieren",
3420
3649
  uninstalling: "Deinstalliere…",
3421
3650
  details: "Details",
@@ -3433,15 +3662,45 @@ const de = {
3433
3662
  environmentPlaceholder: "Umgebung auswählen",
3434
3663
  includeSampleData: "Beispieldaten einschließen",
3435
3664
  noEnvs: "Keine Umgebungen in Ihrer aktiven Organisation gefunden.",
3436
- noPermission: "Sie haben keine Berechtigung, Apps in einer Umgebung zu installieren. Nur Organisationsinhaber und Administratoren können installieren.",
3665
+ noPermission: "Sie haben keine Berechtigung, Apps in einer Umgebung zu installieren. Nur Organisationsinhaber und Administratoren können installieren — wenden Sie sich an den Administrator Ihrer Organisation.",
3437
3666
  signInFirst: "Sie müssen sich zuerst bei ObjectStack Cloud anmelden.",
3438
3667
  success: "Erfolgreich installiert. Öffnen Sie die Umgebung, um die neue App zu sehen.",
3439
3668
  localSuccess: "v{{version}} in diesem Laufzeitsystem installiert. „{{name}}“ sollte jetzt im App-Wechsler erscheinen.",
3669
+ localLoadsAtRestart: "v{{version}} in diesem Laufzeitsystem installiert. „{{name}}“ wird beim nächsten Neustart des Laufzeitsystems geladen und erscheint erst dann im App-Wechsler.",
3440
3670
  localManifestConflict: "{{message}}\nHinweis: Eine lokale App besitzt bereits diese manifest_id. Entfernen Sie sie zuerst aus objectstack.config.ts.",
3441
3671
  localUnauthorized: "Melden Sie sich zuerst in diesem Laufzeitsystem an.",
3442
3672
  localMarketplaceUnavailable: "Dieses Laufzeitsystem hat keine OS_CLOUD_URL konfiguriert.",
3443
3673
  updateTo: "Aktualisieren → v{{version}}",
3444
3674
  installedVersion: "Installiert v{{version}}",
3675
+ deploying: "App wird bereitgestellt…",
3676
+ deployed: "Die App ist bereitgestellt und einsatzbereit.",
3677
+ openApp: "{{name}} öffnen",
3678
+ deployTimeout: "Die Installation wurde erfasst, aber diese Umgebung stellt die App noch nicht bereit. Die Bereitstellung läuft möglicherweise noch – prüfen Sie es gleich erneut. Erscheint sie nie, wurde das Paket womöglich nicht geladen, enthält keine App, oder die App erfordert eine Berechtigung, die Ihnen fehlt.",
3679
+ checkAgain: "Erneut prüfen",
3680
+ // ADR-0131 D6 — the install modes a package's manifest permits, and
3681
+ // what an unmanaged install answers (MarketplacePackagePage).
3682
+ mode: {
3683
+ label: "Installationsmodus",
3684
+ managed: "Verwaltet",
3685
+ managedHint: "Das Paket bleibt maßgeblich: Es wird als Code registriert, erhält seine Upgrades, und seine Elemente werden hier nicht bearbeitet.",
3686
+ unmanaged: "Nicht verwaltete Kopie",
3687
+ unmanagedHint: "Einmalig als eigene Metadaten in dieses Laufzeitsystem kopiert: Jedes Element ist hier bearbeitbar, und die Kopie erhält kein Upgrade.",
3688
+ required: "Wählen Sie einen Installationsmodus, um dieses Paket zu installieren.",
3689
+ },
3690
+ unmanagedSuccess: "v{{version}} von „{{name}}“ als eigene Metadaten in dieses Laufzeitsystem kopiert, in die Basis {{base}}. Die Kopie ist bearbeitbar und erhält kein Upgrade.",
3691
+ unmanagedStrippedLocks: "Das Paket hat diese Elemente gesperrt. Die Kopie ist bearbeitbar, daher wurden ihre Sperren nicht kopiert:",
3692
+ unmanagedIgnored: "Dieses Laufzeitsystem unterstützt keine nicht verwalteten Installationen, daher wurde „{{name}}“ verwaltet installiert (als Code registriert) statt kopiert. Aktualisieren Sie das Laufzeitsystem, deinstallieren Sie dann das Paket und installieren Sie es erneut als nicht verwaltete Kopie.",
3693
+ },
3694
+ // objectui#12146 — the install dialog opened as an UPDATE of the copy
3695
+ // this environment holds (MarketplacePackagePage).
3696
+ update: {
3697
+ dialogTitle: "{{name}} aktualisieren",
3698
+ dialogDescCurrent: "Die in dieser Umgebung installierte Kopie aktualisieren ({{host}}).",
3699
+ dialogDescPicker: "Wählen Sie die Umgebung, deren installierte Kopie Sie aktualisieren möchten. Sie müssen bei ObjectStack Cloud angemeldet sein.",
3700
+ majorNotice: "Dies ist ein Update auf eine neue Hauptversion (v{{fromMajor}} → v{{toMajor}}), das inkompatible Änderungen enthalten kann.",
3701
+ releaseNotes: "Versionshinweise zu v{{version}} lesen",
3702
+ success: "Auf v{{version}} aktualisiert.",
3703
+ deployTimeout: "Das Update wurde erfasst, aber diese Umgebung stellt v{{version}} noch nicht bereit. Die Bereitstellung läuft möglicherweise noch – prüfen Sie es gleich erneut.",
3445
3704
  },
3446
3705
  // objectui#3546 — the MarketplacePage "Your organization" strip.
3447
3706
  org: {
@@ -3474,9 +3733,11 @@ const de = {
3474
3733
  },
3475
3734
  },
3476
3735
  uninstall: {
3477
- confirm: "{{manifestId}} v{{version}} aus diesem Laufzeitsystem deinstallieren?\n\nDas zwischengespeicherte Manifest wird entfernt.",
3478
- successInList: "{{manifestId}} entfernt. Starten Sie das Laufzeitsystem neu, um es vollständig zu entladen.",
3479
- successInDetail: "Zwischengespeichertes Manifest für {{manifestId}} entfernt.",
3736
+ confirm: "{{manifestId}} v{{version}} aus diesem Laufzeitsystem deinstallieren?\n\nDie App wird sofort aus dem laufenden Kernel entfernt, samt ihren Berechtigungssets und deren Zuweisungen, und das zwischengespeicherte Manifest wird gelöscht. Datensätze in ihren Objekten bleiben in der Datenbank erhalten.",
3737
+ successInList: "{{manifestId}} entfernt: Die App ist aus dem laufenden Kernel entfernt, samt ihren Berechtigungssets und deren Zuweisungen. Datensätze in ihren Objekten bleiben in der Datenbank erhalten.",
3738
+ successInDetail: "{{manifestId}} und das zugehörige zwischengespeicherte Manifest entfernt: Die App ist aus dem laufenden Kernel entfernt, samt ihren Berechtigungssets und deren Zuweisungen. Datensätze in ihren Objekten bleiben in der Datenbank erhalten.",
3739
+ confirmNotLoaded: "{{manifestId}} v{{version}} aus diesem Laufzeitsystem deinstallieren?\n\nDas zwischengespeicherte Manifest wird entfernt. Dieses Laufzeitsystem hat das Paket nicht geladen, daher läuft nichts davon.",
3740
+ successNotLoaded: "{{manifestId}} entfernt. Es war nicht geladen, ein Neustart ist nicht nötig.",
3480
3741
  },
3481
3742
  accessDenied: {
3482
3743
  title: "App-Marktplatz nur für Administratoren",
@@ -3552,6 +3813,7 @@ const de = {
3552
3813
  progressEligible_other: '{{count}} berechtigte Genehmiger',
3553
3814
  progressBar: 'Entscheidungsfortschritt',
3554
3815
  declaredActions: 'Aktionen',
3816
+ decisionPanelOffRequestPage: 'Der Entscheidungsbereich für Genehmigungen funktioniert nur auf Seiten von Genehmigungsanfragen.',
3555
3817
  attachmentChip: 'Anhang',
3556
3818
  attachmentOpenFailed: 'Anhang konnte nicht geöffnet werden – bitte erneut versuchen',
3557
3819
  approveOneTitle: '„{{title}}“ genehmigen?',
@@ -3617,6 +3879,9 @@ const de = {
3617
3879
  emptyPending: 'Alles erledigt — nichts wartet auf Sie.',
3618
3880
  emptyOther: 'Hier ist noch nichts.',
3619
3881
  emptyViewAll: 'Alle Anfragen ansehen',
3882
+ waitingOnOthers: "{{count}} Anfragen warten auf andere Genehmigende",
3883
+ waitingOnOthers_one: "{{count}} Anfrage wartet auf andere Genehmigende",
3884
+ waitingOnOthers_other: "{{count}} Anfragen warten auf andere Genehmigende",
3620
3885
  noMatches: 'Keine Treffer für die aktuellen Filter.',
3621
3886
  keyboardHint: 'Tastatur: j/k bewegen · Enter öffnen · x auswählen · a genehmigen · r ablehnen',
3622
3887
  drawerTitle: 'Genehmigungsanfrage',
@@ -3634,12 +3899,12 @@ const de = {
3634
3899
  overrideActionLabel: '{{action}} (Übersteuerung)',
3635
3900
  overrideNotice: 'Sie haben in diesem Schritt keine Genehmigerrolle. Beim Fortfahren wird Ihre Administrator-Übersteuerung verwendet: Der Schritt wird sofort abgeschlossen und alle noch nicht entschiedenen Genehmiger werden übergangen. Die Entscheidung wird als Administrator-Übersteuerung protokolliert.',
3636
3901
  overrideNoticeWho: 'Sie haben in diesem Schritt keine Genehmigerrolle. Beim Fortfahren wird Ihre Administrator-Übersteuerung verwendet: Der Schritt wird sofort abgeschlossen und die noch nicht entschiedenen Genehmiger werden übergangen — {{who}}. Die Entscheidung wird als Administrator-Übersteuerung protokolliert.',
3902
+ overrideReassignNotice: 'Sie haben in diesem Schritt keine Genehmigerrolle. Beim Fortfahren wird Ihre Administrator-Übersteuerung verwendet: Der Schritt geht an den von Ihnen gewählten neuen Genehmiger, der alle noch nicht entschiedenen Genehmiger ersetzt. Die Anfrage bleibt ausstehend und wartet auf den neuen Genehmiger. Die Neuzuweisung wird als Administrator-Übersteuerung protokolliert.',
3903
+ overrideReassignNoticeWho: 'Sie haben in diesem Schritt keine Genehmigerrolle. Beim Fortfahren wird Ihre Administrator-Übersteuerung verwendet: Der Schritt geht an den von Ihnen gewählten neuen Genehmiger, der die noch nicht entschiedenen Genehmiger ersetzt — {{who}}. Die Anfrage bleibt ausstehend und wartet auf den neuen Genehmiger. Die Neuzuweisung wird als Administrator-Übersteuerung protokolliert.',
3904
+ overrideRecallNotice: 'Sie haben diese Anfrage nicht eingereicht. Beim Fortfahren wird Ihre Administrator-Übersteuerung verwendet: Die Anfrage wird zurückgezogen, alle noch nicht entschiedenen Genehmiger können nicht mehr darüber entscheiden, und der Datensatz wird entsperrt.',
3905
+ overrideRecallNoticeWho: 'Sie haben diese Anfrage nicht eingereicht. Beim Fortfahren wird Ihre Administrator-Übersteuerung verwendet: Die Anfrage wird zurückgezogen, der Datensatz wird entsperrt, und die noch nicht entschiedenen Genehmiger können nicht mehr darüber entscheiden — {{who}}.',
3637
3906
  viaOverrideChip: 'Administrator-Übersteuerung',
3638
3907
  viaOverrideHint: 'Die handelnde Person hatte in diesem Schritt keine Genehmigerrolle — zugelassen über die Administrator-Übersteuerung.',
3639
- rawData: 'Rohdaten (JSON)',
3640
- copy: 'Kopieren',
3641
- copied: 'Kopiert',
3642
- copyFailed: 'Kopieren fehlgeschlagen',
3643
3908
  overrideActor: 'Als andere Identität handeln (Admin)',
3644
3909
  actor: 'Akteur',
3645
3910
  auto: 'Auto',
@@ -3721,6 +3986,9 @@ const de = {
3721
3986
  publishing: 'Wird veröffentlicht…',
3722
3987
  exit: 'Vorschau beenden',
3723
3988
  changes: 'Änderungen',
3989
+ pendingHere: 'Entwurfsvorschau · {{count}} unveröffentlichte Änderungen auf dieser Seite',
3990
+ pendingHere_one: 'Entwurfsvorschau · {{count}} unveröffentlichte Änderung auf dieser Seite',
3991
+ pendingHere_other: 'Entwurfsvorschau · {{count}} unveröffentlichte Änderungen auf dieser Seite',
3724
3992
  },
3725
3993
  changes: {
3726
3994
  title: 'Ausstehende Änderungen',
@@ -3737,7 +4005,57 @@ const de = {
3737
4005
  confirmNote: 'Beim Veröffentlichen werden alle {{count}} ausstehenden Entwürfe dieses Pakets atomar freigegeben.',
3738
4006
  confirmNote_one: 'Beim Veröffentlichen wird der {{count}} ausstehende Entwurf dieses Pakets atomar freigegeben.',
3739
4007
  confirmNote_other: 'Beim Veröffentlichen werden alle {{count}} ausstehenden Entwürfe dieses Pakets atomar freigegeben.',
4008
+ // objectui#11591 — the package-less sheet: no package to batch, so each
4009
+ // draft publishes by itself and one that fails stays pending.
4010
+ confirmNoteSeparate: 'Beim Veröffentlichen werden die {{count}} ausstehenden Entwürfe einzeln freigegeben: Ein Entwurf, der dabei scheitert, bleibt ausstehend, die übrigen werden trotzdem freigegeben.',
4011
+ confirmNoteSeparate_one: 'Beim Veröffentlichen wird der {{count}} ausstehende Entwurf für sich allein freigegeben: Scheitert er, bleibt er ausstehend.',
4012
+ confirmNoteSeparate_other: 'Beim Veröffentlichen werden die {{count}} ausstehenden Entwürfe einzeln freigegeben: Ein Entwurf, der dabei scheitert, bleibt ausstehend, die übrigen werden trotzdem freigegeben.',
3740
4013
  publishConfirm: 'Alle veröffentlichen',
4014
+ summaryItems: '{{count}} Elemente',
4015
+ summaryItems_one: '{{count}} Element',
4016
+ summaryItems_other: '{{count}} Elemente',
4017
+ summaryType: '{{n}} {{type}}',
4018
+ typeCount: {
4019
+ object: '{{count}} Objekte',
4020
+ object_one: '{{count}} Objekt',
4021
+ object_other: '{{count}} Objekte',
4022
+ view: '{{count}} Ansichten',
4023
+ view_one: '{{count}} Ansicht',
4024
+ view_other: '{{count}} Ansichten',
4025
+ page: '{{count}} Seiten',
4026
+ page_one: '{{count}} Seite',
4027
+ page_other: '{{count}} Seiten',
4028
+ dashboard: '{{count}} Dashboards',
4029
+ dashboard_one: '{{count}} Dashboard',
4030
+ dashboard_other: '{{count}} Dashboards',
4031
+ app: '{{count}} Apps',
4032
+ app_one: '{{count}} App',
4033
+ app_other: '{{count}} Apps',
4034
+ action: '{{count}} Aktionen',
4035
+ action_one: '{{count}} Aktion',
4036
+ action_other: '{{count}} Aktionen',
4037
+ report: '{{count}} Berichte',
4038
+ report_one: '{{count}} Bericht',
4039
+ report_other: '{{count}} Berichte',
4040
+ flow: '{{count}} Flows',
4041
+ flow_one: '{{count}} Flow',
4042
+ flow_other: '{{count}} Flows',
4043
+ permission: '{{count}} Berechtigungssätze',
4044
+ permission_one: '{{count}} Berechtigungssatz',
4045
+ permission_other: '{{count}} Berechtigungssätze',
4046
+ agent: '{{count}} Agenten',
4047
+ agent_one: '{{count}} Agent',
4048
+ agent_other: '{{count}} Agenten',
4049
+ email_template: '{{count}} E-Mail-Vorlagen',
4050
+ email_template_one: '{{count}} E-Mail-Vorlage',
4051
+ email_template_other: '{{count}} E-Mail-Vorlagen',
4052
+ },
4053
+ // objectui#12929 — the unchecked choice under an added object field whose
4054
+ // literal default the batch publish can write into the existing records.
4055
+ backfillOption: 'Standardwert nachtragen ({{count}} vorhandene Datensätze)',
4056
+ backfillOption_one: 'Standardwert nachtragen ({{count}} vorhandener Datensatz)',
4057
+ backfillOption_other: 'Standardwert nachtragen ({{count}} vorhandene Datensätze)',
4058
+ backfillOptionNoCount: 'Standardwert nachtragen',
3741
4059
  // [`7a90afdf9`] Pre-publish security-posture findings, shown next to
3742
4060
  // the confirm button so a refusal the door would issue is read BEFORE
3743
4061
  // the click rather than as a toast after the batch rolled back.
@@ -3819,6 +4137,10 @@ const de = {
3819
4137
  exists: "Ist gesetzt",
3820
4138
  notExists: "Ist nicht gesetzt",
3821
4139
  },
4140
+ emptyCheckHint: {
4141
+ text: '„{{isEmpty}}“ trifft auch auf leeren Text zu; „{{isNull}}“ nur auf einen fehlenden Wert.',
4142
+ list: '„{{isEmpty}}“ trifft auch auf eine leere Liste zu; „{{isNull}}“ nur auf einen fehlenden Wert.',
4143
+ },
3822
4144
  },
3823
4145
  sortBuilder: {
3824
4146
  sortBy: "Sortieren nach",
@@ -3929,6 +4251,8 @@ const de = {
3929
4251
  setDefaultFailed: "Festlegen der Standard-App fehlgeschlagen: {{reason}}",
3930
4252
  appDeleted: "{{name}} gelöscht",
3931
4253
  deleteFailed: "Löschen der App fehlgeschlagen: {{reason}}",
4254
+ nothingToDelete: "Nichts zu löschen für {{name}}: {{reason}}",
4255
+ alreadyAtDefault: "sie entspricht bereits dem Standard ihres Pakets",
3932
4256
  bulkEnabled: "{{n}} Apps aktiviert",
3933
4257
  bulkDisabled: "{{n}} Apps deaktiviert",
3934
4258
  bulkFailed: "Fehlgeschlagen für {{n}}: {{details}}",
@@ -3953,6 +4277,7 @@ const de = {
3953
4277
  toggleLabel: "Aktivierung für {{label}}",
3954
4278
  on: "An",
3955
4279
  off: "Aus",
4280
+ notRunning: "Läuft hier nicht",
3956
4281
  clone: "Klonen",
3957
4282
  cloneTitle: "Paket-Flow klonen",
3958
4283
  cloneBody: "Die Kopie übernimmt die gesamte Definition und benötigt einen neuen Maschinennamen und ein neues Label. Bearbeiten Sie die Kopie im Studio.",
@@ -3961,6 +4286,9 @@ const de = {
3961
4286
  cancel: "Abbrechen",
3962
4287
  cloneConfirm: "Klon erstellen",
3963
4288
  cloneCreated: "Flow „{{name}}“ erstellt.",
4289
+ cloneSwitchSourceOff: "{{label}} ausschalten",
4290
+ cloneSourceOff: "Der paketierte Flow {{label}} ist ausgeschaltet.",
4291
+ cloneOpen: "Kopie in Studio öffnen",
3964
4292
  emptyTitle: "Keine Paket-Flows",
3965
4293
  emptyBody: "In dieser Installation liefert kein installiertes Paket einen Automatisierungs-Flow. Selbst erstellte Flows finden Sie im Studio.",
3966
4294
  loadFailed: "Paketautomatisierung konnte nicht geladen werden.",
@@ -3968,6 +4296,7 @@ const de = {
3968
4296
  toggleFailed: "Aktivierung konnte nicht geändert werden.",
3969
4297
  cloneFailedHttp: "Dieser Flow konnte nicht geklont werden (HTTP {{status}}).",
3970
4298
  cloneFailed: "Dieser Flow konnte nicht geklont werden.",
4299
+ reasonDetails: "Details",
3971
4300
  actionsSubtitle: "Aktionen aus installierten Paketen. Schalten Sie eine für diese Installation ab, und sie läuft überall dort nicht mehr, wo sie angeboten wird. Eine eigene Aktion daneben zu erstellen, bleibt Ihnen im Studio offen.",
3972
4301
  colAction: "Aktion",
3973
4302
  colObject: "Objekt",
@@ -3978,7 +4307,84 @@ const de = {
3978
4307
  },
3979
4308
  element: {
3980
4309
  number: {
3981
- noObject: "Kein Objekt angegeben: Legen Sie object oder dataSource.object fest.",
4310
+ noObject: "Kein Objekt angegeben: Legen Sie dataSource.object fest.",
4311
+ sourceUnresolved: "Die Datenquelle dieser Kennzahl konnte nicht aufgelöst werden",
4312
+ },
4313
+ image: {
4314
+ noSource: "Keine Bildquelle",
4315
+ },
4316
+ recordPicker: {
4317
+ sourceUnresolved: "Die Datenquelle dieser Datensatzauswahl konnte nicht aufgelöst werden",
4318
+ },
4319
+ calendar: {
4320
+ sourceUnresolved: "Die Datenquelle dieses Kalenders konnte nicht aufgelöst werden",
4321
+ },
4322
+ chart: {
4323
+ sourceUnresolved: "Die Datenquelle dieses Diagramms konnte nicht aufgelöst werden",
4324
+ },
4325
+ pivotTable: {
4326
+ sourceUnresolved: "Die Datenquelle dieser Pivot-Tabelle konnte nicht aufgelöst werden",
4327
+ },
4328
+ detailView: {
4329
+ sourceUnresolved: "Die Datenquelle dieser Detailansicht konnte nicht aufgelöst werden",
4330
+ },
4331
+ relatedList: {
4332
+ sourceUnresolved: "Die Datenquelle dieser Bezugsliste konnte nicht aufgelöst werden",
4333
+ parentUnreadable: "Der übergeordnete Datensatz dieser Bezugsliste konnte nicht gelesen werden",
4334
+ },
4335
+ form: {
4336
+ sourceUnresolved: "Die Datenquelle dieses Formulars konnte nicht aufgelöst werden",
4337
+ },
4338
+ lineItems: {
4339
+ sourceUnresolved: "Die Datenquelle dieses Positionsbereichs konnte nicht aufgelöst werden",
4340
+ },
4341
+ gantt: {
4342
+ sourceUnresolved: "Die Datenquelle dieses Gantt-Diagramms konnte nicht aufgelöst werden",
4343
+ },
4344
+ grid: {
4345
+ sourceUnresolved: "Die Datenquelle dieses Rasters konnte nicht aufgelöst werden",
4346
+ },
4347
+ board: {
4348
+ sourceUnresolved: "Die Datenquelle dieses Boards konnte nicht aufgelöst werden",
4349
+ },
4350
+ listView: {
4351
+ sourceUnresolved: "Die Datenquelle dieser Listenansicht konnte nicht aufgelöst werden",
4352
+ },
4353
+ map: {
4354
+ sourceUnresolved: "Die Datenquelle dieser Karte konnte nicht aufgelöst werden",
4355
+ },
4356
+ timeline: {
4357
+ sourceUnresolved: "Die Datenquelle dieser Zeitleiste konnte nicht aufgelöst werden",
4358
+ },
4359
+ component: {
4360
+ sourceUnresolved: "Die Datenquelle dieser Komponente konnte nicht aufgelöst werden",
4361
+ noDataSource: "Keine Datenquelle aufgelöst",
4362
+ apiRefused: "Die API-Datenquelle dieser Komponente wurde abgelehnt",
4363
+ apiUnreadable: "Die API-Datenquelle dieser Komponente konnte nicht gelesen werden",
4364
+ },
4365
+ metadataViewer: {
4366
+ missingKey: "{{key}} fehlt für diese Ansicht.",
4367
+ loading: "{{name}} wird geladen…",
4368
+ loadFailed: "{{name}} konnte nicht geladen werden: {{message}}",
4369
+ notFound: "{{name}} nicht gefunden.",
4370
+ stateMachine: "Zustandsautomat",
4371
+ flow: "Flow",
4372
+ permission: "Berechtigung",
4373
+ noStateMachine: "Kein Zustandsautomat auf {{object}}.",
4374
+ noStateMachineNamed: "Kein Zustandsautomat namens „{{name}}“ auf {{object}}.",
4375
+ lifecycle: "Lebenszyklus von {{object}}",
4376
+ field: "Feld {{field}}",
4377
+ initial: "Anfang",
4378
+ final: "Ende",
4379
+ steps: "Schritte: {{count}}",
4380
+ noSteps: "Keine Schritte vorhanden.",
4381
+ untitledStep: "(Schritt)",
4382
+ hiddenSteps: "Technische Schritte ausgeblendet: {{count}} · {{setting}} setzen, um alle anzuzeigen",
4383
+ objectAccess: "Objektzugriff: {{count}}",
4384
+ noPermissions: "Keine Objektberechtigungen deklariert.",
4385
+ object: "Objekt",
4386
+ unknownType: "Unbekannter Metadaten-Ansichtstyp. Erwartet: {{a}}, {{b}} oder {{c}}.",
4387
+ unknownTypeNamed: "Unbekannter Metadaten-Ansichtstyp „{{type}}“. Erwartet: {{a}}, {{b}} oder {{c}}.",
3982
4388
  },
3983
4389
  },
3984
4390
  };