diff --git a/packages/cmsui/acceptance/tests/content-types.test.ts b/packages/cmsui/acceptance/tests/content-types.test.ts
index 614f3910b..415e3f724 100644
--- a/packages/cmsui/acceptance/tests/content-types.test.ts
+++ b/packages/cmsui/acceptance/tests/content-types.test.ts
@@ -508,6 +508,8 @@ test.describe('A content type, on a backend with @content-types', () => {
await openNewType(page, 'settings');
await page.getByText('Show in search results', { exact: true }).click();
+ // New types aren't in the navigation.
+ await page.getByText('Show in navigation', { exact: true }).click();
await page
.getByRole('radiogroup', { name: 'Versioning' })
.getByText('Automatic', { exact: true })
@@ -518,6 +520,9 @@ test.describe('A content type, on a backend with @content-types', () => {
await expect(
page.getByRole('switch', { name: 'Show in search results' }),
).not.toBeChecked();
+ await expect(
+ page.getByRole('switch', { name: 'Show in navigation' }),
+ ).toBeChecked();
await expect(page.getByRole('radio', { name: /^Automatic/ })).toBeChecked();
});
diff --git a/packages/controlpanels/news/+restapi-review.feature b/packages/controlpanels/news/+restapi-review.feature
new file mode 100644
index 000000000..de0fa478d
--- /dev/null
+++ b/packages/controlpanels/news/+restapi-review.feature
@@ -0,0 +1 @@
+Follow the reviewed plone.restapi content types API (plone/plone.restapi#2070, #2090): a type's number of items is `content_count`, the Settings tab has "Show in navigation" instead of "Can be used as a folder's default page", and the Workflow tab says when a type's chain has other workflows, which changing the workflow replaces. The capability and settings field `defaultPage` is now `inNavigation`. @sneridagh
diff --git a/packages/controlpanels/src/content-types/components/SettingsTab/SettingsTab.tsx b/packages/controlpanels/src/content-types/components/SettingsTab/SettingsTab.tsx
index c29bdb1c6..b872e593b 100644
--- a/packages/controlpanels/src/content-types/components/SettingsTab/SettingsTab.tsx
+++ b/packages/controlpanels/src/content-types/components/SettingsTab/SettingsTab.tsx
@@ -186,7 +186,7 @@ export function SettingsTab({ type, types }: SettingsTabProps) {
const missing =
!capabilities.globalAllow ||
!capabilities.searchable ||
- !capabilities.defaultPage ||
+ !capabilities.inNavigation ||
!capabilities.allowDiscussion ||
!capabilities.versioning;
@@ -203,7 +203,7 @@ export function SettingsTab({ type, types }: SettingsTabProps) {
)}
{type.folderish && }
- {(capabilities.searchable || capabilities.defaultPage) && (
+ {(capabilities.searchable || capabilities.inNavigation) && (
{capabilities.searchable && (
)}
- {capabilities.defaultPage && (
+ {capabilities.inNavigation && (
)}
diff --git a/packages/controlpanels/src/content-types/components/WorkflowTab/WorkflowTab.test.tsx b/packages/controlpanels/src/content-types/components/WorkflowTab/WorkflowTab.test.tsx
index ffcac6156..535375185 100644
--- a/packages/controlpanels/src/content-types/components/WorkflowTab/WorkflowTab.test.tsx
+++ b/packages/controlpanels/src/content-types/components/WorkflowTab/WorkflowTab.test.tsx
@@ -42,6 +42,28 @@ async function openAndChoose(name: RegExp) {
}
describe('WorkflowTab', () => {
+ it('mentions the other workflows of a chain', async () => {
+ const base = createMockDriver();
+ const driver = {
+ ...base,
+ getType: async (id: string) => {
+ const type = await base.getType(id);
+ return {
+ ...type,
+ workflow: {
+ workflow: 'simple_publication_workflow',
+ chain: ['simple_publication_workflow', 'intranet_workflow'],
+ followsDefault: false,
+ },
+ };
+ },
+ };
+ renderWorkflow(driver);
+ expect(
+ await screen.findByText(/Its chain also has Intranet/),
+ ).toHaveTextContent('Changing the workflow replaces the whole chain.');
+ });
+
it('shows the states of the current workflow', async () => {
renderWorkflow();
const states = await screen.findByRole('list', { name: 'States' });
diff --git a/packages/controlpanels/src/content-types/components/WorkflowTab/WorkflowTab.tsx b/packages/controlpanels/src/content-types/components/WorkflowTab/WorkflowTab.tsx
index 24a0d071b..39308638c 100644
--- a/packages/controlpanels/src/content-types/components/WorkflowTab/WorkflowTab.tsx
+++ b/packages/controlpanels/src/content-types/components/WorkflowTab/WorkflowTab.tsx
@@ -75,6 +75,19 @@ export function WorkflowTab({
{workflow?.description && (
{workflow.description}
)}
+ {assignment.chain && assignment.chain.length > 1 && (
+
+ {t(messages.otherWorkflows, {
+ workflows: assignment.chain
+ .slice(1)
+ .map(
+ (id) =>
+ workflows.find((entry) => entry.id === id)?.title ?? id,
+ )
+ .join(', '),
+ })}
+
+ )}
{workflow ? (
;
@@ -33,7 +33,7 @@ export const TAB_FIELDS: Partial<
'allowedContents',
'globalAllow',
'searchable',
- 'defaultPage',
+ 'inNavigation',
'allowDiscussion',
'versioning',
],
@@ -53,7 +53,7 @@ export function toEditableSettings(
allowedContents,
globalAllow,
searchable,
- defaultPage,
+ inNavigation,
allowDiscussion,
versioning,
} = settings;
@@ -64,7 +64,7 @@ export function toEditableSettings(
...(allowedContents && { allowedContents }),
...(globalAllow !== undefined && { globalAllow }),
...(searchable !== undefined && { searchable }),
- ...(defaultPage !== undefined && { defaultPage }),
+ ...(inNavigation !== undefined && { inNavigation }),
...(allowDiscussion !== undefined && { allowDiscussion }),
...(versioning !== undefined && { versioning }),
...(schema && { schema }),
@@ -106,7 +106,7 @@ export const SETTING_CAPABILITIES: Partial<
> = {
globalAllow: 'globalAllow',
searchable: 'searchable',
- defaultPage: 'defaultPage',
+ inNavigation: 'inNavigation',
allowDiscussion: 'allowDiscussion',
versioning: 'versioning',
};
diff --git a/packages/controlpanels/src/content-types/messages.ts b/packages/controlpanels/src/content-types/messages.ts
index 2c0e9e2bb..7a316c7bd 100644
--- a/packages/controlpanels/src/content-types/messages.ts
+++ b/packages/controlpanels/src/content-types/messages.ts
@@ -426,14 +426,18 @@ export const messages = defineMessages({
defaultMessage:
'Turn off for helper types that should never appear in site search.',
},
- defaultPage: {
- id: 'controlpanels.contentTypes.defaultPage',
- defaultMessage: "Can be used as a folder's default page",
- },
- defaultPageHelp: {
- id: 'controlpanels.contentTypes.defaultPageHelp',
+ otherWorkflows: {
+ id: 'controlpanels.contentTypes.otherWorkflows',
defaultMessage:
- 'Lets editors pick an item of this type as the page a folder shows.',
+ 'Its chain also has {{workflows}}. Changing the workflow replaces the whole chain.',
+ },
+ inNavigation: {
+ id: 'controlpanels.contentTypes.inNavigation',
+ defaultMessage: 'Show in navigation',
+ },
+ inNavigationHelp: {
+ id: 'controlpanels.contentTypes.inNavigationHelp',
+ defaultMessage: "Lists items of this type in the site's navigation.",
},
comments: {
id: 'controlpanels.contentTypes.comments',
diff --git a/packages/controlpanels/src/content-types/mock/createMockDriver.ts b/packages/controlpanels/src/content-types/mock/createMockDriver.ts
index d9fbc080a..02d28b0fb 100644
--- a/packages/controlpanels/src/content-types/mock/createMockDriver.ts
+++ b/packages/controlpanels/src/content-types/mock/createMockDriver.ts
@@ -55,7 +55,7 @@ export function createMockDriver(
const capabilities: ContentTypesCapabilities = {
globalAllow: true,
searchable: true,
- defaultPage: true,
+ inNavigation: true,
allowDiscussion: true,
versioning: true,
behaviorOrder: true,
@@ -134,7 +134,7 @@ export function createMockDriver(
const result: ContentTypeSettings = { ...type };
if (!capabilities.globalAllow) delete result.globalAllow;
if (!capabilities.searchable) delete result.searchable;
- if (!capabilities.defaultPage) delete result.defaultPage;
+ if (!capabilities.inNavigation) delete result.inNavigation;
if (!capabilities.allowDiscussion) delete result.allowDiscussion;
if (!capabilities.versioning) delete result.versioning;
if (capabilities.workflows) result.workflow = assignment(type.id);
@@ -250,7 +250,7 @@ export function createMockDriver(
allowedContents: { mode: 'all' },
globalAllow: data.siteDefaults.globalAllow,
searchable: true,
- defaultPage: false,
+ inNavigation: false,
allowDiscussion: false,
versioning: data.siteDefaults.versioning,
behaviors: ['plone.dublincore', 'plone.namefromtitle'],
diff --git a/packages/controlpanels/src/content-types/mock/fixtures/index.ts b/packages/controlpanels/src/content-types/mock/fixtures/index.ts
index 766915071..9b4b36f11 100644
--- a/packages/controlpanels/src/content-types/mock/fixtures/index.ts
+++ b/packages/controlpanels/src/content-types/mock/fixtures/index.ts
@@ -55,7 +55,7 @@ const settings = (
folderish: false,
globalAllow: true,
searchable: true,
- defaultPage: false,
+ inNavigation: false,
allowDiscussion: false,
versioning: 'manual',
...type,
@@ -82,14 +82,14 @@ export const mockData: MockData = {
'plone.namefromtitle',
'plone.collection',
],
- defaultPage: true,
+ inNavigation: true,
}),
settings({
id: 'Document',
title: 'Page',
folderish: true,
allowedContents: { mode: 'all' },
- defaultPage: true,
+ inNavigation: true,
behaviors: PAGE_BEHAVIORS,
}),
settings({
diff --git a/packages/controlpanels/src/content-types/restapi/contentTypesService.test.ts b/packages/controlpanels/src/content-types/restapi/contentTypesService.test.ts
index 70e734e70..89e10abed 100644
--- a/packages/controlpanels/src/content-types/restapi/contentTypesService.test.ts
+++ b/packages/controlpanels/src/content-types/restapi/contentTypesService.test.ts
@@ -16,7 +16,7 @@ const event: ContentTypeResponse = {
'@id': 'http://localhost:55001/plone/@content-types/Event',
id: 'Event',
title: 'Event',
- items_total: 3,
+ content_count: 3,
data: {
title: 'Event',
description: 'Events can be shown in calendars.',
@@ -24,7 +24,7 @@ const event: ContentTypeResponse = {
allowed_content_types_mode: { token: 'selected', title: 'Selected types' },
allowed_content_types: [{ token: 'Image', title: 'Image' }],
searchable: true,
- default_page: true,
+ in_navigation: true,
allow_discussion: false,
versioning: { token: 'automatic', title: 'Automatic' },
behaviors: [
@@ -38,7 +38,7 @@ const event: ContentTypeResponse = {
{ id: 'behaviors', fields: ['behaviors'] },
],
},
- workflow: { id: 'simple_publication_workflow', follows_default: true },
+ workflow: { chain: ['simple_publication_workflow'], follows_default: true },
};
// Trimmed from `GET @workflows/simple_publication_workflow`.
@@ -113,7 +113,7 @@ describe('toSettings and toSummary', () => {
allowedContents: { mode: 'selected', types: ['Image'] },
globalAllow: true,
searchable: true,
- defaultPage: true,
+ inNavigation: true,
allowDiscussion: false,
versioning: 'automatic',
behaviors: ['plone.eventbasic', 'plone.dublincore'],
@@ -129,6 +129,22 @@ describe('toSettings and toSummary', () => {
});
});
+ it('keeps the chain of a type with several workflows', () => {
+ const chain = ['simple_publication_workflow', 'comment_review_workflow'];
+ expect(
+ toSettings({ ...event, workflow: { chain, follows_default: false } })
+ .workflow,
+ ).toEqual({
+ workflow: 'simple_publication_workflow',
+ chain,
+ followsDefault: false,
+ });
+ expect(
+ toSettings({ ...event, workflow: { chain: [], follows_default: false } })
+ .workflow,
+ ).toEqual({ workflow: null, followsDefault: false });
+ });
+
it('tells the site and types without behaviors apart', () => {
expect(toSummary({ ...event, id: 'Plone Site' }).kind).toBe('site');
expect(
@@ -146,13 +162,13 @@ describe('toContentTypePatch', () => {
expect(
toContentTypePatch({
globalAllow: false,
- defaultPage: true,
+ inNavigation: true,
allowedContents: { mode: 'selected', types: ['File'] },
behaviors: ['plone.dublincore'],
}),
).toEqual({
global_allow: false,
- default_page: true,
+ in_navigation: true,
allowed_content_types_mode: 'selected',
allowed_content_types: ['File'],
behaviors: ['plone.dublincore'],
diff --git a/packages/controlpanels/src/content-types/restapi/contentTypesService.ts b/packages/controlpanels/src/content-types/restapi/contentTypesService.ts
index 02956003d..0551e24ac 100644
--- a/packages/controlpanels/src/content-types/restapi/contentTypesService.ts
+++ b/packages/controlpanels/src/content-types/restapi/contentTypesService.ts
@@ -33,7 +33,7 @@ export function toCapabilities(
...(backend.contentTypes && {
globalAllow: true,
searchable: true,
- defaultPage: true,
+ inNavigation: true,
allowDiscussion: true,
versioning: true,
copyType: true,
@@ -58,7 +58,8 @@ export interface ContentTypeResponse {
'@id': string;
id: string;
title: string;
- items_total: number;
+ /** The number of items of the type. */
+ content_count: number;
data: {
title?: string;
description?: string;
@@ -66,14 +67,15 @@ export interface ContentTypeResponse {
allowed_content_types_mode?: Term;
allowed_content_types?: Term[];
searchable?: boolean;
- default_page?: boolean;
+ in_navigation?: boolean;
allow_discussion?: boolean;
versioning?: Term;
behaviors?: Term[];
[field: string]: unknown;
};
schema: { fieldsets: Array<{ id: string; fields: string[] }> };
- workflow?: { id: string | null; follows_default: boolean };
+ /** The workflows of the type's chain, in order, the first setting the state. */
+ workflow?: { chain: string[]; follows_default: boolean };
/** Not sent yet: every type counts as folderish without it. */
folderish?: boolean;
}
@@ -91,7 +93,10 @@ const kindOf = (response: ContentTypeResponse) =>
const workflowOf = (response: ContentTypeResponse) =>
response.workflow && {
- workflow: response.workflow.id,
+ workflow: response.workflow.chain[0] ?? null,
+ ...(response.workflow.chain.length > 1 && {
+ chain: response.workflow.chain,
+ }),
followsDefault: response.workflow.follows_default,
};
@@ -103,7 +108,7 @@ export function toSummary(response: ContentTypeResponse): ContentTypeSummary {
title: data.title || response.title,
description: data.description || undefined,
kind: kindOf(response),
- count: response.items_total ?? 0,
+ count: response.content_count ?? 0,
globalAllow: data.global_allow,
workflow: workflowOf(response),
versioning: tokenOf(data.versioning) as VersioningPolicy | undefined,
@@ -131,7 +136,7 @@ export function toSettings(response: ContentTypeResponse): ContentTypeSettings {
...(folderish && { allowedContents }),
globalAllow: data.global_allow,
searchable: data.searchable,
- defaultPage: data.default_page,
+ inNavigation: data.in_navigation,
allowDiscussion: data.allow_discussion,
versioning: tokenOf(data.versioning) as VersioningPolicy | undefined,
behaviors: (data.behaviors ?? [])
@@ -151,7 +156,7 @@ export function toContentTypePatch(
['description', 'description'],
['globalAllow', 'global_allow'],
['searchable', 'searchable'],
- ['defaultPage', 'default_page'],
+ ['inNavigation', 'in_navigation'],
['allowDiscussion', 'allow_discussion'],
['versioning', 'versioning'],
['behaviors', 'behaviors'],
diff --git a/packages/controlpanels/src/content-types/restapi/createRestApiDriver.test.ts b/packages/controlpanels/src/content-types/restapi/createRestApiDriver.test.ts
index 274309a89..d98fe1db2 100644
--- a/packages/controlpanels/src/content-types/restapi/createRestApiDriver.test.ts
+++ b/packages/controlpanels/src/content-types/restapi/createRestApiDriver.test.ts
@@ -65,7 +65,7 @@ describe('createRestApiDriver', () => {
'@id': 'x',
id: 'Event',
title: 'Event',
- items_total: 2,
+ content_count: 2,
data: { title: 'Event' },
schema: { fieldsets: [{ id: 'behaviors', fields: [] }] },
},
diff --git a/packages/controlpanels/src/content-types/types.ts b/packages/controlpanels/src/content-types/types.ts
index cb7b04a85..36ab4499a 100644
--- a/packages/controlpanels/src/content-types/types.ts
+++ b/packages/controlpanels/src/content-types/types.ts
@@ -17,6 +17,11 @@ export type AllowedContents =
export interface WorkflowAssignment {
/** The workflow id, or `null` when the type has no workflow. */
workflow: string | null;
+ /**
+ * The whole chain, when the type has more than one workflow. The first is
+ * `workflow`, which sets the state of items.
+ */
+ chain?: string[];
/** Whether the type follows the site default instead of setting its own. */
followsDefault: boolean;
}
@@ -55,7 +60,7 @@ export interface ContentTypeSettings {
/** Optional settings are missing when the driver can't provide them. */
globalAllow?: boolean;
searchable?: boolean;
- defaultPage?: boolean;
+ inNavigation?: boolean;
allowDiscussion?: boolean;
versioning?: VersioningPolicy;
/**
diff --git a/packages/controlpanels/src/locales/ca/common.json b/packages/controlpanels/src/locales/ca/common.json
index fbedd7367..9978cf36d 100644
--- a/packages/controlpanels/src/locales/ca/common.json
+++ b/packages/controlpanels/src/locales/ca/common.json
@@ -67,8 +67,6 @@
"current": "Actual",
"currentWorkflow": "Flux de treball actual",
"custom": "Personalitzat",
- "defaultPage": "Es pot fer servir com a pàgina per defecte d'una carpeta",
- "defaultPageHelp": "Permet als editors triar un element d'aquest tipus com a pàgina que mostra una carpeta.",
"defaultWorkflow": "Flux de treball: {{workflow}}",
"delete": "Suprimeix…",
"deleteBlocked": "Els tipus que encara tenen elements no es poden suprimir. Suprimiu o moveu-ne primer els elements:",
@@ -126,6 +124,8 @@
"includedIn": "Inclòs a {{title}}",
"includesList": "Inclou {{behaviors}}",
"initialState": "Els elements nous comencen aquí",
+ "inNavigation": "Mostra a la navegació",
+ "inNavigationHelp": "Mostra els elements d'aquest tipus a la navegació del lloc.",
"instead": "En lloc de {{title}}: activeu-lo a la seva fila.",
"items": "{{count}} elements",
"keepEditing": "Continua editant",
@@ -169,6 +169,7 @@
"noWorkflowHelp": "Els elements d'aquest tipus no tenen estat. Prenen la visibilitat de la seva carpeta.",
"oneItem": "1 element",
"otherScopeWorkflows": "{{count}} fluxos de treball més només s'ofereixen per als comentaris.",
+ "otherWorkflows": "La seva cadena també té {{workflows}}. Canviar el flux de treball substitueix tota la cadena.",
"pendingFields": "Els camps de {{behaviors}} es mostren després de desar.",
"placefulNote": "Les polítiques de flux de treball de les carpetes continuen tenint prioritat.",
"previewError": "No s'ha pogut previsualitzar el canvi.",
diff --git a/packages/controlpanels/src/locales/de/common.json b/packages/controlpanels/src/locales/de/common.json
index 3e98be91b..328722101 100644
--- a/packages/controlpanels/src/locales/de/common.json
+++ b/packages/controlpanels/src/locales/de/common.json
@@ -67,8 +67,6 @@
"current": "Aktuell",
"currentWorkflow": "Aktueller Arbeitsablauf",
"custom": "Benutzerdefiniert",
- "defaultPage": "Kann als Standardseite eines Ordners verwendet werden",
- "defaultPageHelp": "Redakteure können einen Inhalt dieses Typs als die Seite wählen, die ein Ordner anzeigt.",
"defaultWorkflow": "Arbeitsablauf: {{workflow}}",
"delete": "Löschen…",
"deleteBlocked": "Typen, die noch Inhalte haben, können nicht gelöscht werden. Löschen oder verschieben Sie zuerst deren Inhalte:",
@@ -126,6 +124,8 @@
"includedIn": "Enthalten in {{title}}",
"includesList": "Enthält {{behaviors}}",
"initialState": "Neue Inhalte beginnen hier",
+ "inNavigation": "In der Navigation anzeigen",
+ "inNavigationHelp": "Listet Inhalte dieses Typs in der Navigation der Website auf.",
"instead": "Statt {{title}}: Schalten Sie es in seiner Zeile ein.",
"items": "{{count}} Inhalte",
"keepEditing": "Weiter bearbeiten",
@@ -169,6 +169,7 @@
"noWorkflowHelp": "Inhalte dieses Typs haben keinen Status. Sie übernehmen ihre Sichtbarkeit vom Ordner.",
"oneItem": "1 Inhalt",
"otherScopeWorkflows": "{{count}} weitere Arbeitsabläufe werden nur für Kommentare angeboten.",
+ "otherWorkflows": "Seine Kette enthält auch {{workflows}}. Wenn Sie den Workflow ändern, wird die ganze Kette ersetzt.",
"pendingFields": "Felder aus {{behaviors}} erscheinen nach dem Speichern.",
"placefulNote": "Arbeitsablauf-Richtlinien auf Ordnerebene haben weiterhin Vorrang.",
"previewError": "Für die Änderung konnte keine Vorschau erstellt werden.",
diff --git a/packages/controlpanels/src/locales/en/common.json b/packages/controlpanels/src/locales/en/common.json
index 0f7dca003..f0d238678 100644
--- a/packages/controlpanels/src/locales/en/common.json
+++ b/packages/controlpanels/src/locales/en/common.json
@@ -67,8 +67,6 @@
"current": "Current",
"currentWorkflow": "Current workflow",
"custom": "Custom",
- "defaultPage": "Can be used as a folder's default page",
- "defaultPageHelp": "Lets editors pick an item of this type as the page a folder shows.",
"defaultWorkflow": "Workflow: {{workflow}}",
"delete": "Delete…",
"deleteBlocked": "Types that still have items can't be deleted. Delete or move their items first:",
@@ -126,6 +124,8 @@
"includedIn": "Included in {{title}}",
"includesList": "Includes {{behaviors}}",
"initialState": "New items start here",
+ "inNavigation": "Show in navigation",
+ "inNavigationHelp": "Lists items of this type in the site's navigation.",
"instead": "Instead of {{title}}: switch it on its row.",
"items": "{{count}} items",
"keepEditing": "Keep editing",
@@ -169,6 +169,7 @@
"noWorkflowHelp": "Items of this type have no state. They take their visibility from their folder.",
"oneItem": "1 item",
"otherScopeWorkflows": "{{count}} more workflows are only offered for comments.",
+ "otherWorkflows": "Its chain also has {{workflows}}. Changing the workflow replaces the whole chain.",
"pendingFields": "Fields from {{behaviors}} show after saving.",
"placefulNote": "Folder-level workflow policies still override this.",
"previewError": "The change couldn't be previewed.",
diff --git a/packages/controlpanels/src/locales/es/common.json b/packages/controlpanels/src/locales/es/common.json
index ee7f8368c..3ca06531e 100644
--- a/packages/controlpanels/src/locales/es/common.json
+++ b/packages/controlpanels/src/locales/es/common.json
@@ -67,8 +67,6 @@
"current": "Actual",
"currentWorkflow": "Flujo de trabajo actual",
"custom": "Personalizado",
- "defaultPage": "Puede usarse como página por defecto de una carpeta",
- "defaultPageHelp": "Permite a los editores elegir un elemento de este tipo como la página que muestra una carpeta.",
"defaultWorkflow": "Flujo de trabajo: {{workflow}}",
"delete": "Eliminar…",
"deleteBlocked": "Los tipos que aún tienen elementos no se pueden eliminar. Elimine o mueva primero sus elementos:",
@@ -126,6 +124,8 @@
"includedIn": "Incluido en {{title}}",
"includesList": "Incluye {{behaviors}}",
"initialState": "Los elementos nuevos empiezan aquí",
+ "inNavigation": "Mostrar en la navegación",
+ "inNavigationHelp": "Muestra los elementos de este tipo en la navegación del sitio.",
"instead": "En lugar de {{title}}: actívelo en su fila.",
"items": "{{count}} elementos",
"keepEditing": "Seguir editando",
@@ -169,6 +169,7 @@
"noWorkflowHelp": "Los elementos de este tipo no tienen estado. Toman su visibilidad de su carpeta.",
"oneItem": "1 elemento",
"otherScopeWorkflows": "{{count}} flujos de trabajo más solo se ofrecen para comentarios.",
+ "otherWorkflows": "Su cadena también tiene {{workflows}}. Cambiar el flujo de trabajo reemplaza toda la cadena.",
"pendingFields": "Los campos de {{behaviors}} aparecen después de guardar.",
"placefulNote": "Las políticas de flujo de trabajo de las carpetas siguen teniendo prioridad sobre esto.",
"previewError": "No se pudo previsualizar el cambio.",
diff --git a/packages/controlpanels/src/locales/it/common.json b/packages/controlpanels/src/locales/it/common.json
index 50647f71b..aefa3e8da 100644
--- a/packages/controlpanels/src/locales/it/common.json
+++ b/packages/controlpanels/src/locales/it/common.json
@@ -67,8 +67,6 @@
"current": "Attuale",
"currentWorkflow": "Workflow attuale",
"custom": "Personalizzato",
- "defaultPage": "Può essere usato come pagina di default di una cartella",
- "defaultPageHelp": "Permette agli editor di scegliere un elemento di questo tipo come pagina mostrata da una cartella.",
"defaultWorkflow": "Workflow: {{workflow}}",
"delete": "Elimina…",
"deleteBlocked": "I tipi che hanno ancora elementi non possono essere eliminati. Elimina o sposta prima i loro elementi:",
@@ -126,6 +124,8 @@
"includedIn": "Incluso in {{title}}",
"includesList": "Include {{behaviors}}",
"initialState": "I nuovi elementi partono da qui",
+ "inNavigation": "Mostra nella navigazione",
+ "inNavigationHelp": "Elenca gli elementi di questo tipo nella navigazione del sito.",
"instead": "Al posto di {{title}}: attivalo nella sua riga.",
"items": "{{count}} elementi",
"keepEditing": "Continua a modificare",
@@ -169,6 +169,7 @@
"noWorkflowHelp": "Gli elementi di questo tipo non hanno stato. Prendono la visibilità dalla loro cartella.",
"oneItem": "1 elemento",
"otherScopeWorkflows": "Altri {{count}} workflow sono disponibili solo per i commenti.",
+ "otherWorkflows": "La sua catena ha anche {{workflows}}. Cambiare il workflow sostituisce l'intera catena.",
"pendingFields": "I campi di {{behaviors}} compaiono dopo il salvataggio.",
"placefulNote": "Le policy di workflow a livello di cartella hanno comunque la precedenza.",
"previewError": "Non è stato possibile mostrare l'anteprima della modifica.",
diff --git a/packages/controlpanels/src/locales/pt-BR/common.json b/packages/controlpanels/src/locales/pt-BR/common.json
index 4aad2e1aa..b222083e5 100644
--- a/packages/controlpanels/src/locales/pt-BR/common.json
+++ b/packages/controlpanels/src/locales/pt-BR/common.json
@@ -67,8 +67,6 @@
"current": "Atual",
"currentWorkflow": "Workflow atual",
"custom": "Personalizado",
- "defaultPage": "Pode ser usado como página padrão de uma pasta",
- "defaultPageHelp": "Permite que os editores escolham um item deste tipo como a página que uma pasta exibe.",
"defaultWorkflow": "Workflow: {{workflow}}",
"delete": "Excluir…",
"deleteBlocked": "Tipos que ainda têm itens não podem ser excluídos. Exclua ou mova os itens deles primeiro:",
@@ -126,6 +124,8 @@
"includedIn": "Incluído em {{title}}",
"includesList": "Inclui {{behaviors}}",
"initialState": "Novos itens começam aqui",
+ "inNavigation": "Exibir na navegação",
+ "inNavigationHelp": "Lista os itens deste tipo na navegação do site.",
"instead": "Em vez de {{title}}: ative-o na sua linha.",
"items": "{{count}} itens",
"keepEditing": "Continuar editando",
@@ -169,6 +169,7 @@
"noWorkflowHelp": "Itens deste tipo não têm estado. Eles herdam a visibilidade da pasta.",
"oneItem": "1 item",
"otherScopeWorkflows": "Mais {{count}} workflows são oferecidos apenas para comentários.",
+ "otherWorkflows": "Sua cadeia também tem {{workflows}}. Alterar o fluxo de trabalho substitui a cadeia inteira.",
"pendingFields": "Os campos de {{behaviors}} aparecem depois de salvar.",
"placefulNote": "As políticas de workflow no nível de pasta ainda prevalecem sobre isso.",
"previewError": "Não foi possível pré-visualizar a alteração.",