Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
f5f4eb1
Cereated schedule unpublish modal component
geodem127 Mar 25, 2026
42760c6
added function to procerss schedule unpublishing
geodem127 Mar 25, 2026
d1b4b28
updated logic to handle scheduled unpublishing
geodem127 Mar 25, 2026
5852d37
updated redux function
geodem127 Apr 11, 2026
7cb0834
added cypress tests
geodem127 Apr 13, 2026
7733a72
refactored to use existing component
geodem127 Apr 16, 2026
556ff63
refactored deeply nested ternary operators for readability
geodem127 Apr 30, 2026
c7f4e8e
[Content] - Add comment explaining publish-as-unschedule pattern in S…
geodem127 Jun 1, 2026
a4d2adb
Content: Address PR review — schedule unpublish dialog & test coverage
geodem127 Jun 6, 2026
11dd249
Update src/apps/content-editor/src/app/views/ItemEdit/components/Item…
geodem127 Jun 6, 2026
59be807
Update src/shell/components/SchedulePublish/index.tsx
geodem127 Jun 6, 2026
17c6198
Content: Address PR review — schedule unpublish permission fix, corre…
geodem127 Jun 6, 2026
cebe432
Content: Fix cancel unpublish crashing when a scheduled publish exists
geodem127 Jun 8, 2026
c796199
Content: Address PR review — dead vars, error toast, styling, spuriou…
geodem127 Jun 8, 2026
b4a5554
Update src/shell/components/SchedulePublish/index.tsx
geodem127 Jun 8, 2026
2d2c6a3
Content: Refactor SchedulePublish into smart container + dumb dialogs…
geodem127 Jun 9, 2026
9876186
Content: Cancel scheduled unpublish at end of schedule test to preven…
geodem127 Jun 9, 2026
fe1b743
Content: Address PR review — promise handling, boolean typing, TS errors
geodem127 Jun 9, 2026
71c76d3
Content: Add .catch() to handleSchedulePublish and handleScheduleUnpu…
geodem127 Jun 9, 2026
150471a
Content: Fix ScheduleUnpublishDialog data-cy attrs, PublishStatus gua…
geodem127 Jun 10, 2026
d91843e
Update src/apps/content-editor/src/app/views/ItemEdit/components/Item…
geodem127 Jun 15, 2026
ed436c5
change requests
geodem127 Jun 22, 2026
ccb00d7
Content - Show user names instead of ZUIDs in item edit header tooltips
geodem127 Jul 1, 2026
29e67c7
Content: Remove unused catch binding in SchedulePublish
geodem127 Jul 1, 2026
b184855
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Jul 1, 2026
f63ebd7
fixed spelling errors
geodem127 Jul 8, 2026
cb104ae
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Jul 8, 2026
5f575ad
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Jul 14, 2026
15dc2e2
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Jul 20, 2026
43bcc8c
Merge remote-tracking branch 'origin/feature/3151-schedule-unpublish-…
geodem127 Jul 20, 2026
0ed5560
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Jul 20, 2026
1c6c369
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Jul 21, 2026
c6c42d1
Merge branch 'dev' of github.com:zesty-io/manager-ui into feature/315…
geodem127 Jul 30, 2026
04079ed
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 3, 2026
9064e03
updated scheduled for unpublish label to show only on actual unpublis…
geodem127 Aug 4, 2026
3cc1a16
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 4, 2026
56c5e6e
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 5, 2026
d3bd80e
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 5, 2026
2d8ad61
Content: Address PR review — fix response.error.message bug in handle…
geodem127 Aug 5, 2026
904fc80
Content: Address PR review — fix wrong error toast for failed schedul…
geodem127 Aug 5, 2026
36ba476
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 10, 2026
b147518
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 10, 2026
bad3482
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 13, 2026
6b278e1
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 19, 2026
e55ecfa
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 20, 2026
79df78d
Content - Fix scheduled unpublish badge/menu hidden after saving a ne…
geodem127 Aug 20, 2026
6f99adf
Content - Delete conflicting scheduled publish before scheduling an u…
geodem127 Aug 20, 2026
189e392
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 20, 2026
9fd44b6
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 21, 2026
11bec6e
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 24, 2026
4199af9
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 26, 2026
34f133f
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 27, 2026
c1e94a4
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 28, 2026
10146c9
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Aug 30, 2026
55b9070
trigger ci
geodem127 Sep 2, 2026
fca06b8
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Sep 3, 2026
6537469
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Sep 5, 2026
6385855
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Sep 8, 2026
f03a5ba
Merge branch 'dev' into feature/3151-schedule-unpublish-button
geodem127 Sep 19, 2026
dcb49df
Content - Gate stale publishAfterUnschedule flag on scheduledAction
geodem127 Sep 19, 2026
8e93e04
Content - Address latest review round on schedule-unpublish flow
geodem127 Sep 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
165 changes: 165 additions & 0 deletions cypress/e2e/content/actions.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,171 @@ describe("Actions in content editor", () => {
cy.getBySelector("ContentPublishedIndicator").should("exist");
});

