Implement pluralization

This commit is contained in:
Iván Ovejero 2022-03-30 18:26:42 +02:00
parent c6a2752cc6
commit f187c3c73a
4 changed files with 11 additions and 22 deletions

View file

@ -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;

View file

@ -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();
}

View file

@ -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",

View file

@ -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',