8
n8n 中文网amn8n.com

博客文章翻译器

中级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 10 个节点。主要使用 Code, Airtable, HttpRequest, ManualTrigger, GoogleTranslate 等节点。 使用Google翻译和Airtable存储自动翻译博客文章

前置要求
  • Airtable API Key
  • 可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "HKTeS8KymXB9q4oR",
  "meta": {
    "instanceId": "c87a766eb8ed4a39121cf119a5038250a8ca0a11ed90cdd244f6beb7336758b3",
    "templateCredsSetupCompleted": true
  },
  "name": "博客文章翻译器",
  "tags": [],
  "nodes": [
    {
      "id": "e490b9c8-89f1-4dd7-8274-1d33e9d89ba8",
      "name": "当点击‘执行工作流’时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -40,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "01266489-c432-402c-afb7-7f945aaf8469",
      "name": "HTTP请求",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        220,
        0
      ],
      "parameters": {
        "url": "https://dorik.com/blog/what-makes-a-good-website",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "d5b6cbea-9ac9-4378-96a5-ed61456183f8",
      "name": "创建记录",
      "type": "n8n-nodes-base.airtable",
      "position": [
        800,
        0
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appP62U5MtSww1eeP",
          "cachedResultUrl": "https://airtable.com/appP62U5MtSww1eeP",
          "cachedResultName": "N8n experiment"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblHVSfUR71dToSif",
          "cachedResultUrl": "https://airtable.com/appP62U5MtSww1eeP/tblHVSfUR71dToSif",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "HTML": "={{ $json.blogContent }}",
            "TRANSLATED": "="
          },
          "schema": [
            {
              "id": "HTML",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "HTML",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TRANSLATED",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "TRANSLATED",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create",
        "authentication": "airtableOAuth2Api"
      },
      "credentials": {
        "airtableOAuth2Api": {
          "id": "5wYsH0BcRUSLs1MQ",
          "name": "ABRAR AIRTABLE"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7d4f54ee-0401-4bdb-baea-046b2d05ae9d",
      "name": "代码",
      "type": "n8n-nodes-base.code",
      "position": [
        400,
        0
      ],
      "parameters": {
        "jsCode": "const cheerio = require('cheerio');\n\nconst raw = items[0].json.body || items[0].json.data || items[0].json;\nconst html = typeof raw === 'string' ? raw : JSON.stringify(raw);\n\nconst $ = cheerio.load(html);\n\n// Extract just the visible text\nconst blogContent = $('.dorik-postContent-cnuauoa5').text().trim();\n\nreturn [\n  {\n    json: {\n      blogContent\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "8c4889e9-8782-416f-903c-a84ac396d516",
      "name": "翻译语言",
      "type": "n8n-nodes-base.googleTranslate",
      "position": [
        1180,
        0
      ],
      "parameters": {
        "text": "={{ $json.fields.HTML }}",
        "translateTo": "fr"
      },
      "credentials": {
        "googleTranslateOAuth2Api": {
          "id": "9rbWLLKvutaCyRvG",
          "name": "Google Translate account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3985dd10-9486-440e-bf0b-b147889ccbed",
      "name": "更新记录",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1440,
        0
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appP62U5MtSww1eeP",
          "cachedResultUrl": "https://airtable.com/appP62U5MtSww1eeP",
          "cachedResultName": "N8n experiment"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblHVSfUR71dToSif",
          "cachedResultUrl": "https://airtable.com/appP62U5MtSww1eeP/tblHVSfUR71dToSif",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "TRANSLATED": "={{ $json.translatedText }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "HTML",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "HTML",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TRANSLATED",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "TRANSLATED",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "HTML"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "authentication": "airtableOAuth2Api"
      },
      "credentials": {
        "airtableOAuth2Api": {
          "id": "5wYsH0BcRUSLs1MQ",
          "name": "ABRAR AIRTABLE"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "dd3cf3e0-02e1-4d1c-9baf-321c8d1d51ec",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        140,
        -200
      ],
      "parameters": {
        "color": 3,
        "width": 440,
        "height": 520,
        "content": "## 提取 HTML 并转换为文本"
      },
      "typeVersion": 1
    },
    {
      "id": "cc314ca2-028b-45a8-a094-2a803d8868a1",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        -200
      ],
      "parameters": {
        "width": 500,
        "height": 520,
        "content": "## 存储文本"
      },
      "typeVersion": 1
    },
    {
      "id": "13659161-f683-4f81-be40-6ee8c90b1760",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1120,
        -200
      ],
      "parameters": {
        "color": 6,
        "width": 220,
        "height": 520,
        "content": "## 翻译"
      },
      "typeVersion": 1
    },
    {
      "id": "c1938b28-2ece-4a7f-8026-62d2c52f9858",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1360,
        -200
      ],
      "parameters": {
        "color": 4,
        "width": 280,
        "height": 520,
        "content": "## 存储翻译后的博客"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e67c0089-8e80-4640-a0ea-b6f22adbb439",
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "Create a record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a record": {
      "main": [
        [
          {
            "node": "Translate a language",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Translate a language": {
      "main": [
        [
          {
            "node": "Update record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

中级 - 内容创作, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量10
分类2
节点类型6
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

作者
Abrar Sami

Abrar Sami

@abrarsami

Open to n8n projects. Send me an email to say hi strategy@thekranes.com

外部链接
在 n8n.io 查看

分享此工作流