diff --git a/cypress/composables/folders.ts b/cypress/composables/folders.ts
index 04ec8ce6df..f7ebeeb11f 100644
--- a/cypress/composables/folders.ts
+++ b/cypress/composables/folders.ts
@@ -495,14 +495,14 @@ function confirmFolderDelete(folderName: string) {
function deleteFolderAndMoveContents(folderName: string, destinationName: string) {
cy.intercept('DELETE', '/rest/projects/**').as('deleteFolder');
getFolderDeleteModal().should('be.visible');
- getFolderDeleteModal().find('h1').first().contains(`Delete "${folderName}"`);
+ getFolderDeleteModal().find('h1').first().contains(`Delete '${folderName}'`);
getTransferContentRadioButton().should('be.visible').click();
getMoveToFolderDropdown().click();
getMoveToFolderInput().type(destinationName);
getMoveToFolderOption(destinationName).click();
getDeleteFolderModalConfirmButton().should('be.enabled').click();
cy.wait('@deleteFolder');
- successToast().should('contain.text', `Data transferred to "${destinationName}"`);
+ successToast().should('contain.text', `Data transferred to '${destinationName}'`);
}
function moveFolder(folderName: string, destinationName: string) {
diff --git a/packages/frontend/@n8n/i18n/src/locales/en.json b/packages/frontend/@n8n/i18n/src/locales/en.json
index e693bd07db..fb5282bb36 100644
--- a/packages/frontend/@n8n/i18n/src/locales/en.json
+++ b/packages/frontend/@n8n/i18n/src/locales/en.json
@@ -111,7 +111,7 @@
"generic.upgradeToEnterprise": "Upgrade to Enterprise",
"generic.never": "Never",
"generic.list.clearSelection": "Clear selection",
- "generic.list.selected": "{count} row selected: | {count} rows selected:",
+ "generic.list.selected": "{count} row selected | {count} rows selected",
"about.aboutN8n": "About n8n",
"about.close": "Close",
"about.license": "License",
@@ -971,17 +971,17 @@
"folders.actions.moveToFolder": "Move",
"folders.add": "Add folder",
"folders.add.here.message": "Create a new folder here",
- "folders.add.to.parent.message": "Create folder in \"{parent}\"",
+ "folders.add.to.parent.message": "Create folder in '{parent}'",
"folders.add.overview.community.message": "Folders available in your personal space",
"folders.add.overview.withProjects.message": "Folders available in projects or your personal space",
"folders.add.success.title": "Folder created",
- "folders.add.success.message": "Created new folder \"{folderName}\"
Open folder",
+ "folders.add.success.message": "Created new folder '{folderName}'
Open folder",
"folders.invalidName.empty.message": "Folder name cannot be empty",
"folders.invalidName.tooLong.message": "Folder name cannot be longer than {maxLength} characters",
"folders.invalidName.invalidCharacters.message": "Folder name cannot contain the following characters: {illegalChars}",
"folders.invalidName.starts.with.dot..message": "Folder name cannot start with a dot",
"folders.invalidName.only.dots.message": "Folder name cannot contain only dots",
- "folders.delete.confirm.title": "Delete \"{folderName}\"",
+ "folders.delete.confirm.title": "Delete '{folderName}'",
"folders.delete.typeToConfirm": "delete {folderName}",
"folders.delete.confirm.message": "Are to sure you want to delete this folder?",
"folders.delete.success.message": "Folder deleted",
@@ -991,13 +991,13 @@
"folder.and.workflow.separator": "and",
"folders.delete.action": "Archive all workflows and delete subfolders",
"folders.delete.error.message": "Problem while deleting folder",
- "folders.delete.confirmation.message": "Type \"delete {folderName}\" to confirm",
- "folders.transfer.confirm.message": "Data transferred to \"{folderName}\"",
- "folders.transfer.action": "Transfer workflows and subfolders to another folder inside \"{projectName}\"",
+ "folders.delete.confirmation.message": "Type 'delete {folderName}' to confirm",
+ "folders.transfer.confirm.message": "Data transferred to '{folderName}'",
+ "folders.transfer.action": "Transfer workflows and subfolders to another folder inside '{projectName}'",
"folders.transfer.action.noProject": "Transfer workflows and subfolders to another folder",
"folders.transfer.selectFolder": "Folder to transfer to",
"folders.transfer.select.placeholder": "Select folder",
- "folders.rename.message": "Rename \"{folderName}\"",
+ "folders.rename.message": "Rename '{folderName}'",
"folders.rename.error.title": "Problem renaming folder",
"folders.rename.success.message": "Folder renamed",
"folders.rename.placeholder": "Enter new folder name",
@@ -2844,8 +2844,7 @@
"contextual.feature.unavailable.title.cloud": "Available on the Pro Plan",
"dataStore.dataStores": "Data tables",
"dataStore.empty.label": "You don't have any data tables yet",
- "dataStore.empty.description": "Once you create data tables for your projects, they will appear here",
- "dataStore.empty.button.label": "Create Data table in \"{projectName}\"",
+ "dataStore.empty.description": "Use data tables to persist execution results, share data between workflows, and track metrics for evaluation.",
"dataStore.card.size": "{size}MB",
"dataStore.card.column.count": "{count} column | {count} columns",
"dataStore.card.row.count": "{count} record | {count} records",
@@ -2856,13 +2855,12 @@
"dataStore.search.placeholder": "Search",
"dataStore.error.fetching": "Error loading data tables",
"dataStore.add.title": "Create new Data table",
- "dataStore.add.description": "Set up a new data table to organize and manage your data.",
"dataStore.add.button.label": "Create Data table",
"dataStore.add.input.name.label": "Data table name",
"dataStore.add.input.name.placeholder": "Enter data table name",
"dataStore.add.error": "Error creating data table",
"dataStore.delete.confirm.title": "Delete Data table",
- "dataStore.delete.confirm.message": "Are you sure you want to delete the data table \"{name}\"? This action cannot be undone.",
+ "dataStore.delete.confirm.message": "Are you sure you want to delete the data table '{name}'? This action cannot be undone.",
"dataStore.delete.error": "Error deleting data table",
"dataStore.rename.error": "Error renaming data table",
"dataStore.getDetails.error": "Error fetching data table details",
@@ -2875,10 +2873,12 @@
"dataStore.addColumn.nameInput.placeholder": "Enter column name",
"dataStore.addColumn.typeInput.label": "@:_reusableBaseText.type",
"dataStore.addColumn.error": "Error adding column",
+ "dataStore.addColumn.alreadyExistsError": "This column already exists",
+ "dataStore.addColumn.alreadyExistsDescription": "Column name already exisits, choose a different name",
"dataStore.moveColumn.error": "Error moving column",
"dataStore.deleteColumn.error": "Error deleting column",
"dataStore.deleteColumn.confirm.title": "Delete column",
- "dataStore.deleteColumn.confirm.message": "Are you sure you want to delete the column \"{name}\"? This action cannot be undone.",
+ "dataStore.deleteColumn.confirm.message": "Are you sure you want to delete the column '{name}'? This action cannot be undone.",
"dataStore.addColumn.invalidName.error": "Invalid column name",
"dataStore.addColumn.invalidName.description": "Column names must begin with a letter and can only include letters, numbers, or underscores",
"dataStore.fetchContent.error": "Error fetching data store content",
@@ -2887,8 +2887,9 @@
"dataStore.updateRow.error": "Error updating row",
"dataStore.deleteRows.title": "Delete Rows",
"dataStore.deleteRows.confirmation": "Are you sure you want to delete {count} row? | Are you sure you want to delete {count} rows?",
- "dataStore.deleteRows.success": "Rows deleted successfully",
"dataStore.deleteRows.error": "Error deleting rows",
+ "dataStore.error.tableNotInitialized": "Table not initialized",
+ "dataStore.noRows": "No rows",
"settings.ldap": "LDAP",
"settings.ldap.note": "LDAP allows users to authenticate with their centralized account. It's compatible with services that provide an LDAP interface like Active Directory, Okta and Jumpcloud.",
"settings.ldap.infoTip": "Learn more about LDAP in the Docs",
diff --git a/packages/frontend/editor-ui/src/components/common/SelectedItemsInfo.vue b/packages/frontend/editor-ui/src/components/common/SelectedItemsInfo.vue
index ec32615fe1..36d93485e7 100644
--- a/packages/frontend/editor-ui/src/components/common/SelectedItemsInfo.vue
+++ b/packages/frontend/editor-ui/src/components/common/SelectedItemsInfo.vue
@@ -45,15 +45,17 @@ const handleClearSelection = () => {
{{ getSelectedText() }}
@@ -73,9 +75,11 @@ const handleClearSelection = () => {
border-radius: var(--border-radius-base);
color: var(--execution-selector-text);
font-size: var(--font-size-2xs);
+ gap: var(--spacing-2xs);
+}
- button {
- margin-left: var(--spacing-2xs);
- }
+.button {
+ display: flex;
+ align-items: center;
}
diff --git a/packages/frontend/editor-ui/src/features/dataStore/DataStoreDetailsView.vue b/packages/frontend/editor-ui/src/features/dataStore/DataStoreDetailsView.vue
index 9c14d1af6f..2c2ecdac96 100644
--- a/packages/frontend/editor-ui/src/features/dataStore/DataStoreDetailsView.vue
+++ b/packages/frontend/editor-ui/src/features/dataStore/DataStoreDetailsView.vue
@@ -1,6 +1,10 @@