翻译V1

业务场景

  1. 把玩家发言翻译到指定的语言

注意事项

  1. 时间戳与北京时间差距为 ± 5分钟
  2. 若翻译后有特殊字符,会自动转义返回
需翻译的文案:我和测试在聊天

接口返回的文案:I'm chatting with the test

对应真实的文案:I'm chatting with the test
  1. 若需要换行符,将换行符用urlencode一下,翻译完再将encode的换行符decode一下
需翻译的文案:测试换行\n测试换行

urlencode: 测试换行%5Cn测试换行

接口返回的文案:Test line break%5CnTest line break

urldecode: Test line break\nTest line break

对应真实的文案:Test line break\nTest line break

请求地址

https://cpapi.iyagame.com/v1/chat/translate

接口说明

  1. 协议:HTTPS
  2. 方式:POST
  3. ContentType:application/json;charset=utf-8
  4. 请求报文:
字段类型必需参与签名说明
appIdlongSDK的appId
timestamplong毫秒时间戳
signstring签名
languagestring目标语言,取值见 语言
contentstring内容
  1. 响应报文:
字段类型必需说明
codeint响应状态码
msgstring响应描述
dataobject结果数据

data字段

字段类型必需说明
resultint检查结果 0:通过,1:建议审核,2:不通过
contentstring文本校验时返回,返回的文本会将屏蔽词屏蔽,其他内容正常

请求示例

{
    "appId": 10070,
    "timestamp": 1742214770340,
    "language": "en",
    "content": "测试换行%5Cn测试换行",
    "sign": "a46582ada8af397af4aa4334b8f1d40b"
}

响应示例

{
    "code": 0,
    "msg": "Success",
    "data": {
        "content": "Test line break%5CnTest line break"
    },
    "meta": {
        "tid": "43052b74"
    }
}

签名规则

  1. 参数名区分大小写,按 ASCII 码从小到大排序(字典序)
  2. 只有值为 null 和 参数名不参与签名 的键值对,才不参与签名
  3. 使用 URL 键值对的格式,拼接成待签名字符串,签名 key 在最后拼接,再进行MD5计算
  4. 将生成的签名与入参 sign 值作校验,验签忽略大小写

调试示例

import cn.hutool.crypto.SecureUtil;

public class chatExample {

    public static void main(String[] args) {
        Integer appId = 10070;
        Long timestamp = 1742214770340L;
        String language = "en";
        String appKey = "AaBbCcDdEeFfGgHh";
        String sign = SecureUtil.md5("appId=" + appId + "&language=" + language + "&timestamp=" + timestamp + "&key=" + appKey);
        System.out.printf("翻译签名:%s", sign);
    }
}

状态码

状态码说明
0成功
-1失败,常规性错误
10101查询基础信息失败
10102缺少游戏信息
10103请求参数全部为空
10104缺少签名sign
10105签名不正确
10106timestamp已过期
10301翻译失败,具体信息见msg
10302翻译服务请求超时,可重试

附录

语言ISO-639-1代码
南非荷兰语af
阿尔巴尼亚语sq
阿姆哈拉语am
阿拉伯语ar
亚美尼亚语hy
阿塞拜疆语az
巴斯克语eu
白俄罗斯语be
孟加拉语bn
波斯尼亚语bs
保加利亚语bg
加泰罗尼亚语ca
宿务语ceb
中文(简体)zh-cn 或 zh
中文(繁体)zh-tw
科西嘉语co
克罗地亚语hr
捷克语cs
丹麦语da
荷兰语nl
英语en
世界语eo
爱沙尼亚语et
芬兰语fi
法语fr
弗里斯兰语fy
加利西亚语gl
格鲁吉亚语ka
德语de
希腊语el
古吉拉特语gu
海地克里奥尔语ht
豪萨语ha
夏威夷语haw
希伯来语he 或 iw
印地语hi
苗语hmn
匈牙利语hu
冰岛语is
伊博语ig
印度尼西亚语id
爱尔兰语ga
意大利语it
日语ja
爪哇语jv
卡纳达语kn
哈萨克语kk
高棉语km
卢旺达语rw
韩语ko
库尔德语ku
吉尔吉斯语ky
老挝语lo
拉丁文la
拉脱维亚语lv
立陶宛语lt
卢森堡语lb
马其顿语mk
马尔加什语mg
马来语ms
马拉雅拉姆文ml
马耳他语mt
毛利语mi
马拉地语mr
蒙古文mn
缅甸语my
尼泊尔语ne
挪威语no
尼杨扎语(齐切瓦语)ny
奥里亚语(奥里亚)or
普什图语ps
波斯语fa
波兰语pl
葡萄牙语(葡萄牙、巴西)pt
旁遮普语pa
罗马尼亚语ro
俄语ru
萨摩亚语sm
苏格兰盖尔语gd
塞尔维亚语sr
塞索托语st
修纳语sn
信德语sd
僧伽罗语si
斯洛伐克语sk
斯洛文尼亚语sl
索马里语so
西班牙语es
巽他语su
斯瓦希里语sw
瑞典语sv
塔加路语(菲律宾语)tl
塔吉克语tg
泰米尔语ta
鞑靼语tt
泰卢固语te
泰文th
土耳其语tr
土库曼语tk
乌克兰语uk
乌尔都语ur
维吾尔语ug
乌兹别克语uz
越南语vi
威尔士语cy
班图语xh
意第绪语yi
约鲁巴语yo
祖鲁语zu