mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-25 04:34:06 -08:00
30d83d0bc2
* 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>
126 lines
2.6 KiB
TypeScript
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[];
|