it("Schedules an item for unpublishing", () => {
const { items, publishItem, publishings } = awaitRequests();
cy.visit(
`/content/${Cypress.env("modelZUID")}/${CONTENT_ITEMS?.[4]?.meta?.ZUID}`
);
cy.wait([items, publishings], { requestTimeout });

// Cancel any stale scheduled unpublish from a prior run so the scheduling
// step below reliably opens the ScheduleUnpublishButton (not Unschedule) view.
cy.getBySelector("PublishMenuButton").should("exist").should("be.enabled");
cy.getBySelector("PublishMenuButton").trigger("click");
cy.getBySelector("publishingMenu").within(() => {
cy.getBySelector("UnpublishScheduleButton").trigger("click");
});
cy.getBySelector("ScheduleUnpublishModal")
.should("exist")
.then(($modal) => {
if ($modal.find("[data-cy='UnscheduleUnpublishButton']").length) {
Comment thread
geodem127 marked this conversation as resolved.
cy.wrap($modal)
.find("[data-cy='UnscheduleUnpublishButton']")
.trigger("click");
cy.wait(publishItem);
cy.wait(publishings);
} else if (
Comment thread
geodem127 marked this conversation as resolved.
$modal.find("[data-cy='CancelScheduleUnpublishButton']").length
) {
cy.wrap($modal)
.find("[data-cy='CancelScheduleUnpublishButton']")
.trigger("click");
}
});

cy.getBySelector("PublishMenuButton").should("exist").should("be.enabled");
Comment thread
geodem127 marked this conversation as resolved.
cy.getBySelector("PublishMenuButton").trigger("click");

cy.getBySelector("publishingMenu")
.should("exist")
.within(() => {
cy.getBySelector("UnpublishScheduleButton").should("exist");
cy.getBySelector("UnpublishScheduleButton").trigger("click");
});

cy.getBySelector("ScheduleUnpublishModal")
.should("exist")
.within(() => {
// Assert labeling is correct for the unpublish flow
cy.contains("Schedule Unpublish:").should("exist");
cy.contains("Unpublish on").should("exist");
cy.getBySelector("ScheduleUnpublishButton")
.should("exist")
.should("contain.text", "Schedule Unpublish");
cy.getBySelector("ScheduleUnpublishButton").trigger("click");
});

// Assert the API payload branches correctly for scheduled unpublish
cy.wait(publishItem).then((interception) => {
const body = interception.request.body;
expect(body.publishAt).to.equal("now");
expect(body.unpublishAt).to.match(
/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/
);
expect(body.version).to.be.a("number");
});
cy.wait(publishings);

cy.getBySelector("ScheduledUnpublishIndicator").should("exist");

// Assert the menu toggle label flips to "Unschedule Unpublish",
// then cancel the schedule so the item is clean for subsequent tests.
awaitRequests();
Comment thread
geodem127 marked this conversation as resolved.
cy.getBySelector("PublishMenuButton").trigger("click");
cy.getBySelector("publishingMenu").within(() => {
cy.getBySelector("UnpublishScheduleButton")
Comment thread
geodem127 marked this conversation as resolved.
.should("contain.text", "Unschedule Unpublish")
.trigger("click");
});
cy.getBySelector("ScheduleUnpublishModal")
.should("exist")
.within(() => {
cy.getBySelector("UnscheduleUnpublishButton").trigger("click");
});
cy.wait("@publishItem");
Comment thread
geodem127 marked this conversation as resolved.
Comment thread
geodem127 marked this conversation as resolved.
cy.wait("@publishings");
});
Comment thread
geodem127 marked this conversation as resolved.
Comment thread
geodem127 marked this conversation as resolved.
Comment thread
geodem127 marked this conversation as resolved.

