返回

Express 组件打造文本翻译工具:开源、免费,轻松上手

开发工具

序言
随着全球化发展,语言成为了沟通的障碍。本文将介绍使用 Serverless Framework Express 组件快速创建文本翻译工具,利用开源工具为全球化沟通提供助力。

构建过程

  1. 准备工作

    • 安装 Node.js 和 Serverless Framework。
    • 创建项目目录,并使用 serverless init 命令初始化 Serverless 项目。
  2. 安装 Express Component

    npm install serverless-express
    
  3. 创建项目文件

    • 新建 serverless.yml 文件,用于定义服务配置。
    • 新建 app.js 文件,用于编写 Express 应用。
  4. Serverless 配置

    serverless.yml 文件中加入以下配置:

    frameworkVersion: '3'
    service: text-translation-tool
    plugins:
      - serverless-express
    provider:
      name: aws
      runtime: nodejs14.x
    functions:
      translateText:
        handler: app.handler
        events:
          - http:
              path: /translate
              method: post
    
  5. Express 应用

    app.js 文件中加入以下代码:

    const express = require('express');
    const bodyParser = require('body-parser');
    const serverless = require('serverless-http');
    
    const app = express();
    
    app.use(bodyParser.json());
    
    app.post('/translate', async (req, res) => {
      const text = req.body.text;
      const targetLanguage = req.body.targetLanguage;
    
      const translation = await translateText(text, targetLanguage);
    
      res.json({ translation });
    });
    
    module.exports.handler = serverless(app);
    
    async function translateText(text, targetLanguage) {
      const TMT = require('tencentcloud-sdk-tmt');
    
      const client = new TMT.Client({
        credential: {
          secretId: 'YOUR_SECRET_ID',
          secretKey: 'YOUR_SECRET_KEY',
        },
        region: 'ap-guangzhou',
    });
    
      const params = {
        Text: text,
        Source: 'en',
        Target: targetLanguage,
      };
    
      const response = await client.translateText(params);
    
      return response.TranslatedText;
    }
    
  6. 部署

    运行 serverless deploy 命令进行部署。

  7. 使用

    使用 POST 请求访问 /translate 路由,即可进行文本翻译。请求体应包含 texttargetLanguage 字段。

总结

本文介绍了如何使用 Serverless Framework Express 组件快速创建文本翻译工具,可供开发者自由使用和修改,为全球化沟通提供便捷的解决方案。