{
    "nodes": [
        {
            "id": "fdb7302d-9319-4861-abab-557a3c1f1493",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                2660,
                340
            ],
            "parameters": {
                "color": 7,
                "width": 288.76295784381495,
                "height": 795.272978576365,
                "content": "### Available source and target languages`*`:\n\n`BG` - 🇧🇬 Bulgarian\n`CS` - 🇨🇿 Czech\n`DA` - 🇩🇰 Danish\n`DE` - 🇩🇪 German\n`EL` - 🇬🇷 Greek\n`EN-GB` - 🇬🇧 English (British)\n`EN-US` - 🇺🇸 English (American)\n`ES` - 🇪🇸 Spanish\n`ET` - 🇪🇪 Estonian\n`FI` - 🇫🇮 Finnish\n`FR` - 🇫🇷 French\n`HU` - 🇭🇺 Hungarian\n`ID` - 🇮🇩 Indonesian\n`IT` - 🇮🇹 Italian\n`JA` - 🇯🇵 Japanese\n`KO` - 🇰🇷 Korean\n`LT` - 🇱🇹 Lithuanian\n`LV` - 🇱🇻 Latvian\n`NB` - 🇳🇴 Norwegian (Bokmål)\n`NL` - 🇳🇱 Dutch\n`PL` - 🇵🇱 Polish\n`PT-BR` - 🇧🇷 Portuguese (Brazilian)\n`PT-PT` - 🇵🇹 Portuguese\n`RO` - 🇷🇴 Romanian\n`RU` - 🇷🇺 Russian\n`SK` - 🇸🇰 Slovak\n`SL` - 🇸🇮 Slovenian\n`SV` - 🇸🇪 Swedish\n`TR` - 🇹🇷 Turkish\n`UK` - 🇺🇦 Ukrainian\n`ZH` - 🇨🇳 Chinese (simplified)\n\n`*` For more up-to-date list, please consult the official DeepL [API documentation](https:\/\/www.deepl.com\/docs-api\/documents\/translate-document)"
            },
            "typeVersion": 1
        },
        {
            "id": "9cad538a-0efb-4186-b588-ef4d764fdf4e",
            "name": "Run manually",
            "type": "n8n-nodes-base.manualTrigger",
            "position": [
                1100,
                560
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "id": "242d4895-5b02-46b8-9c87-07fd2e11c9ba",
            "name": "Get files from specified folder",
            "type": "n8n-nodes-base.googleDrive",
            "position": [
                1780,
                560
            ],
            "parameters": {
                "filter": {
                    "folderId": {
                        "__rl": true,
                        "mode": "url",
                        "value": "={{ $json.folder_url }}"
                    },
                    "whatToSearch": "files"
                },
                "options": {
                    "fields": [
                        "kind",
                        "id",
                        "name",
                        "mimeType"
                    ]
                },
                "resource": "fileFolder"
            },
            "credentials": {
                "googleDriveOAuth2Api": {
                    "id": "6q7v3i91ZDHQOKx3",
                    "name": "Google Drive account"
                }
            },
            "typeVersion": 3
        },
        {
            "id": "1660cf85-af39-4d70-a997-5f4ef2252370",
            "name": "Use only PDF documents",
            "type": "n8n-nodes-base.filter",
            "position": [
                2000,
                560
            ],
            "parameters": {
                "options": [],
                "conditions": {
                    "options": {
                        "leftValue": "",
                        "caseSensitive": true,
                        "typeValidation": "strict"
                    },
                    "combinator": "and",
                    "conditions": [
                        {
                            "id": "098535fe-164e-4f58-9b35-0628b51ac5d0",
                            "operator": {
                                "type": "string",
                                "operation": "endsWith"
                            },
                            "leftValue": "={{ $json.name }}",
                            "rightValue": ".pdf"
                        },
                        {
                            "id": "a0bb0e8c-25e9-4ee0-a1fd-2d98a7328111",
                            "operator": {
                                "type": "string",
                                "operation": "notContains"
                            },
                            "leftValue": "={{ $json.name }}",
                            "rightValue": "=-{{ $('⚙️ config').first().json.target_lang }}"
                        }
                    ]
                }
            },
            "typeVersion": 2
        },
        {
            "id": "b7cc611e-81a3-4468-bcab-ca6de564fbeb",
            "name": "Download files",
            "type": "n8n-nodes-base.googleDrive",
            "position": [
                2220,
                560
            ],
            "parameters": {
                "fileId": {
                    "__rl": true,
                    "mode": "id",
                    "value": "={{ $json.id }}"
                },
                "options": [],
                "operation": "download"
            },
            "credentials": {
                "googleDriveOAuth2Api": {
                    "id": "6q7v3i91ZDHQOKx3",
                    "name": "Google Drive account"
                }
            },
            "executeOnce": false,
            "typeVersion": 3
        },
        {
            "id": "f6e2c1e6-b68d-47b3-8582-7772f8b1ee95",
            "name": "Send translate request",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                2440,
                560
            ],
            "parameters": {
                "url": "https:\/\/api.deepl.com\/v2\/document",
                "method": "POST",
                "options": [],
                "sendBody": true,
                "contentType": "multipart-form-data",
                "authentication": "genericCredentialType",
                "bodyParameters": {
                    "parameters": [
                        {
                            "name": "target_lang",
                            "value": "={{ $('⚙️ config').first().json.target_lang }}"
                        },
                        {
                            "name": "file",
                            "parameterType": "formBinaryData",
                            "inputDataFieldName": "data"
                        },
                        {
                            "name": "source_lang",
                            "value": "={{ $('⚙️ config').first().json.source_lang }}"
                        }
                    ]
                },
                "genericAuthType": "httpHeaderAuth"
            },
            "credentials": {
                "httpHeaderAuth": {
                    "id": "NcB0kuT7IJgHvWlC",
                    "name": "Deepl API Header auth"
                }
            },
            "typeVersion": 4.1
        },
        {
            "id": "9fab53d1-dfa8-4b27-892f-884853df1e50",
            "name": "Check translation status",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1320,
                820
            ],
            "parameters": {
                "url": "=https:\/\/api.deepl.com\/v2\/document\/{{ $json.document_id }}",
                "method": "POST",
                "options": [],
                "sendBody": true,
                "authentication": "genericCredentialType",
                "bodyParameters": {
                    "parameters": [
                        {
                            "name": "document_key",
                            "value": "={{ $('Send translate request').item.json.document_key }}"
                        }
                    ]
                },
                "genericAuthType": "httpHeaderAuth"
            },
            "credentials": {
                "httpHeaderAuth": {
                    "id": "NcB0kuT7IJgHvWlC",
                    "name": "Deepl API Header auth"
                }
            },
            "typeVersion": 4.1
        },
        {
            "id": "9d320d4c-8398-4af4-8582-bc60ca52b986",
            "name": "Wait a bit",
            "type": "n8n-nodes-base.wait",
            "position": [
                1540,
                820
            ],
            "webhookId": "9fd126e3-203c-4f11-ad50-d00ff55301a2",
            "parameters": {
                "unit": "seconds",
                "amount": 5
            },
            "typeVersion": 1
        },
        {
            "id": "657758b1-a5f5-4b0b-bdd0-ef0cdb518863",
            "name": "file translated?",
            "type": "n8n-nodes-base.if",
            "position": [
                1760,
                820
            ],
            "parameters": {
                "options": [],
                "conditions": {
                    "options": {
                        "leftValue": "",
                        "caseSensitive": true,
                        "typeValidation": "strict"
                    },
                    "combinator": "and",
                    "conditions": [
                        {
                            "id": "1a7ad415-3d30-4d51-b31e-7a0911391d21",
                            "operator": {
                                "name": "filter.operator.equals",
                                "type": "string",
                                "operation": "equals"
                            },
                            "leftValue": "={{ $json.status }}",
                            "rightValue": "done"
                        }
                    ]
                }
            },
            "typeVersion": 2
        },
        {
            "id": "2018d45b-8922-4a9c-884b-27cc6903d464",
            "name": "Wait between documents",
            "type": "n8n-nodes-base.wait",
            "position": [
                2000,
                800
            ],
            "webhookId": "877870bc-5b29-4ce0-82d6-3202d43e89fd",
            "parameters": {
                "unit": "seconds",
                "amount": 2
            },
            "typeVersion": 1
        },
        {
            "id": "717972fe-45fa-4bd4-acf9-9db2efb45c12",
            "name": "Get translated document from deepL",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                2240,
                800
            ],
            "parameters": {
                "url": "=https:\/\/api.deepl.com\/v2\/document\/{{ $json.document_id }}\/result",
                "method": "POST",
                "options": {
                    "timeout": 30000
                },
                "sendBody": true,
                "authentication": "genericCredentialType",
                "bodyParameters": {
                    "parameters": [
                        {
                            "name": "document_key",
                            "value": "={{ $('Send translate request').item.json.document_key }}"
                        }
                    ]
                },
                "genericAuthType": "httpHeaderAuth"
            },
            "credentials": {
                "httpHeaderAuth": {
                    "id": "NcB0kuT7IJgHvWlC",
                    "name": "Deepl API Header auth"
                }
            },
            "typeVersion": 4.1
        },
        {
            "id": "c9e9b000-8202-410d-9630-b08481ba4e39",
            "name": "Uplad to original folder",
            "type": "n8n-nodes-base.googleDrive",
            "position": [
                2460,
                800
            ],
            "parameters": {
                "name": "={{ $('Download files').item.json.name.replace('.pdf', '--' + $('⚙️ config').first().json.target_lang) + '.pdf' }}",
                "driveId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "My Drive"
                },
                "options": [],
                "folderId": {
                    "__rl": true,
                    "mode": "url",
                    "value": "={{ $('⚙️ config').first().json.folder_url }}"
                }
            },
            "credentials": {
                "googleDriveOAuth2Api": {
                    "id": "6q7v3i91ZDHQOKx3",
                    "name": "Google Drive account"
                }
            },
            "executeOnce": false,
            "typeVersion": 3
        },
        {
            "id": "698a33ce-8b33-4b33-8236-190b1013cb0d",
            "name": "⚙️ config",
            "type": "n8n-nodes-base.set",
            "position": [
                1440,
                560
            ],
            "parameters": {
                "fields": {
                    "values": [
                        {
                            "name": "target_lang"
                        },
                        {
                            "name": "source_lang"
                        },
                        {
                            "name": "folder_url"
                        }
                    ]
                },
                "options": []
            },
            "typeVersion": 3.2
        },
        {
            "id": "aeee03fa-f4a6-48fd-b3ca-ff6a6dc20fb4",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1280,
                367.395398150649
            ],
            "parameters": {
                "color": 5,
                "width": 444.71526152412946,
                "height": 343.02803459456237,
                "content": "### Configure your workflow here by setting these parameters:\n- `folder_url`: URL of your google drive folder\n- `target_lang`: The language into which the text should be translated\n- `source_lang`: Language of the text to be translated (optional, if not specified DeepL will try to auto-detect the source language)"
            },
            "typeVersion": 1
        }
    ],
    "pinData": [],
    "connections": {
        "Wait a bit": {
            "main": [
                [
                    {
                        "node": "file translated?",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Run manually": {
            "main": [
                [
                    {
                        "node": "⚙️ config",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "⚙️ config": {
            "main": [
                [
                    {
                        "node": "Get files from specified folder",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Download files": {
            "main": [
                [
                    {
                        "node": "Send translate request",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "file translated?": {
            "main": [
                [
                    {
                        "node": "Wait between documents",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Check translation status",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Send translate request": {
            "main": [
                [
                    {
                        "node": "Check translation status",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Use only PDF documents": {
            "main": [
                [
                    {
                        "node": "Download files",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Wait between documents": {
            "main": [
                [
                    {
                        "node": "Get translated document from deepL",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Check translation status": {
            "main": [
                [
                    {
                        "node": "Wait a bit",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get files from specified folder": {
            "main": [
                [
                    {
                        "node": "Use only PDF documents",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get translated document from deepL": {
            "main": [
                [
                    {
                        "node": "Uplad to original folder",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}