java实现腾讯云翻译(文本翻译)

废话不多说直接上教程

1、官方API文档地址:

腾讯云文本翻译官方文档

2、导入javd-sdk工具

Mave:

<dependency>
    <groupId>com.tencentcloudapi</groupId>
    <artifactId>tencentcloud-sdk-java</artifactId>
    <version>3.1.835</version>
</dependency>

Gradle:

implementation 'com.tencentcloudapi:tencentcloud-sdk-java:3.1.835'

3、java代码实现

腾讯云翻译客户端类:
package com.qifom.config;

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.tmt.v20180321.TmtClient;
import com.tencentcloudapi.tmt.v20180321.models.TextTranslateRequest;
import com.tencentcloudapi.tmt.v20180321.models.TextTranslateResponse;

/**
 * @project 
 * @Classname TranslatedReqVO
 * @Description TODO
 * @Author: LJJie
 * @CreateTime: 2023-08-22  09:51
 */
public class TencentTranslationClient {
    /**     地域列表
    亚太东南(曼谷)	    ap-bangkok
    华北地区(北京)	    ap-beijing
    西南地区(成都)	    ap-chengdu
    西南地区(重庆)	    ap-chongqing
    华南地区(广州)	    ap-guangzhou
    港澳台地区(中国香港)	ap-hongkong
    亚太南部(孟买)	    ap-mumbai
    亚太东北(首尔)	    ap-seoul
    华东地区(上海)	    ap-shanghai
    华东地区(上海金融)	ap-shanghai-fsi
    华南地区(深圳金融)	ap-shenzhen-fsi
    亚太东南(新加坡)	    ap-singapore
    亚太东北(东京)	    ap-tokyo
    欧洲地区(法兰克福)	eu-frankfurt
    美国东部(弗吉尼亚)	na-ashburn
    美国西部(硅谷)	    na-siliconvalley
    北美地区(多伦多)	    na-toronto
     */

    private final TmtClient client;

    /**
     * secretId,secretKey id和密钥
     */
    public TencentTranslationClient(String secretId, String secretKey) {
        Credential cred = new Credential(secretId, secretKey);
        client = new TmtClient(cred, "ap-tokyo");
    }

    /**
     * text 需要翻译的文本
     * sourceLang 翻译文本的语种
     * targetLang 目标语种
     */
    public String translateText(String text, String sourceLang, String targetLang) throws TencentCloudSDKException {
        TextTranslateRequest req = new TextTranslateRequest();
        req.setSourceText(text);
        req.setSource(sourceLang);
        req.setTarget(targetLang);
        req.setProjectId(0L);

        TextTranslateResponse resp = client.TextTranslate(req);

        return resp.getTargetText();
    }
}
请求地域列表我就贴出来了,可以看上面代码块里面的注释。

由于我这个项目是对日的项目,所以地域我选的东京,在国内的可以换成 ap-beijing

至于语种标识字符可在官方文档里查看。

请求类:
package com.qifom.pojo.vo.admin;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 * @project 
 * @Classname TranslatedReqVO
 * @Description TODO
 * @Author: LJJie
 * @CreateTime: 2023-08-22  09:51
 */
@Data
public class TranslatedReqVO {

    @ApiModelProperty(value = "日语字符",required = true)
    @NotBlank(message = "翻译的字符不能为空!")
    private String str;

    @ApiModelProperty(value = "需要的翻译语言",required = true)
    @NotBlank(message = "需要的翻译语言不能为空!")
    private String sourceLang;

    @ApiModelProperty(value = "目标语言",required = true)
    @NotBlank(message = "目标语言不能为空!")
    private String targetLang;
}
返回类:

返回String字符串

Controller层:
package com.qifom.controller.admin;

import com.qifom.pojo.bean.result.Result;
import com.qifom.pojo.vo.admin.AppletUserPageVO;
import com.qifom.pojo.vo.admin.TranslatedReqVO;
import com.qifom.service.admin.JapaneseTranslatedIntoChineseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/**
 * @project 
 * @Classname JapaneseTranslatedIntoChinese
 * @Description TODO
 * @Author: LJJie
 * @CreateTime: 2023-08-22  09:46
 */
@Api(value = "翻译", tags = {"翻译"})
@RestController
@RequestMapping(value = "/biz/translated", produces = MediaType.APPLICATION_JSON_VALUE)
public class JapaneseTranslatedIntoChineseController {

    @Resource
    private JapaneseTranslatedIntoChineseService japaneseTranslatedIntoChineseService;

    @ApiOperation(value = "翻译(腾讯云)", notes = "翻译(腾讯云)")
    @GetMapping("/japanToChinese")
    public Result<String> japanToChinese(@Validated TranslatedReqVO req){
        return Result.selectSuccess(japaneseTranslatedIntoChineseService.japanToChinese(req));
    }
}
Service层:

        service

package com.qifom.service.admin;

import com.qifom.pojo.vo.admin.TranslatedReqVO;

public interface JapaneseTranslatedIntoChineseService {
    /**
     * 功能描述:
     * 〈翻译(腾讯云)〉
     * @Param: [TranslatedReqVO req]
     * @Return: [String]
     * @Author: LJJie
     * @Date: 2023/8/22 9:54
     */
    String japanToChinese(TranslatedReqVO req);
}

        ServiceImpl

package com.qifom.serviceImpl.admin;

import com.qifom.config.TencentTranslationClient;
import com.qifom.config.exception.ResultException;
import com.qifom.pojo.bean.result.ResultEnum;
import com.qifom.pojo.vo.admin.TranslatedReqVO;
import com.qifom.service.admin.JapaneseTranslatedIntoChineseService;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import org.springframework.stereotype.Service;

/**
 * @project 
 * @Classname JapaneseTranslatedIntoChineseServiceImpl
 * @Description TODO
 * @Author: LJJie
 * @CreateTime: 2023-08-22  09:53
 */
@Service
public class JapaneseTranslatedIntoChineseServiceImpl implements JapaneseTranslatedIntoChineseService {

    private static final String  TENCENT_SECRETID="*********";
    private static final String  TENCENT_SECRETKEY="********";

    @Override
    public String japanToChinese(TranslatedReqVO req) {
        TencentTranslationClient translationClient = new TencentTranslationClient(TENCENT_SECRETID, TENCENT_SECRETKEY);
        try {
            String translatedText = translationClient.translateText(req.getStr(), req.getSourceLang(), req.getTargetLang());
            return translatedText;
        } catch (TencentCloudSDKException e) {
            throw new ResultException(ResultEnum.ERROR,e.getMessage());
        }
    }
}

留言:

        实际开发过程中出现什么问题评论区留言。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值