@knkcs/contenthub-ui 0.3.0 → 0.4.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.
@@ -1,4 +1,4 @@
1
- import { C as e, S as t, h as n, y as r } from "./heads-dBmqNcOB.js";
1
+ import { T as e, h as t, w as n, y as r } from "./heads-DqHmAW0n.js";
2
2
  import { useCallback as i, useEffect as a, useMemo as o, useRef as s, useState as c } from "react";
3
3
  import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
4
4
  import { Button as f, EmptyState as p } from "@knkcs/anker/atoms";
@@ -45,6 +45,12 @@ var W = {
45
45
  "recorders",
46
46
  e
47
47
  ],
48
+ editingSettings: () => [...W.all, "editing-settings"],
49
+ effectiveEditingSettings: (e) => [
50
+ ...W.editingSettings(),
51
+ "effective",
52
+ e
53
+ ],
48
54
  collections: () => [...W.all, "collections"],
49
55
  collectionGrants: (e) => [
50
56
  ...W.collections(),
@@ -64,6 +70,11 @@ var W = {
64
70
  "read",
65
71
  t
66
72
  ],
73
+ contentBranchRead: (e, t, n) => [
74
+ ...W.contentRead(e, t),
75
+ "branch",
76
+ n
77
+ ],
67
78
  contentTimeline: (e) => [...W.content(e), "timeline"],
68
79
  contentRevisions: (e, t) => [
69
80
  ...W.content(e),
@@ -122,10 +133,11 @@ var W = {
122
133
  settings: {
123
134
  section: "Einstellungen",
124
135
  title: "Inhaltseinstellungen",
125
- subtitle: "Was die Veröffentlichung verlangt, warum Inhalte gesperrt werden und wie Inhalte abgelegt werden.",
136
+ subtitle: "Was die Veröffentlichung verlangt, warum Inhalte gesperrt werden, wie Inhalte geändert werden dürfen und wie sie abgelegt werden.",
126
137
  tabs: {
127
138
  requiredChecks: "Pflichtprüfungen",
128
139
  blockReasons: "Sperrgründe",
140
+ editing: "Bearbeitung",
129
141
  collections: "Sammlungen"
130
142
  }
131
143
  },
@@ -164,6 +176,63 @@ var W = {
164
176
  failed: "Der Sperrgrund konnte nicht entfernt werden. Versuche es erneut."
165
177
  }
166
178
  },
179
+ editing: {
180
+ mode: {
181
+ direct_edits: "Nur Direktbearbeitung",
182
+ change_sets: "Nur Change Sets",
183
+ both: "Direktbearbeitung und Change Sets"
184
+ },
185
+ block: {
186
+ on: "An",
187
+ off: "Aus"
188
+ },
189
+ workspace: {
190
+ title: "Vorgaben des Arbeitsbereichs",
191
+ description: "Wie Inhalte geändert werden dürfen: in einer Direktbearbeitung, vom Inhalt aus geöffnet, in einem Change Set oder beides, und ob eine Direktbearbeitung andere Direktbearbeitungen mit einer Bearbeitungssperre fernhält. Jeder Blueprint ohne Abweichung folgt diesen Vorgaben. Eine Änderung gilt sofort und lässt offene Arbeit, wie sie ist.",
192
+ edit: "Vorgaben ändern"
193
+ },
194
+ columns: {
195
+ blueprint: "Blueprint",
196
+ mode: "Bearbeitungsmodus",
197
+ block: "Bearbeitungssperre",
198
+ actions: "Aktionen"
199
+ },
200
+ fromWorkspace: "{{value}} (Vorgabe des Arbeitsbereichs)",
201
+ createOverride: "Neue Abweichung",
202
+ editOverride: "Bearbeiten",
203
+ removeOverride: "Entfernen",
204
+ count_one: "{{count}} Blueprint-Abweichung",
205
+ count_other: "{{count}} Blueprint-Abweichungen",
206
+ empty: "Noch keine Blueprint-Abweichungen",
207
+ emptyHint: "Jeder Blueprint folgt den Vorgaben des Arbeitsbereichs. Weichen Sie für einen Blueprint ab, dessen Inhalte anders geändert werden, etwa Gesetze nur in Change Sets.",
208
+ loadError: "Die Bearbeitungseinstellungen konnten nicht geladen werden.",
209
+ form: {
210
+ workspaceTitle: "Vorgaben des Arbeitsbereichs",
211
+ createOverrideTitle: "Neue Blueprint-Abweichung",
212
+ editOverrideTitle: "Blueprint-Abweichung bearbeiten",
213
+ accessor: "Blueprint-Accessor",
214
+ accessorHelp: "Der Blueprint, für dessen Inhalte dies gilt, als Accessor.",
215
+ accessorRequired: "Geben Sie einen Blueprint-Accessor ein.",
216
+ accessorTooLong: "Höchstens {{max}} Zeichen.",
217
+ accessorTaken: "Für „{{name}}“ gibt es bereits eine Abweichung: Bearbeiten Sie diese.",
218
+ mode: "Bearbeitungsmodus",
219
+ modeHelp: "Nur „Nur Change Sets“ wird durchgesetzt: Eine Direktbearbeitung solcher Inhalte wird abgelehnt. Importe, Abläufe und Blueprint-Upgrades nutzen immer Change Sets.",
220
+ modeRequired: "Wählen Sie einen Bearbeitungsmodus.",
221
+ block: "Bearbeitungssperre",
222
+ blockHelp: "Ob das Öffnen einer Direktbearbeitung die Direktbearbeitungen anderer fernhält, bis sie veröffentlicht oder verworfen ist. Change Sets kommen weiter durch.",
223
+ follow: "Vorgabe des Arbeitsbereichs ({{value}})",
224
+ overridesNothing: "Weichen Sie beim Bearbeitungsmodus, bei der Bearbeitungssperre oder bei beidem ab. Um in beidem dem Arbeitsbereich zu folgen, entfernen Sie die Abweichung.",
225
+ save: "Speichern",
226
+ denied: "Nur ein Admin des Arbeitsbereichs ändert die Bearbeitungseinstellungen.",
227
+ failed: "Die Bearbeitungseinstellungen konnten nicht gespeichert werden. Versuchen Sie es erneut."
228
+ },
229
+ removeDialog: {
230
+ title: "Abweichung entfernen",
231
+ message: "Die Abweichung für „{{name}}“ entfernen? Ihre Inhalte folgen dann wieder den Vorgaben des Arbeitsbereichs.",
232
+ confirm: "Entfernen",
233
+ failed: "Die Abweichung konnte nicht entfernt werden. Versuchen Sie es erneut."
234
+ }
235
+ },
167
236
  requiredChecks: {
168
237
  create: "Neue Pflichtprüfung",
169
238
  columns: {
@@ -362,7 +431,9 @@ var W = {
362
431
  anyState: "Jeder Zustand",
363
432
  assignee: "Zuständig",
364
433
  anyone: "Alle",
365
- me: "Mir zugewiesen"
434
+ me: "Mir zugewiesen",
435
+ kind: "Art",
436
+ anyKind: "Change Sets und Direktbearbeitungen"
366
437
  },
367
438
  count_one: "{{count}} Change Set",
368
439
  count_other: "{{count}} Change Sets",
@@ -385,7 +456,11 @@ var W = {
385
456
  failed: "Das Change Set konnte nicht angelegt werden. Versuche es erneut.",
386
457
  createSubmit: "Anlegen"
387
458
  },
388
- more: "Mehr anzeigen"
459
+ more: "Mehr anzeigen",
460
+ kind: {
461
+ change_set: "Change Sets",
462
+ direct_edit: "Direktbearbeitungen"
463
+ }
389
464
  },
390
465
  branch: {
391
466
  loading: "Inhalt wird geladen…",
@@ -532,7 +607,7 @@ var W = {
532
607
  failed: "Die Kette konnte nicht entfernt werden. Bitte erneut versuchen."
533
608
  }
534
609
  },
535
- changeSet: /* @__PURE__ */ JSON.parse("{\"loading\":\"Change Set wird geladen\",\"unavailable\":\"Change Set nicht verfügbar\",\"notFound\":\"Dieses Change Set gibt es nicht.\",\"loadError\":\"Das Change Set konnte nicht geladen werden.\",\"tabs\":{\"general\":\"Allgemein\",\"contents\":\"Inhalte\",\"releases\":\"Releases\",\"checks\":\"Prüfungen\"},\"save\":\"Speichern\",\"saveChanged_one\":\"Speichern · {{count}} Tab geändert\",\"saveChanged_other\":\"Speichern · {{count}} Tabs geändert\",\"saved\":\"Gespeichert.\",\"refused\":{\"transition\":\"Der Status kann nicht von {{from}} zu {{to}} wechseln.\",\"staleStatus\":\"Inzwischen hat jemand den Status auf {{current}} gesetzt. Wähle erneut und speichere.\",\"closed\":\"Dieses Change Set ist geschlossen: Es wurde inzwischen veröffentlicht oder verworfen.\",\"invalid\":\"Die Änderung wurde abgelehnt.\",\"failed\":\"Die Änderungen konnten nicht gespeichert werden. Versuche es erneut.\",\"guarded\":\"Du darfst den Status nicht von {{from}} zu {{to}} wechseln.\",\"unavailable\":\"Change-Set-Status können gerade nicht geprüft werden. Speichere gleich noch einmal.\"},\"leave\":{\"title\":\"Mit ungespeicherten Änderungen verlassen?\",\"message\":\"Deine Änderungen an diesem Change Set sind noch nicht gespeichert. Trotzdem verlassen?\",\"confirm\":\"Verlassen\",\"cancel\":\"Bleiben\"},\"general\":{\"about\":\"Überblick\",\"name\":\"Name\",\"source\":\"Quelle\",\"noSource\":\"Keine\",\"state\":\"Zustand\",\"createdBy\":\"Angelegt von\",\"frozenHint\":\"Name und Quelle ändern sich nicht mehr: Das Change Set ist abgeschlossen.\",\"work\":\"Arbeit\",\"status\":\"Status\",\"noStatus\":\"Kein Status\",\"statusHelp\":\"Wo die Arbeit steht. Er entscheidet nie, ob das Change Set veröffentlicht werden kann.\",\"statusFrozen\":\"Eingefroren: Das Change Set ist geschlossen.\",\"assignees\":\"Zuständig\",\"assigneesHelp\":\"Wer gerade daran arbeitet.\",\"nobody\":\"Niemand\",\"dependencies\":\"Hängt ab von\",\"dependenciesHelp\":\"Offene Change Sets, auf denen dieses aufbaut. Es kann erst nach ihnen veröffentlicht werden.\",\"dependenciesClosed\":\"Abhängigkeiten ändern sich nicht mehr, sobald ein Change Set geschlossen ist.\",\"noDependencies\":\"Keine Abhängigkeiten\"},\"contents\":{\"columns\":{\"content\":\"Content\",\"branches\":\"Branches\",\"born\":\"Herkunft\"},\"branch\":\"Branch\",\"branches\":\"Branches\",\"bornHere\":\"Hier angelegt\",\"onMain\":\"Veröffentlicht\",\"empty\":\"Noch kein Content in diesem Change Set\",\"emptyHint\":\"Beginne, einen Content in diesem Change Set zu bearbeiten, dann erscheint seine Chain hier.\"},\"rail\":{\"eyebrow\":\"Change Set\",\"actions\":\"Aktionen\",\"publish\":\"Veröffentlichen\",\"updateFromMain\":\"Aus Main aktualisieren\",\"discard\":\"Verwerfen\",\"about\":\"Überblick\",\"blockers_one\":\"Hindernis\",\"blockers_other\":\"Hindernisse\",\"readiness\":\"Bereit zur Veröffentlichung\",\"ready\":\"Bereit\",\"unknownReadiness\":\"Unbekannt\",\"status\":\"Status\",\"noStatus\":\"Kein Status\",\"state\":\"Zustand\",\"source\":\"Quelle\",\"noSource\":\"Keine Quelle\"},\"review\":{\"title\":\"{{name}} veröffentlichen\",\"checking\":\"Prüfe, was die Veröffentlichung täte …\",\"loadError\":\"Die Prüfung konnte nicht laufen. Schließe sie und versuche es erneut.\",\"headsTitle\":\"Geprüfte Stände\",\"headsHint\":\"Veröffentlicht werden genau diese Stände. Ändert sich einer davor, wird die Veröffentlichung abgelehnt und nichts geschrieben.\",\"headLine\":\"{{content}} · Branch {{branch}} auf {{head}}\",\"noHeads\":\"Keine Branches: es entstehen nur Releases ohne Branch.\",\"blockersTitle_one\":\"{{count}} Hindernis\",\"blockersTitle_other\":\"{{count}} Hindernisse\",\"blockersHint\":\"Behebe jedes davon und prüfe dann erneut.\",\"ready\":\"Nichts steht dieser Veröffentlichung im Weg.\",\"releasesTitle\":\"Entstehende Releases\",\"noReleases\":\"Es entsteht kein Release.\",\"releaseLine\":\"{{content}} · {{kind}} · {{period}}\",\"publish\":\"Veröffentlichen\",\"again\":\"Erneut prüfen\",\"refused\":\"Die Veröffentlichung wurde abgelehnt. Nichts wurde geschrieben.\",\"closed\":\"Dieses Change Set wurde inzwischen veröffentlicht oder verworfen.\",\"withheld\":\"Dieses Change Set enthält Arbeit, die du nicht sehen kannst. Nur wer alle seine Inhalte sieht, kann es veröffentlichen.\",\"failed\":\"Die Veröffentlichung ist fehlgeschlagen. Versuche es erneut.\",\"published\":\"Veröffentlicht.\",\"alreadyPublished\":\"Es ist mit diesen Ständen bereits veröffentlicht.\",\"openContent\":\"{{content}} öffnen\"},\"blockers\":{\"moved_head\":\"{{content}}: Branch {{branch}} ist seit der Prüfung von {{expected}} auf {{current}} weitergegangen.\",\"moved_head_unreviewed\":\"{{content}}: Branch {{branch}} auf {{current}} war nicht Teil der Prüfung.\",\"moved_head_gone\":\"Branch {{branch}} wurde geprüft, gehört aber nicht mehr zu diesem Change Set.\",\"unplanned_branch\":\"{{content}}: Branch {{branch}} hat kein geplantes Release; die Veröffentlichung würde ihn beenden, ohne ihn zu releasen.\",\"several_branches\":\"{{content}} ist undatierter Content auf mehr als einem Branch; er wird auf genau einem bearbeitet.\",\"behind_base\":\"{{content}}: Branch {{branch}} liegt hinter {{current}}, zuletzt übernommen wurde {{expected}}. Aus Main aktualisieren.\",\"superseded_release\":\"{{content}}: Das geplante Release {{release}} ersetzt {{overlaps}}, das bereits ersetzt ist.\",\"overlapping_periods\":\"{{content}}: Der Gültigkeitszeitraum von {{release}} überschneidet sich mit dem von {{overlaps}}. Ersetze es oder ändere die Daten.\",\"covers_release\":\"{{content}}: Der Gültigkeitszeitraum von {{release}} deckt Release {{covered}} vollständig ab. Ersetze es oder ändere die Daten.\",\"pending_merge\":\"{{content}}: Branch {{branch}} hat einen offenen Merge. Löse ihn im Branch-Editor auf oder brich ihn ab.\",\"nothing_in_force\":\"{{content}}: Die Aufhebung {{release}} findet nichts mehr in Kraft, das sie aufheben könnte.\",\"withdrawal_with_chain\":\"{{content}} wird in diesem Change Set zugleich aufgehoben ({{release}}) und bearbeitet. Entferne eines davon.\",\"dated_changed\":\"{{content}} ist datierter Content geworden, nachdem {{release}} undatiert geplant wurde. Entferne die Chain und beginne sie mit Datum neu.\",\"unpublished_dependency\":\"Es hängt von Change Set {{dependency}} ab, das noch offen ist. Veröffentliche es zuerst oder entferne die Abhängigkeit.\",\"discarded_dependency\":\"Es hängt von Change Set {{dependency}} ab, das verworfen wurde. Entferne die Abhängigkeit und aktualisiere dann aus Main.\",\"dangling_pin\":\"{{content}}: Der Wert an {{path}} verweist auf Release {{release}} von {{target}}, das es nicht geben wird.\",\"second_toc_parent\":\"{{content}} stünde im Inhaltsverzeichnis von {{parents}}; es kann nur in einem stehen.\",\"missing_asset\":\"{{content}}: Der Wert an {{path}} zeigt Asset {{asset}}, das es nicht gibt.\",\"media_unavailable\":\"MediaHub ist für diesen Workspace nicht verfügbar.\",\"missing_required_field\":\"{{content}}: Das Pflichtfeld {{path}} ist in {{revision}} leer. Fülle es im Branch-Editor aus.\",\"outstanding_check\":\"{{check}} hat kein bestandenes oder erlassenes Ergebnis auf den aktuellen Ständen.\",\"outstanding_check_on\":\"{{check}} hat kein bestandenes oder erlassenes Ergebnis für {{content}} ({{subject}}).\",\"unknown\":\"Blockiert: {{code}}.\"},\"releases\":{\"planned\":\"Geplante Releases\",\"columns\":{\"content\":\"Content\",\"kind\":\"Art\",\"period\":\"Gültigkeitszeitraum\",\"pins\":\"Verweist auf\",\"origin\":\"Herkunft\"},\"kind\":{\"revision\":\"Revision\",\"date_only\":\"Nur Datum\",\"repeal\":\"Aufhebung\",\"withdrawal\":\"Rücknahme\"},\"openEnd\":\"offen\",\"undated\":\"Undatiert\",\"period\":\"{{first}} – {{last}}\",\"branchHead\":\"Stand von Branch {{branch}}\",\"revision\":\"Revision {{revision}}\",\"plannedByHand\":\"Geplant\",\"proposed\":\"Vorgeschlagen für {{release}}\",\"splitFrom\":\"Setzt {{release}} fort\",\"withheld\":\"Zurückgehalten: ein Plan ersetzt, was es trägt\",\"proposedHint\":\"Vorschläge folgen aus den geplanten Gültigkeitszeiträumen und werden mit jedem Plan neu berechnet; sie sind nicht bearbeitbar.\",\"empty\":\"Noch keine geplanten Releases\",\"emptyHint\":\"Plane ein Release auf einem Branch im Branch-Editor, dann erscheint hier, was die Veröffentlichung erzeugt.\",\"covered\":\"Abgedeckte Releases\",\"coveredHint\":\"Veröffentlichte Releases, die ein Plan abdeckt: Die Veröffentlichung ersetzt die, die ein Plan nennt, und wird für die übrigen abgelehnt, bis ein Plan sie ersetzt oder sich die Daten ändern.\",\"coveredColumns\":{\"release\":\"Release\",\"by\":\"Abgedeckt von\",\"outcome\":\"Bei Veröffentlichung\"},\"superseded\":\"Ersetzt\",\"blocks\":\"Verhindert die Veröffentlichung\",\"noCovered\":\"Kein veröffentlichtes Release ist abgedeckt.\"},\"checks\":{\"columns\":{\"check\":\"Pflichtprüfung\",\"on\":\"Für\",\"latest\":\"Letztes Ergebnis\",\"standing\":\"Stand\",\"actions\":\"Aktionen\"},\"wholeChangeSet\":\"Das ganze Change Set\",\"onBranch\":\"{{content}} · Branch {{branch}}\",\"onRelease\":\"{{content}} · Release {{release}}\",\"none\":\"Noch kein Ergebnis\",\"latest\":\"{{outcome}} von {{who}}\",\"outcome\":{\"passed\":\"Bestanden\",\"failed\":\"Nicht bestanden\",\"waived\":\"Erlassen\"},\"cleared\":\"Erfüllt\",\"stale\":\"Veraltet: seitdem gespeichert\",\"outstanding\":\"Ausstehend\",\"record\":\"Ergebnis erfassen\",\"independent\":\"Unabhängig\",\"empty\":\"Keine Pflichtprüfung gilt\",\"emptyHint\":\"Die Pflichtprüfungen des Workspaces sperren die Veröffentlichung des Contents, den sie nennen. Keine davon gilt für dieses Change Set.\",\"loadError\":\"Die Prüfergebnisse konnten nicht geladen werden.\",\"form\":{\"title\":\"Ergebnis von {{check}} erfassen\",\"on\":\"Für {{subject}}, auf den Ständen, die du jetzt siehst.\",\"outcome\":\"Ergebnis\",\"note\":\"Notiz\",\"noteHelp\":\"Warum, bei einem Erlass; sonst optional.\",\"noteRequired\":\"Ein Erlass braucht eine Notiz mit dem Grund.\",\"noteTooLong\":\"Höchstens {{max}} Zeichen.\",\"submit\":\"Erfassen\",\"stale\":\"Seit dem Öffnen hat jemand gespeichert. Schließe den Dialog, sieh erneut hin und erfasse auf den neuen Ständen.\",\"denied\":\"Du darfst dieses Ergebnis nicht erfassen.\",\"closed\":\"Dieses Change Set ist geschlossen und nimmt keine Ergebnisse mehr an.\",\"failed\":\"Das Ergebnis konnte nicht erfasst werden. Versuche es erneut.\"}},\"update\":{\"title\":\"Aus Main aktualisieren\",\"message\":\"Übernimm, was Main und die Abhängigkeiten dieses Change Sets seitdem hinzugewonnen haben, in jede Chain. Wie jedes Speichern macht das bisherige Prüfergebnisse veraltet.\",\"confirm\":\"Aktualisieren\",\"close\":\"Schließen\",\"done\":\"Aktualisiert.\",\"merged_one\":\"{{count}} Branch hat einen Merge übernommen.\",\"merged_other\":\"{{count}} Branches haben einen Merge übernommen.\",\"nothingMerged\":\"Nichts zu übernehmen: jeder Branch ist aktuell.\",\"pendingTitle\":\"Mit offenem Merge, im Branch-Editor aufzulösen:\",\"pendingLine\":\"{{content}} · Branch {{branch}}\",\"closed\":\"Dieses Change Set ist geschlossen.\",\"withheld\":\"Dieses Change Set enthält Arbeit, die du nicht sehen kannst. Nur wer alle seine Inhalte sieht, kann es als Ganzes aktualisieren.\",\"failed\":\"Die Aktualisierung ist fehlgeschlagen. Versuche es erneut.\"},\"discard\":{\"title\":\"Change Set verwerfen\",\"message\":\"„{{name}}“ verwerfen? Seine Branches enden, und darin angelegter Content verschwindet. Das kann nicht rückgängig gemacht werden.\",\"confirm\":\"Verwerfen\",\"closed\":\"Dieses Change Set ist bereits geschlossen.\",\"withheld\":\"Dieses Change Set enthält Arbeit, die du nicht sehen kannst. Nur wer alle seine Inhalte sieht, kann es verwerfen.\",\"failed\":\"Das Change Set konnte nicht verworfen werden. Versuche es erneut.\"}}"),
610
+ changeSet: /* @__PURE__ */ JSON.parse("{\"loading\":\"Change Set wird geladen\",\"unavailable\":\"Change Set nicht verfügbar\",\"notFound\":\"Dieses Change Set gibt es nicht.\",\"loadError\":\"Das Change Set konnte nicht geladen werden.\",\"tabs\":{\"general\":\"Allgemein\",\"contents\":\"Inhalte\",\"releases\":\"Releases\",\"checks\":\"Prüfungen\"},\"save\":\"Speichern\",\"saveChanged_one\":\"Speichern · {{count}} Tab geändert\",\"saveChanged_other\":\"Speichern · {{count}} Tabs geändert\",\"saved\":\"Gespeichert.\",\"refused\":{\"transition\":\"Der Status kann nicht von {{from}} zu {{to}} wechseln.\",\"staleStatus\":\"Inzwischen hat jemand den Status auf {{current}} gesetzt. Wähle erneut und speichere.\",\"closed\":\"Dieses Change Set ist geschlossen: Es wurde inzwischen veröffentlicht oder verworfen.\",\"invalid\":\"Die Änderung wurde abgelehnt.\",\"failed\":\"Die Änderungen konnten nicht gespeichert werden. Versuche es erneut.\",\"guarded\":\"Du darfst den Status nicht von {{from}} zu {{to}} wechseln.\",\"unavailable\":\"Change-Set-Status können gerade nicht geprüft werden. Speichere gleich noch einmal.\"},\"leave\":{\"title\":\"Mit ungespeicherten Änderungen verlassen?\",\"message\":\"Deine Änderungen an diesem Change Set sind noch nicht gespeichert. Trotzdem verlassen?\",\"confirm\":\"Verlassen\",\"cancel\":\"Bleiben\"},\"general\":{\"about\":\"Überblick\",\"name\":\"Name\",\"source\":\"Quelle\",\"noSource\":\"Keine\",\"state\":\"Zustand\",\"createdBy\":\"Angelegt von\",\"frozenHint\":\"Name und Quelle ändern sich nicht mehr: Das Change Set ist abgeschlossen.\",\"work\":\"Arbeit\",\"status\":\"Status\",\"noStatus\":\"Kein Status\",\"statusHelp\":\"Wo die Arbeit steht. Er entscheidet nie, ob das Change Set veröffentlicht werden kann.\",\"statusFrozen\":\"Eingefroren: Das Change Set ist geschlossen.\",\"assignees\":\"Zuständig\",\"assigneesHelp\":\"Wer gerade daran arbeitet.\",\"nobody\":\"Niemand\",\"dependencies\":\"Hängt ab von\",\"dependenciesHelp\":\"Offene Change Sets, auf denen dieses aufbaut. Es kann erst nach ihnen veröffentlicht werden.\",\"dependenciesClosed\":\"Abhängigkeiten ändern sich nicht mehr, sobald ein Change Set geschlossen ist.\",\"noDependencies\":\"Keine Abhängigkeiten\"},\"contents\":{\"columns\":{\"content\":\"Content\",\"branches\":\"Branches\",\"born\":\"Herkunft\"},\"branch\":\"Branch\",\"branches\":\"Branches\",\"bornHere\":\"Hier angelegt\",\"onMain\":\"Veröffentlicht\",\"empty\":\"Noch kein Content in diesem Change Set\",\"emptyHint\":\"Beginne, einen Content in diesem Change Set zu bearbeiten, dann erscheint seine Chain hier.\"},\"rail\":{\"eyebrow\":\"Change Set\",\"actions\":\"Aktionen\",\"publish\":\"Veröffentlichen\",\"updateFromMain\":\"Aus Main aktualisieren\",\"discard\":\"Verwerfen\",\"about\":\"Überblick\",\"blockers_one\":\"Hindernis\",\"blockers_other\":\"Hindernisse\",\"readiness\":\"Bereit zur Veröffentlichung\",\"ready\":\"Bereit\",\"unknownReadiness\":\"Unbekannt\",\"status\":\"Status\",\"noStatus\":\"Kein Status\",\"state\":\"Zustand\",\"source\":\"Quelle\",\"noSource\":\"Keine Quelle\"},\"review\":{\"title\":\"{{name}} veröffentlichen\",\"checking\":\"Prüfe, was die Veröffentlichung täte …\",\"loadError\":\"Die Prüfung konnte nicht laufen. Schließe sie und versuche es erneut.\",\"headsTitle\":\"Geprüfte Stände\",\"headsHint\":\"Veröffentlicht werden genau diese Stände. Ändert sich einer davor, wird die Veröffentlichung abgelehnt und nichts geschrieben.\",\"headLine\":\"{{content}} · Branch {{branch}} auf {{head}}\",\"noHeads\":\"Keine Branches: es entstehen nur Releases ohne Branch.\",\"blockersTitle_one\":\"{{count}} Hindernis\",\"blockersTitle_other\":\"{{count}} Hindernisse\",\"blockersHint\":\"Behebe jedes davon und prüfe dann erneut.\",\"ready\":\"Nichts steht dieser Veröffentlichung im Weg.\",\"releasesTitle\":\"Entstehende Releases\",\"noReleases\":\"Es entsteht kein Release.\",\"releaseLine\":\"{{content}} · {{kind}} · {{period}}\",\"publish\":\"Veröffentlichen\",\"again\":\"Erneut prüfen\",\"refused\":\"Die Veröffentlichung wurde abgelehnt. Nichts wurde geschrieben.\",\"closed\":\"Dieses Change Set wurde inzwischen veröffentlicht oder verworfen.\",\"withheld\":\"Dieses Change Set enthält Arbeit, die du nicht sehen kannst. Nur wer alle seine Inhalte sieht, kann es veröffentlichen.\",\"failed\":\"Die Veröffentlichung ist fehlgeschlagen. Versuche es erneut.\",\"published\":\"Veröffentlicht.\",\"alreadyPublished\":\"Es ist mit diesen Ständen bereits veröffentlicht.\",\"openContent\":\"{{content}} öffnen\"},\"blockers\":{\"moved_head\":\"{{content}}: Branch {{branch}} ist seit der Prüfung von {{expected}} auf {{current}} weitergegangen.\",\"moved_head_unreviewed\":\"{{content}}: Branch {{branch}} auf {{current}} war nicht Teil der Prüfung.\",\"moved_head_gone\":\"Branch {{branch}} wurde geprüft, gehört aber nicht mehr zu diesem Change Set.\",\"unplanned_branch\":\"{{content}}: Branch {{branch}} hat kein geplantes Release; die Veröffentlichung würde ihn beenden, ohne ihn zu releasen.\",\"several_branches\":\"{{content}} ist undatierter Content auf mehr als einem Branch; er wird auf genau einem bearbeitet.\",\"behind_base\":\"{{content}}: Branch {{branch}} liegt hinter {{current}}, zuletzt übernommen wurde {{expected}}. Aus Main aktualisieren.\",\"superseded_release\":\"{{content}}: Das geplante Release {{release}} ersetzt {{overlaps}}, das bereits ersetzt ist.\",\"overlapping_periods\":\"{{content}}: Der Gültigkeitszeitraum von {{release}} überschneidet sich mit dem von {{overlaps}}. Ersetze es oder ändere die Daten.\",\"covers_release\":\"{{content}}: Der Gültigkeitszeitraum von {{release}} deckt Release {{covered}} vollständig ab. Ersetze es oder ändere die Daten.\",\"pending_merge\":\"{{content}}: Branch {{branch}} hat einen offenen Merge. Löse ihn im Branch-Editor auf oder brich ihn ab.\",\"nothing_in_force\":\"{{content}}: Die Aufhebung {{release}} findet nichts mehr in Kraft, das sie aufheben könnte.\",\"withdrawal_with_chain\":\"{{content}} wird in diesem Change Set zugleich aufgehoben ({{release}}) und bearbeitet. Entferne eines davon.\",\"dated_changed\":\"{{content}} ist datierter Content geworden, nachdem {{release}} undatiert geplant wurde. Entferne die Chain und beginne sie mit Datum neu.\",\"unpublished_dependency\":\"Es hängt von Change Set {{dependency}} ab, das noch offen ist. Veröffentliche es zuerst oder entferne die Abhängigkeit.\",\"discarded_dependency\":\"Es hängt von Change Set {{dependency}} ab, das verworfen wurde. Entferne die Abhängigkeit und aktualisiere dann aus Main.\",\"dangling_pin\":\"{{content}}: Der Wert an {{path}} verweist auf Release {{release}} von {{target}}, das es nicht geben wird.\",\"second_toc_parent\":\"{{content}} stünde im Inhaltsverzeichnis von {{parents}}; es kann nur in einem stehen.\",\"missing_asset\":\"{{content}}: Der Wert an {{path}} zeigt Asset {{asset}}, das es nicht gibt.\",\"media_unavailable\":\"MediaHub ist für diesen Workspace nicht verfügbar.\",\"missing_required_field\":\"{{content}}: Das Pflichtfeld {{path}} ist in {{revision}} leer. Fülle es im Branch-Editor aus.\",\"outstanding_check\":\"{{check}} hat kein bestandenes oder erlassenes Ergebnis auf den aktuellen Ständen.\",\"outstanding_check_on\":\"{{check}} hat kein bestandenes oder erlassenes Ergebnis für {{content}} ({{subject}}).\",\"unknown\":\"Blockiert: {{code}}.\"},\"releases\":{\"planned\":\"Geplante Releases\",\"columns\":{\"content\":\"Content\",\"kind\":\"Art\",\"period\":\"Gültigkeitszeitraum\",\"pins\":\"Verweist auf\",\"origin\":\"Herkunft\"},\"kind\":{\"revision\":\"Revision\",\"date_only\":\"Nur Datum\",\"repeal\":\"Aufhebung\",\"withdrawal\":\"Rücknahme\"},\"openEnd\":\"offen\",\"undated\":\"Undatiert\",\"period\":\"{{first}} – {{last}}\",\"branchHead\":\"Stand von Branch {{branch}}\",\"revision\":\"Revision {{revision}}\",\"plannedByHand\":\"Geplant\",\"proposed\":\"Vorgeschlagen für {{release}}\",\"splitFrom\":\"Setzt {{release}} fort\",\"withheld\":\"Zurückgehalten: ein Plan ersetzt, was es trägt\",\"proposedHint\":\"Vorschläge folgen aus den geplanten Gültigkeitszeiträumen und werden mit jedem Plan neu berechnet; sie sind nicht bearbeitbar.\",\"empty\":\"Noch keine geplanten Releases\",\"emptyHint\":\"Plane ein Release auf einem Branch im Branch-Editor, dann erscheint hier, was die Veröffentlichung erzeugt.\",\"covered\":\"Abgedeckte Releases\",\"coveredHint\":\"Veröffentlichte Releases, die ein Plan abdeckt: Die Veröffentlichung ersetzt die, die ein Plan nennt, und wird für die übrigen abgelehnt, bis ein Plan sie ersetzt oder sich die Daten ändern.\",\"coveredColumns\":{\"release\":\"Release\",\"by\":\"Abgedeckt von\",\"outcome\":\"Bei Veröffentlichung\"},\"superseded\":\"Ersetzt\",\"blocks\":\"Verhindert die Veröffentlichung\",\"noCovered\":\"Kein veröffentlichtes Release ist abgedeckt.\"},\"checks\":{\"columns\":{\"check\":\"Pflichtprüfung\",\"on\":\"Für\",\"latest\":\"Letztes Ergebnis\",\"standing\":\"Stand\",\"actions\":\"Aktionen\"},\"wholeChangeSet\":\"Das ganze Change Set\",\"onBranch\":\"{{content}} · Branch {{branch}}\",\"onRelease\":\"{{content}} · Release {{release}}\",\"none\":\"Noch kein Ergebnis\",\"latest\":\"{{outcome}} von {{who}}\",\"outcome\":{\"passed\":\"Bestanden\",\"failed\":\"Nicht bestanden\",\"waived\":\"Erlassen\"},\"cleared\":\"Erfüllt\",\"stale\":\"Veraltet: seitdem gespeichert\",\"outstanding\":\"Ausstehend\",\"record\":\"Ergebnis erfassen\",\"independent\":\"Unabhängig\",\"empty\":\"Keine Pflichtprüfung gilt\",\"emptyHint\":\"Die Pflichtprüfungen des Workspaces sperren die Veröffentlichung des Contents, den sie nennen. Keine davon gilt für dieses Change Set.\",\"loadError\":\"Die Prüfergebnisse konnten nicht geladen werden.\",\"form\":{\"title\":\"Ergebnis von {{check}} erfassen\",\"on\":\"Für {{subject}}, auf den Ständen, die du jetzt siehst.\",\"outcome\":\"Ergebnis\",\"note\":\"Notiz\",\"noteHelp\":\"Warum, bei einem Erlass; sonst optional.\",\"noteRequired\":\"Ein Erlass braucht eine Notiz mit dem Grund.\",\"noteTooLong\":\"Höchstens {{max}} Zeichen.\",\"submit\":\"Erfassen\",\"stale\":\"Seit dem Öffnen hat jemand gespeichert. Schließe den Dialog, sieh erneut hin und erfasse auf den neuen Ständen.\",\"denied\":\"Du darfst dieses Ergebnis nicht erfassen.\",\"closed\":\"Dieses Change Set ist geschlossen und nimmt keine Ergebnisse mehr an.\",\"failed\":\"Das Ergebnis konnte nicht erfasst werden. Versuche es erneut.\"}},\"update\":{\"title\":\"Aus Main aktualisieren\",\"message\":\"Übernimm, was Main und die Abhängigkeiten dieses Change Sets seitdem hinzugewonnen haben, in jede Chain. Wie jedes Speichern macht das bisherige Prüfergebnisse veraltet.\",\"confirm\":\"Aktualisieren\",\"close\":\"Schließen\",\"done\":\"Aktualisiert.\",\"merged_one\":\"{{count}} Branch hat einen Merge übernommen.\",\"merged_other\":\"{{count}} Branches haben einen Merge übernommen.\",\"nothingMerged\":\"Nichts zu übernehmen: jeder Branch ist aktuell.\",\"stopped_one\":\"Der Merge ist bei {{count}} Branch angehalten.\",\"stopped_other\":\"Der Merge ist bei {{count}} Branches angehalten.\",\"noneMerged\":\"Kein Branch hat einen Merge übernommen.\",\"pendingTitle\":\"Mit offenem Merge, im Branch-Editor aufzulösen:\",\"pendingLine\":\"{{content}} · Branch {{branch}}\",\"closed\":\"Dieses Change Set ist geschlossen.\",\"withheld\":\"Dieses Change Set enthält Arbeit, die du nicht sehen kannst. Nur wer alle seine Inhalte sieht, kann es als Ganzes aktualisieren.\",\"failed\":\"Die Aktualisierung ist fehlgeschlagen. Versuche es erneut.\"},\"discard\":{\"title\":\"Change Set verwerfen\",\"message\":\"„{{name}}“ verwerfen? Seine Branches enden, und darin angelegter Content verschwindet. Das kann nicht rückgängig gemacht werden.\",\"confirm\":\"Verwerfen\",\"closed\":\"Dieses Change Set ist bereits geschlossen.\",\"withheld\":\"Dieses Change Set enthält Arbeit, die du nicht sehen kannst. Nur wer alle seine Inhalte sieht, kann es verwerfen.\",\"failed\":\"Das Change Set konnte nicht verworfen werden. Versuche es erneut.\"}}"),
536
611
  library: {
537
612
  title: "Inhalte",
538
613
  collections: "Sammlungen",
@@ -637,7 +712,7 @@ var W = {
637
712
  archived: "Archiviert am"
638
713
  },
639
714
  actions: {
640
- startEditing: "Bearbeiten",
715
+ startEditing: "In Change Set bearbeiten",
641
716
  openBranch: "Branch öffnen",
642
717
  duplicate: "Duplizieren",
643
718
  repeal: "Aufheben",
@@ -645,7 +720,8 @@ var W = {
645
720
  block: "Sperren",
646
721
  unblock: "Entsperren",
647
722
  archive: "Archivieren",
648
- unarchive: "Aus dem Archiv holen"
723
+ unarchive: "Aus dem Archiv holen",
724
+ edit: "Bearbeiten"
649
725
  },
650
726
  data: {
651
727
  readOnMain: "Stand von Main, Revision {{revision}}. Nur lesbar: Zum Ändern in einem Branch auf „Bearbeiten“ klicken.",
@@ -665,7 +741,8 @@ var W = {
665
741
  published: "Veröffentlicht",
666
742
  inForce: "Heute",
667
743
  changeSet: "Change Set",
668
- proposed: "Herkunft"
744
+ proposed: "Herkunft",
745
+ actions: "Aktionen"
669
746
  },
670
747
  kind: {
671
748
  revision: "Revision",
@@ -684,7 +761,8 @@ var W = {
684
761
  noPlanned: "Kein offenes Change Set plant ein Release davon",
685
762
  proposed: "Vorgeschlagen",
686
763
  planned: "Geplant",
687
- loadError: "Die Zeitleiste konnte nicht geladen werden."
764
+ loadError: "Die Zeitleiste konnte nicht geladen werden.",
765
+ changeValidity: "Geltung ändern"
688
766
  },
689
767
  revisions: {
690
768
  columns: {
@@ -768,7 +846,8 @@ var W = {
768
846
  opened: "Geöffnet",
769
847
  empty: "Kein offenes Change Set ändert ihn",
770
848
  emptyHint: "„Bearbeiten“ öffnet eines oder nimmt ihn in ein offenes auf.",
771
- loadError: "Die Change Sets konnten nicht geladen werden."
849
+ loadError: "Die Change Sets konnten nicht geladen werden.",
850
+ directEditBy: "Direktbearbeitung von {{who}}"
772
851
  },
773
852
  filing: {
774
853
  title: "Ablage",
@@ -836,17 +915,69 @@ var W = {
836
915
  title: "Diesen Content archivieren?",
837
916
  message: "Archivierter Content verschwindet aus der Bibliothek, jeder Auswahl und der Bearbeitung. Seine Releases bleiben lesbar, und „Aus dem Archiv holen“ bringt ihn zurück.",
838
917
  confirm: "Archivieren"
918
+ },
919
+ directEdit: {
920
+ unpublished: "Sie haben unveröffentlichte Änderungen",
921
+ continue: "Weiter bearbeiten"
922
+ },
923
+ changeValidity: {
924
+ title: "Geltung ändern",
925
+ hint: "Korrigiert nur die Daten dieses Releases. Ein Release nur mit Datum auf derselben Revision ersetzt es und wird sofort veröffentlicht; die benachbarten Releases werden angepasst.",
926
+ release: "Release {{release}}, bisher {{period}}",
927
+ firstDay: "Erster Tag in Kraft",
928
+ firstDayHelp: "Der erste Tag des korrigierten Geltungszeitraums.",
929
+ firstDayRequired: "Wählen Sie den ersten Tag.",
930
+ lastDay: "Letzter Tag in Kraft",
931
+ lastDayHelp: "Leer lassen, solange kein Ende bekannt ist.",
932
+ lastDayBefore: "Der letzte Tag kann nicht vor dem ersten liegen.",
933
+ submit: "Geltung ändern",
934
+ done: "Fertig",
935
+ published_one: "Die Daten sind korrigiert: {{count}} Release wurde veröffentlicht.",
936
+ published_other: "Die Daten sind korrigiert: {{count}} Releases wurden veröffentlicht.",
937
+ editingMode: "Dieser Content wird nur in Change Sets geändert. Korrigieren Sie seine Daten in einem Change Set.",
938
+ covers: "Der neue Zeitraum würde {{releases}} vollständig überdecken. Ob es ersetzt wird, entscheidet ein Change Set.",
939
+ publishRefused: "Nichts wurde veröffentlicht:",
940
+ denied: "Nur wer veröffentlichen darf, kann die Geltung eines Releases ändern."
839
941
  }
942
+ },
943
+ directEdit: {
944
+ badge: "Direktbearbeitung",
945
+ loading: "Direktbearbeitung wird geladen…",
946
+ notFound: "Diese Direktbearbeitung gibt es nicht.",
947
+ loadError: "Die Direktbearbeitung konnte nicht geladen werden.",
948
+ publish: "Veröffentlichen",
949
+ discard: "Verwerfen",
950
+ closed: {
951
+ open: "Diese Direktbearbeitung ist offen.",
952
+ published: "Veröffentlicht: das neue Release ist in Kraft.",
953
+ discarded: "Verworfen: die Änderungen sind weg, der Inhalt ist unverändert."
954
+ },
955
+ discardConfirm: {
956
+ title: "Änderungen verwerfen?",
957
+ message: "Ihre gespeicherten Änderungen an {{content}} werden verworfen, nichts wird veröffentlicht. Das lässt sich nicht rückgängig machen.",
958
+ failed: "Die Direktbearbeitung konnte nicht verworfen werden."
959
+ },
960
+ refused_one: "Veröffentlichen wurde aus {{count}} Grund abgelehnt",
961
+ refused_other: "Veröffentlichen wurde aus {{count}} Gründen abgelehnt",
962
+ refusedBecause: {
963
+ dated_content: "Dieser Inhalt ist datiert: ändern Sie ihn in einem Change Set, das sagt, ab wann die Änderung gilt.",
964
+ one_branch: "Eine Direktbearbeitung ändert nur einen Inhalt: verwenden Sie ein Change Set.",
965
+ not_a_direct_edit: "Dieses Change Set ist keine Direktbearbeitung.",
966
+ unknown: "Die Direktbearbeitung wurde abgelehnt."
967
+ },
968
+ saveFirst: "Speichern Sie Ihre Änderungen zuerst: Veröffentlicht wird, was gespeichert ist.",
969
+ changeSetsOnly: "Dieser Inhalt wird nur über Change Sets geändert: bearbeiten Sie ihn in einem Change Set."
840
970
  }
841
971
  }, fe = {
842
972
  common: { cancel: "Cancel" },
843
973
  settings: {
844
974
  section: "Settings",
845
975
  title: "Content settings",
846
- subtitle: "What Publish requires, why Content is blocked, and how Content is filed.",
976
+ subtitle: "What Publish requires, why Content is blocked, how Content may be changed, and how it is filed.",
847
977
  tabs: {
848
978
  requiredChecks: "Required Checks",
849
979
  blockReasons: "Block Reasons",
980
+ editing: "Editing",
850
981
  collections: "Collections"
851
982
  }
852
983
  },
@@ -885,6 +1016,63 @@ var W = {
885
1016
  failed: "The Block Reason could not be removed. Try again."
886
1017
  }
887
1018
  },
1019
+ editing: {
1020
+ mode: {
1021
+ direct_edits: "Direct Edits only",
1022
+ change_sets: "Change Sets only",
1023
+ both: "Direct Edits and Change Sets"
1024
+ },
1025
+ block: {
1026
+ on: "On",
1027
+ off: "Off"
1028
+ },
1029
+ workspace: {
1030
+ title: "Workspace defaults",
1031
+ description: "How Content may be changed: in a Direct Edit, opened from the Content, in a Change Set, or both, and whether a Direct Edit keeps other Direct Edits out with an Editing Block. Every Blueprint without an override follows these. A change takes effect at once and leaves open work as it is.",
1032
+ edit: "Change defaults"
1033
+ },
1034
+ columns: {
1035
+ blueprint: "Blueprint",
1036
+ mode: "Editing Mode",
1037
+ block: "Editing Block",
1038
+ actions: "Actions"
1039
+ },
1040
+ fromWorkspace: "{{value}} (workspace default)",
1041
+ createOverride: "New override",
1042
+ editOverride: "Edit",
1043
+ removeOverride: "Remove",
1044
+ count_one: "{{count}} Blueprint override",
1045
+ count_other: "{{count}} Blueprint overrides",
1046
+ empty: "No Blueprint overrides yet",
1047
+ emptyHint: "Every Blueprint follows the workspace defaults. Override them for a Blueprint whose Content is changed differently, such as statutes only in Change Sets.",
1048
+ loadError: "The editing settings could not be loaded.",
1049
+ form: {
1050
+ workspaceTitle: "Workspace defaults",
1051
+ createOverrideTitle: "New Blueprint override",
1052
+ editOverrideTitle: "Edit Blueprint override",
1053
+ accessor: "Blueprint accessor",
1054
+ accessorHelp: "The Blueprint whose Content this applies to, by accessor.",
1055
+ accessorRequired: "Enter a Blueprint accessor.",
1056
+ accessorTooLong: "At most {{max}} characters.",
1057
+ accessorTaken: "“{{name}}” has an override already: edit it instead.",
1058
+ mode: "Editing Mode",
1059
+ modeHelp: "Only “Change Sets only” is enforced: a Direct Edit on such Content is refused. Imports, flows and Blueprint upgrades always use Change Sets.",
1060
+ modeRequired: "Choose an Editing Mode.",
1061
+ block: "Editing Block",
1062
+ blockHelp: "Whether opening a Direct Edit keeps other editors' Direct Edits out until it is published or discarded. Change Sets still pass it.",
1063
+ follow: "Workspace default ({{value}})",
1064
+ overridesNothing: "Override the Editing Mode, the Editing Block or both. To follow the workspace in both, remove the override.",
1065
+ save: "Save",
1066
+ denied: "Only a workspace admin changes the editing settings.",
1067
+ failed: "The editing settings could not be saved. Try again."
1068
+ },
1069
+ removeDialog: {
1070
+ title: "Remove override",
1071
+ message: "Remove the override of “{{name}}”? Its Content follows the workspace defaults again.",
1072
+ confirm: "Remove",
1073
+ failed: "The override could not be removed. Try again."
1074
+ }
1075
+ },
888
1076
  requiredChecks: {
889
1077
  create: "New Required Check",
890
1078
  columns: {
@@ -1083,7 +1271,9 @@ var W = {
1083
1271
  anyState: "Any state",
1084
1272
  assignee: "Assignee",
1085
1273
  anyone: "Anyone",
1086
- me: "Assigned to me"
1274
+ me: "Assigned to me",
1275
+ kind: "Kind",
1276
+ anyKind: "Change Sets and Direct Edits"
1087
1277
  },
1088
1278
  count_one: "{{count}} Change Set",
1089
1279
  count_other: "{{count}} Change Sets",
@@ -1106,7 +1296,11 @@ var W = {
1106
1296
  failed: "The Change Set could not be created. Try again.",
1107
1297
  createSubmit: "Create"
1108
1298
  },
1109
- more: "Show more"
1299
+ more: "Show more",
1300
+ kind: {
1301
+ change_set: "Change Sets",
1302
+ direct_edit: "Direct Edits"
1303
+ }
1110
1304
  },
1111
1305
  branch: {
1112
1306
  loading: "Loading Content…",
@@ -1473,6 +1667,9 @@ var W = {
1473
1667
  merged_one: "{{count}} Branch took in a merge.",
1474
1668
  merged_other: "{{count}} Branches took in a merge.",
1475
1669
  nothingMerged: "Nothing to take in: every Branch is up to date.",
1670
+ stopped_one: "The merge stopped on {{count}} Branch.",
1671
+ stopped_other: "The merge stopped on {{count}} Branches.",
1672
+ noneMerged: "No Branch took in a merge.",
1476
1673
  pendingTitle: "Left with a Pending Merge, to resolve in the Branch editor:",
1477
1674
  pendingLine: "{{content}} · Branch {{branch}}",
1478
1675
  closed: "This Change Set is closed.",
@@ -1600,7 +1797,8 @@ var W = {
1600
1797
  block: "Block",
1601
1798
  unblock: "Unblock",
1602
1799
  archive: "Archive",
1603
- unarchive: "Unarchive"
1800
+ unarchive: "Unarchive",
1801
+ edit: "Edit"
1604
1802
  },
1605
1803
  data: {
1606
1804
  readOnMain: "Main's head, Revision {{revision}}. Read-only: Start editing to change it in a Branch.",
@@ -1620,7 +1818,8 @@ var W = {
1620
1818
  published: "Published",
1621
1819
  inForce: "Today",
1622
1820
  changeSet: "Change Set",
1623
- proposed: "Origin"
1821
+ proposed: "Origin",
1822
+ actions: "Actions"
1624
1823
  },
1625
1824
  kind: {
1626
1825
  revision: "Revision",
@@ -1639,7 +1838,8 @@ var W = {
1639
1838
  noPlanned: "No open Change Set plans a Release of it",
1640
1839
  proposed: "Proposed",
1641
1840
  planned: "Planned",
1642
- loadError: "The Timeline could not be loaded."
1841
+ loadError: "The Timeline could not be loaded.",
1842
+ changeValidity: "Change validity"
1643
1843
  },
1644
1844
  revisions: {
1645
1845
  columns: {
@@ -1723,7 +1923,8 @@ var W = {
1723
1923
  opened: "Opened",
1724
1924
  empty: "No open Change Set changes it",
1725
1925
  emptyHint: "Start editing opens one, or adds it to one that is open.",
1726
- loadError: "The Change Sets could not be loaded."
1926
+ loadError: "The Change Sets could not be loaded.",
1927
+ directEditBy: "Direct Edit by {{who}}"
1727
1928
  },
1728
1929
  filing: {
1729
1930
  title: "Filing",
@@ -1791,7 +1992,58 @@ var W = {
1791
1992
  title: "Archive this Content?",
1792
1993
  message: "Archived Content leaves the Library, every picker and editing. Its Releases stay readable, and Unarchive brings it back.",
1793
1994
  confirm: "Archive"
1995
+ },
1996
+ directEdit: {
1997
+ unpublished: "You have unpublished changes",
1998
+ continue: "Continue editing"
1999
+ },
2000
+ changeValidity: {
2001
+ title: "Change validity",
2002
+ hint: "Corrects only this Release's dates. A date-only Release on the same Revision replaces it, published at once; the Releases next to it are cut to fit.",
2003
+ release: "Release {{release}}, now {{period}}",
2004
+ firstDay: "First day in force",
2005
+ firstDayHelp: "The first day of the corrected Validity Period.",
2006
+ firstDayRequired: "Choose the first day.",
2007
+ lastDay: "Last day in force",
2008
+ lastDayHelp: "Leave it empty while no end is known.",
2009
+ lastDayBefore: "The last day can’t be before the first.",
2010
+ submit: "Change validity",
2011
+ done: "Done",
2012
+ published_one: "The dates are corrected: {{count}} Release was published.",
2013
+ published_other: "The dates are corrected: {{count}} Releases were published.",
2014
+ editingMode: "This Content is changed in Change Sets only. Correct its dates in a Change Set.",
2015
+ covers: "The new period would cover {{releases}} entirely. Whether to supersede it is decided in a Change Set.",
2016
+ publishRefused: "Nothing was published:",
2017
+ denied: "Only a publisher may change a Release's validity."
1794
2018
  }
2019
+ },
2020
+ directEdit: {
2021
+ badge: "Direct Edit",
2022
+ loading: "Loading the Direct Edit…",
2023
+ notFound: "This Direct Edit doesn't exist.",
2024
+ loadError: "The Direct Edit could not be loaded.",
2025
+ publish: "Publish",
2026
+ discard: "Discard",
2027
+ closed: {
2028
+ open: "This Direct Edit is open.",
2029
+ published: "Published: the new Release is In Force.",
2030
+ discarded: "Discarded: its changes are gone, and the Content is as it was."
2031
+ },
2032
+ discardConfirm: {
2033
+ title: "Discard your changes?",
2034
+ message: "Your saved changes to {{content}} are dropped, and nothing is published. This cannot be undone.",
2035
+ failed: "The Direct Edit could not be discarded."
2036
+ },
2037
+ refused_one: "Publish was refused for {{count}} reason",
2038
+ refused_other: "Publish was refused for {{count}} reasons",
2039
+ refusedBecause: {
2040
+ dated_content: "This Content is Dated: change it in a Change Set, which says when the change takes effect.",
2041
+ one_branch: "A Direct Edit changes one Content only: use a Change Set.",
2042
+ not_a_direct_edit: "This Change Set is not a Direct Edit.",
2043
+ unknown: "The Direct Edit was refused."
2044
+ },
2045
+ saveFirst: "Save your changes first: Publish releases what is saved.",
2046
+ changeSetsOnly: "This Content is changed through Change Sets only: start editing it in a Change Set."
1795
2047
  }
1796
2048
  }, K = "contenthub-ui", q = {
1797
2049
  en: { [K]: fe },
@@ -1909,7 +2161,7 @@ var Z = {
1909
2161
  sourceDate: "",
1910
2162
  sourceReference: ""
1911
2163
  }, ye = "contenthub-create-change-set", Q = /^[^\u0000-\u001f\u007f]*$/;
1912
- function be({ open: e, onClose: n, onSubmit: r }) {
2164
+ function be({ open: e, onClose: t, onSubmit: r }) {
1913
2165
  let { t: i } = I(K), s = o(() => U.object({
1914
2166
  name: U.string().trim().min(1, i("changeSets.form.nameRequired")).max(200, i("changeSets.form.tooLong", { max: 200 })).regex(Q, i("changeSets.form.oneLine")),
1915
2167
  sourceDate: U.string().trim(),
@@ -1942,12 +2194,12 @@ function be({ open: e, onClose: n, onSubmit: r }) {
1942
2194
  }
1943
2195
  });
1944
2196
  } catch (e) {
1945
- m(e instanceof t ? e.message : i("changeSets.form.failed"));
2197
+ m(e instanceof n ? e.message : i("changeSets.form.failed"));
1946
2198
  }
1947
2199
  });
1948
2200
  return /* @__PURE__ */ u(g, {
1949
2201
  open: e,
1950
- onClose: n,
2202
+ onClose: t,
1951
2203
  lazyMount: !0,
1952
2204
  unmountOnExit: !0,
1953
2205
  size: "md",
@@ -1957,7 +2209,7 @@ function be({ open: e, onClose: n, onSubmit: r }) {
1957
2209
  children: [/* @__PURE__ */ u(f, {
1958
2210
  size: "sm",
1959
2211
  variant: "ghost",
1960
- onClick: n,
2212
+ onClick: t,
1961
2213
  children: i("common.cancel")
1962
2214
  }), /* @__PURE__ */ u(f, {
1963
2215
  type: "submit",
@@ -2157,7 +2409,7 @@ function Ee({ open: e, onClose: l, client: p, blueprintSource: m, initialChangeS
2157
2409
  let t = e.reasons.map(Te).join(", ");
2158
2410
  return v("library.create.refused", { reasons: t });
2159
2411
  }
2160
- return e instanceof n ? v("library.create.changeSetClosed") : e instanceof t ? e.message : v("library.create.failed");
2412
+ return e instanceof t ? v("library.create.changeSetClosed") : e instanceof n ? e.message : v("library.create.failed");
2161
2413
  }
2162
2414
  return /* @__PURE__ */ u(g, {
2163
2415
  open: e,
@@ -2271,8 +2523,8 @@ var De = [
2271
2523
  function Ne(e) {
2272
2524
  return Object.values(e).filter((e) => typeof e == "string" && e.trim() !== "" && e.length <= 200).slice(0, 2).join(" ");
2273
2525
  }
2274
- function Pe({ client: e, blueprintSource: n, onOpenContent: r, onOpenBranch: s }) {
2275
- let { t: l } = I(K), g = he(e, n), [v, y] = de(), b = v.get("collection") ?? "", [x, S] = c("main"), [ee, C] = c(""), [w, T] = c(""), [E, ae] = c(""), [F, se] = c(""), [L, R] = c(""), [z, B] = c(!1), { userId: V, members: le } = ue();
2526
+ function Pe({ client: e, blueprintSource: t, onOpenContent: r, onOpenBranch: s }) {
2527
+ let { t: l } = I(K), g = he(e, t), [v, y] = de(), b = v.get("collection") ?? "", [x, S] = c("main"), [ee, C] = c(""), [w, T] = c(""), [E, ae] = c(""), [F, se] = c(""), [L, R] = c(""), [z, B] = c(!1), { userId: V, members: le } = ue();
2276
2528
  a(() => {
2277
2529
  let e = setTimeout(() => ae(w), ke);
2278
2530
  return () => clearTimeout(e);
@@ -2379,7 +2631,7 @@ function Pe({ client: e, blueprintSource: n, onOpenContent: r, onOpenBranch: s }
2379
2631
  variant: "solid",
2380
2632
  onClick: () => B(!0),
2381
2633
  children: [/* @__PURE__ */ u(ce, { size: 16 }), l("library.create.button")]
2382
- }), we = J.error instanceof t ? J.error.message : l("library.loadError"), $ = b ? _e(b, U.data ?? []).map((e) => e.name).join(" / ") || b : l("library.allContent");
2634
+ }), we = J.error instanceof n ? J.error.message : l("library.loadError"), $ = b ? _e(b, U.data ?? []).map((e) => e.name).join(" / ") || b : l("library.allContent");
2383
2635
  return /* @__PURE__ */ d(ne, {
2384
2636
  title: l("library.title"),
2385
2637
  breadcrumbs: [{ label: l("library.title") }],
@@ -2538,4 +2790,4 @@ Pe.displayName = "ContentLibrary";
2538
2790
  //#endregion
2539
2791
  export { xe as a, _e as c, K as d, pe as f, Ce as i, ge as l, W as m, Pe as n, Se as o, q as p, Ne as r, be as s, Me as t, he as u };
2540
2792
 
2541
- //# sourceMappingURL=content-library-v0mjVD4J.js.map
2793
+ //# sourceMappingURL=content-library-DFIk09bD.js.map