n8n/packages/nodes-base/nodes/DeepL/TextDescription.ts
Omar Ajoue 30d83d0bc2
Add DeepL Node (#1551)
* Created the node for DeepL translator tool

Still missing a few additional fields but functionality is ok for most cases.

* Added optional fields for Deepl and separated description to a separate file

* Fixed linting issue

* 🎨 Replace PNG with SVG icon

* 💄 Adjust style to codebase conventions

* 🔨 Refactor types

*  Simplify error handling

*  Add always open edit window for text field

* ✏️ Edit descriptions in text operations

*  Fix source language for English

EN-GB and EN-US are not supported as source languages, but EN is.

* 💄 Apply cosmetic changes

*  Small improvement

*  Remove not needed Authentication selection

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-03-18 23:34:15 +01:00

126 lines
2.6 KiB
TypeScript

import {
INodeProperties,
} from 'n8n-workflow';
export const textOperations = [
{
displayName: 'Text',
name: 'text',
type: 'string',
default: '',
description: 'Input text to translate.',
required: true,
typeOptions: {
alwaysOpenEditWindow: true,
},
displayOptions: {
show: {
operation: [
'translate',
],
},
},
},
{
displayName: 'Target Language',
name: 'translateTo',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getLanguages',
},
default: '',
description: 'Language to translate to.',
required: true,
displayOptions: {
show: {
operation: [
'translate',
],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
options: [
{
displayName: 'Source Language',
name: 'sourceLang',
type: 'options',
default: '',
description: 'Language to translate from.',
typeOptions: {
loadOptionsMethod: 'getLanguages',
},
},
{
displayName: 'Split Sentences',
name: 'splitSentences',
type: 'options',
default: '1',
description: 'How the translation engine should split sentences.',
options: [
{
name: 'Interpunction Only',
value: 'nonewlines',
description: 'Split text on interpunction only, ignoring newlines.',
},
{
name: 'No Splitting',
value: '0',
description: 'Treat all text as a single sentence.',
},
{
name: 'On Punctuation and Newlines',
value: '1',
description: 'Split text on interpunction and newlines.',
},
],
},
{
displayName: 'Preserve Formatting',
name: 'preserveFormatting',
type: 'options',
default: '0',
description: 'Whether the translation engine should respect the original formatting, even if it would usually correct some aspects.',
options: [
{
name: 'Apply corrections',
value: '0',
description: 'Fix punctuation at the beginning and end of sentences and fixes lower/upper caseing at the beginning.',
},
{
name: 'Do not correct',
value: '1',
description: 'Keep text as similar as possible to the original.',
},
],
},
{
displayName: 'Formality',
name: 'formality',
type: 'options',
default: 'default',
description: 'How formal or informal the target text should be. May not be supported with all languages.',
options: [
{
name: 'Formal',
value: 'more',
},
{
name: 'Informal',
value: 'less',
},
{
name: 'Neutral',
value: 'default',
},
],
},
],
},
] as INodeProperties[];