diff --git a/packages/editor-ui/src/components/TagsManager/TagsView/TagsView.vue b/packages/editor-ui/src/components/TagsManager/TagsView/TagsView.vue index ce0121e204..d4a42fc26b 100644 --- a/packages/editor-ui/src/components/TagsManager/TagsView/TagsView.vue +++ b/packages/editor-ui/src/components/TagsManager/TagsView/TagsView.vue @@ -57,15 +57,7 @@ export default Vue.extend({ }, rows(): ITagRow[] { const getUsage = (count: number | undefined) => count && count > 0 - ? this.$locale.baseText( - count > 1 ? - 'tagsView.inUse.plural' : 'tagsView.inUse.singular', - { - interpolate: { - count: count.toString(), - }, - }, - ) + ? this.$locale.baseText('tagsView.inUse', { adjustToNumber: count }) : this.$locale.baseText('tagsView.notBeingUsed'); const disabled = this.isCreateEnabled || this.$data.updateId || this.$data.deleteId; diff --git a/packages/editor-ui/src/plugins/i18n/index.ts b/packages/editor-ui/src/plugins/i18n/index.ts index fe1d681bfa..89e064c830 100644 --- a/packages/editor-ui/src/plugins/i18n/index.ts +++ b/packages/editor-ui/src/plugins/i18n/index.ts @@ -63,8 +63,12 @@ export class I18nClass { */ baseText( key: string, - options?: { interpolate: { [key: string]: string } }, + options?: { adjustToNumber: number; interpolate: { [key: string]: string } }, ): string { + if (options && options.adjustToNumber) { + return this.i18n.tc(key, options.adjustToNumber, options && options.interpolate).toString(); + } + return this.i18n.t(key, options && options.interpolate).toString(); } diff --git a/packages/editor-ui/src/plugins/i18n/locales/en.json b/packages/editor-ui/src/plugins/i18n/locales/en.json index 3098f3fad2..11b4dd700b 100644 --- a/packages/editor-ui/src/plugins/i18n/locales/en.json +++ b/packages/editor-ui/src/plugins/i18n/locales/en.json @@ -356,8 +356,7 @@ "nodeView.showMessage.addNodeButton.message": "'{nodeTypeName}' is an unknown node type", "nodeView.showMessage.addNodeButton.title": "Could not create node", "nodeView.showMessage.keyDown.title": "Workflow created", - "nodeView.showMessage.showMaxNodeTypeError.message.plural": "Only {maxNodes} '{nodeTypeDataDisplayName}' nodes are allowed in a workflow", - "nodeView.showMessage.showMaxNodeTypeError.message.singular": "Only {maxNodes} '{nodeTypeDataDisplayName}' node is allowed in a workflow", + "nodeView.showMessage.showMaxNodeTypeError.message": "Only {count} '{nodeTypeDataDisplayName}' node is allowed in a workflow | Only {count} '{nodeTypeDataDisplayName}' nodes are allowed in a workflow", "nodeView.showMessage.showMaxNodeTypeError.title": "Could not create node", "nodeView.showMessage.stopExecutionCatch.message": "It completed before it could be stopped", "nodeView.showMessage.stopExecutionCatch.title": "Workflow finished executing", @@ -541,8 +540,7 @@ "tagsTable.usage": "Usage", "tagsTableHeader.addNew": "Add new", "tagsTableHeader.searchTags": "Search Tags", - "tagsView.inUse.plural": "{count} workflows", - "tagsView.inUse.singular": "{count} workflow", + "tagsView.inUse": "{count} workflow | {count} workflows", "tagsView.notBeingUsed": "Not being used", "template.buttons.goBackButton": "Go back", "template.buttons.useThisWorkflowButton": "Use this workflow", diff --git a/packages/editor-ui/src/views/NodeView.vue b/packages/editor-ui/src/views/NodeView.vue index ebf1238716..4d092cae5c 100644 --- a/packages/editor-ui/src/views/NodeView.vue +++ b/packages/editor-ui/src/views/NodeView.vue @@ -1256,15 +1256,10 @@ export default mixins( const maxNodes = nodeTypeData.maxNodes; this.$showMessage({ title: this.$locale.baseText('nodeView.showMessage.showMaxNodeTypeError.title'), - message: this.$locale.baseText( - maxNodes === 1 - ? 'nodeView.showMessage.showMaxNodeTypeError.message.singular' - : 'nodeView.showMessage.showMaxNodeTypeError.message.plural', + message: this.$locale.baseText('nodeView.showMessage.showMaxNodeTypeError.message', { - interpolate: { - maxNodes: maxNodes!.toString(), - nodeTypeDataDisplayName: nodeTypeData.displayName, - }, + adjustToNumber: maxNodes, + interpolate: { nodeTypeDataDisplayName: nodeTypeData.displayName }, }, ), type: 'error',