it("Cancels a scheduled unpublish", () => {
const { items, publishItem, publishings } = awaitRequests();
cy.visit(
`/content/${Cypress.env("modelZUID")}/${CONTENT_ITEMS?.[4]?.meta?.ZUID}`
);
cy.wait([items, publishings], { requestTimeout });

// If a prior test left a scheduled unpublish on this item, cancel it first
// so the scheduling step below reliably opens the SchedulePublishButton view.
cy.getBySelector("PublishMenuButton").should("exist").should("be.enabled");
cy.getBySelector("PublishMenuButton").trigger("click");
cy.getBySelector("publishingMenu")
.should("exist")
.within(() => {
cy.getBySelector("UnpublishScheduleButton").trigger("click");
});
cy.getBySelector("ScheduleUnpublishModal")
.should("exist")
.then(($modal) => {
if ($modal.find("[data-cy='UnscheduleUnpublishButton']").length) {
// Already scheduled — cancel it to restore clean state
cy.wrap($modal)
.find("[data-cy='UnscheduleUnpublishButton']")
.trigger("click");
cy.wait(publishItem);
cy.wait(publishings);
} else {
cy.getBySelector("CancelScheduleUnpublishButton").trigger("click");
}
});

// Schedule an unpublish so this test is fully self-contained
cy.getBySelector("PublishMenuButton").should("exist").should("be.enabled");
cy.getBySelector("PublishMenuButton").trigger("click");

cy.getBySelector("publishingMenu")
.should("exist")
.within(() => {
cy.getBySelector("UnpublishScheduleButton").should("exist");
cy.getBySelector("UnpublishScheduleButton").trigger("click");
});

cy.getBySelector("ScheduleUnpublishModal")
.should("exist")
.within(() => {
cy.getBySelector("ScheduleUnpublishButton").should("exist");
cy.getBySelector("ScheduleUnpublishButton").trigger("click");
});

cy.wait(publishItem);
cy.wait(publishings);

cy.getBySelector("ScheduledUnpublishIndicator").should("exist");

// Now cancel the scheduled unpublish
cy.getBySelector("PublishMenuButton").trigger("click");

cy.getBySelector("publishingMenu")
.should("exist")
.within(() => {
cy.getBySelector("UnpublishScheduleButton").should("exist");
cy.getBySelector("UnpublishScheduleButton").trigger("click");
});

cy.getBySelector("ScheduleUnpublishModal")
.should("exist")
.within(() => {
// Assert the scheduled date is rendered in the dialog (not blank)
cy.contains("scheduled to unpublish on").should("exist");
cy.contains(/\w{3} \d{1,2}, \d{4} at \d{1,2}:\d{2}/).should("exist");
cy.getBySelector("UnscheduleUnpublishButton").should("exist");
cy.getBySelector("UnscheduleUnpublishButton").trigger("click");
});

cy.wait(publishItem);
cy.wait(publishings);

cy.getBySelector("ScheduledUnpublishIndicator").should("not.exist");
Comment thread
geodem127 marked this conversation as resolved.
});
Comment thread
geodem127 marked this conversation as resolved.
Comment thread
geodem127 marked this conversation as resolved.

it("Unpublishes an item", () => {
const { items, deletePublishedItem, publishings } = awaitRequests();
cy.visit(
Expand Down
12 changes: 11 additions & 1 deletion public/locales/en-US/content.json
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
"booleanHide": "Hide",
"booleanShow": "Show",
"browse": "Browse",
"cancelledScheduledUnpublish": "Cancelled scheduled unpublish for {{title}}",
"closeInspectorPanelAriaLabel": "Close inspector panel",
"codeSampleBaseTemplate": "Base Template",
"codeSampleBaseTemplateTip": "Uses the base template for rendering the block. This is the default template applied when no specific template is selected.",
Expand Down Expand Up @@ -163,8 +164,10 @@
"editorTypeWysiwyg": "WYSIWYG",
"elementNotEditableHere": "This element can't be edited here.",
"emptyCreateModel": "Please create a new content model",
"errorCancellingScheduledUnpublish": "Error cancelling scheduled unpublish for {{title}}",
"errorPublishing": "Error publishing {{title}}",
"errorScheduling": "Error scheduling {{title}}",
"errorSchedulingUnpublish": "Error scheduling unpublish for {{title}}",
"errorUnpublishing": "Error unpublishing {{title}}",
"errorUnschedulingVersion": "Error unscheduling version {{version}}",
"exceedingMaxLength_one": "Exceeding by {{count}} character.",
Expand Down Expand Up @@ -401,6 +404,10 @@
"itemEditTabRedirects": "Redirects",
"itemEditTabSeo": "SEO",
"itemEditTakeOffline": "Take Offline",
"itemEditTooltipPublished": "v{{version}} published",
"itemEditTooltipSaved": "v{{version}} saved",
"itemEditTooltipScheduledToPublish": "v{{version}} scheduled to publish",
"itemEditTooltipScheduledToUnpublish": "v{{version}} scheduled to unpublish",
"itemEditUnlock": "Unlock",
"itemEditUnpublishContentItemTitle": "Unpublish Content Item",
"itemEditUnpublishDescription": "This will make it immediately unavailable on all of your platforms. You can always republish this item by clicking on the publish button.",
Expand All @@ -410,6 +417,7 @@
"itemEditUnpublishWidgetDescription": "By unpublishing this content it will no longer be served if the URL is requested. The URL will return a 404 not found response.",
"itemEditUnsavedChangesDescription": "You have unsaved changes that will be lost if you leave this page.",
"itemEditUnschedulePublish": "Unschedule Publish",
"itemEditUnscheduleUnpublish": "Unschedule Unpublish",
"itemEditVariant": "Variant",
"itemEditVariantTitle": "Variant Title",
"itemEditVersion": "Version",
Expand All @@ -419,6 +427,7 @@
"itemEditVersionSavedOn": "v{{version}} saved on",
"itemEditVersionScheduledLabel": "v{{version}} Scheduled",
"itemEditVersionScheduledToPublishOn": "v{{version}} scheduled to publish on",
"itemEditVersionScheduledUnpublishLabel": "v{{version}} Scheduled Unpublish",
"itemEditViewActivityLog": "View Activity Log",
"itemEditViewLanguages": "View Languages",
"itemEditViewVersions": "View Versions",
Expand Down Expand Up @@ -610,6 +619,7 @@
"requiresMoreCharacters_one": "Requires {{count}} more character.",
"requiresMoreCharacters_other": "Requires {{count}} more characters.",
"scheduledPublish": "Scheduled {{title}} to publish on {{time}} in the {{timezone}} timezone",
"scheduledUnpublish": "Scheduled {{title}} to unpublish on {{time}} in the {{timezone}} timezone",
"selectBlockVariant": "Please select a block variant.",
"selectedItemNotFound": "Selected item not found: {{value}}",
"selectPlaceholder": "Select",
Expand Down Expand Up @@ -696,9 +706,9 @@
"studioSaveAllButton": "Save All",
"studioSaveAndPublish": "Save and Publish",
"studioSaveAndPublishAllButton": "Save & Publish All",
"studioSaveChanges": "Save Changes",
"studioSaveChangeSectionContent": "Content",
"studioSaveChangeSectionLayout": "Layout",
"studioSaveChanges": "Save Changes",
"studioSaveChangesSubtitle": "Would you like to save or save and publish your changes?",
"studioSaveChangesTypeColumn": "Type",
"studioSaveChangesVersionColumn": "Vers.",
Expand Down
9 changes: 9 additions & 0 deletions public/locales/en-US/shell.json
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,15 @@
"schedulePublishTitleUnschedule": "Unschedule Publish",
"schedulePublishUnscheduleButton": "Unschedule Publish",
"schedulePublishUnscheduleInfo": "This will enable the ability to schedule or publish other versions of this content item",
"scheduleUnpublishButton": "Schedule Unpublish",
"scheduleUnpublishCancelsScheduledPublishWarning": "v{{version}} is scheduled to publish. Scheduling an unpublish will cancel that scheduled publish.",
"scheduleUnpublishOnLabel": "Unpublish on",
"scheduleUnpublishPastWarning": "Since the selected time is a current or past date, this will be immediately unpublished.",
"scheduleUnpublishScheduledInfo": "v{{version}} is scheduled to unpublish on {{date}} in {{timezone}}.",
"scheduleUnpublishTitleSchedule": "Schedule Unpublish",
"scheduleUnpublishTitleUnschedule": "Unschedule Unpublish",
"scheduleUnpublishUnscheduleButton": "Cancel Scheduled Unpublish",
"scheduleUnpublishUnscheduleInfo": "This will cancel the scheduled unpublish and keep this content item published.",
"searchIn": "Search in...",
"searchInstancePlaceholder": "Search Instance {{shortcut}}",
"searchInstances": "Search Instances",
Expand Down
12 changes: 11 additions & 1 deletion public/locales/es-ES/content.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@
"booleanHide": "Ocultar",
"booleanShow": "Mostrar",
"browse": "Explorar",
"cancelledScheduledUnpublish": "Se ha cancelado la anulación de publicación programada de {{title}}",
"closeInspectorPanelAriaLabel": "Cerrar panel del inspector",
"codeSampleBaseTemplate": "Plantilla base",
"codeSampleBaseTemplateTip": "Usa la plantilla base para representar el bloque. Es la plantilla predeterminada que se aplica cuando no se selecciona ninguna plantilla específica.",
Expand Down Expand Up @@ -167,8 +168,10 @@
"editorTypeWysiwyg": "WYSIWYG",
"elementNotEditableHere": "Este elemento no se puede editar aquí.",
"emptyCreateModel": "Crea un nuevo modelo de contenido",
"errorCancellingScheduledUnpublish": "Error al cancelar la anulación de publicación programada de {{title}}",
"errorPublishing": "Error al publicar {{title}}",
"errorScheduling": "Error al programar {{title}}",
"errorSchedulingUnpublish": "Error al programar la anulación de publicación de {{title}}",
"errorUnpublishing": "Error al anular la publicación de {{title}}",
"errorUnschedulingVersion": "Error al cancelar la programación de la versión {{version}}",
"exceedingMaxLength_one": "Excede por {{count}} carácter.",
Expand Down Expand Up @@ -406,6 +409,10 @@
"itemEditTabRedirects": "Redirecciones",
"itemEditTabSeo": "SEO",
"itemEditTakeOffline": "Desconectar",
"itemEditTooltipPublished": "v{{version}} publicada",
"itemEditTooltipSaved": "v{{version}} guardada",
"itemEditTooltipScheduledToPublish": "v{{version}} programada para publicarse",
"itemEditTooltipScheduledToUnpublish": "v{{version}} programada para anular su publicación",
"itemEditUnlock": "Desbloquear",
"itemEditUnpublishContentItemTitle": "Anular publicacion del elemento de contenido",
"itemEditUnpublishDescription": "Esto hara que no este disponible inmediatamente en todas tus plataformas. Siempre puedes volver a publicar este elemento haciendo clic en el boton de publicar.",
Expand All @@ -415,6 +422,7 @@
"itemEditUnpublishWidgetDescription": "Al anular la publicacion de este contenido, ya no se servira si se solicita la URL. La URL devolvera una respuesta 404 no encontrado.",
"itemEditUnsavedChangesDescription": "Tienes cambios sin guardar que se perderan si sales de esta pagina.",
"itemEditUnschedulePublish": "Cancelar publicacion programada",
"itemEditUnscheduleUnpublish": "Cancelar anulación de publicación programada",
"itemEditVariant": "Variante",
"itemEditVariantTitle": "Titulo de variante",
"itemEditVersion": "Versión",
Expand All @@ -424,6 +432,7 @@
"itemEditVersionSavedOn": "v{{version}} guardada el",
"itemEditVersionScheduledLabel": "v{{version}} programada",
"itemEditVersionScheduledToPublishOn": "v{{version}} programada para publicarse el",
"itemEditVersionScheduledUnpublishLabel": "v{{version}} Anulación de publicación programada",
"itemEditViewActivityLog": "Ver registro de actividad",
"itemEditViewLanguages": "Ver idiomas",
"itemEditViewVersions": "Ver versiones",
Expand Down Expand Up @@ -627,6 +636,7 @@
"requiresMoreCharacters_many": "Requiere {{count}} caracteres más.",
"requiresMoreCharacters_other": "Requiere {{count}} caracteres más.",
"scheduledPublish": "Se ha programado la publicación de {{title}} para el {{time}} en la zona horaria {{timezone}}",
"scheduledUnpublish": "Se ha programado la anulación de la publicación de {{title}} para el {{time}} en la zona horaria {{timezone}}",
"selectBlockVariant": "Seleccione una variante de bloque.",
"selectedItemNotFound": "Elemento seleccionado no encontrado: {{value}}",
"selectPlaceholder": "Seleccionar",
Expand Down Expand Up @@ -716,9 +726,9 @@
"studioSaveAllButton": "Guardar todo",
"studioSaveAndPublish": "Guardar y publicar",
"studioSaveAndPublishAllButton": "Guardar y publicar todo",
"studioSaveChanges": "Guardar cambios",
"studioSaveChangeSectionContent": "Contenido",
"studioSaveChangeSectionLayout": "Diseño",
"studioSaveChanges": "Guardar cambios",
"studioSaveChangesSubtitle": "¿Deseas guardar o guardar y publicar tus cambios?",
"studioSaveChangesTypeColumn": "Tipo",
"studioSaveChangesVersionColumn": "Vers.",
Expand Down
9 changes: 9 additions & 0 deletions public/locales/es-ES/shell.json
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,15 @@
"schedulePublishTitleUnschedule": "Desprogramar publicación",
"schedulePublishUnscheduleButton": "Desprogramar publicación",
"schedulePublishUnscheduleInfo": "Esto habilitará la posibilidad de programar o publicar otras versiones de este elemento de contenido",
"scheduleUnpublishButton": "Programar anulación de publicación",
"scheduleUnpublishCancelsScheduledPublishWarning": "La v{{version}} está programada para publicarse. Programar una anulación de publicación cancelará esa publicación programada.",
"scheduleUnpublishOnLabel": "Anular publicación el",
"scheduleUnpublishPastWarning": "Como la hora seleccionada es una fecha actual o pasada, esto anulará la publicación inmediatamente.",
"scheduleUnpublishScheduledInfo": "La v{{version}} está programada para anular su publicación el {{date}} en {{timezone}}.",
"scheduleUnpublishTitleSchedule": "Programar anulación de publicación",
"scheduleUnpublishTitleUnschedule": "Cancelar anulación de publicación programada",
"scheduleUnpublishUnscheduleButton": "Cancelar anulación de publicación programada",
"scheduleUnpublishUnscheduleInfo": "Esto cancelará la anulación de publicación programada y mantendrá publicado este elemento de contenido.",
"searchIn": "Buscar en...",
"searchInstancePlaceholder": "Buscar en la instancia {{shortcut}}",
"searchInstances": "Buscar instancias",
Expand Down
Loading
Loading