自动翻译 API 自動翻譯 API 是一個允許您輕鬆設置翻譯類型和翻譯者的 API。它支持實時同步翻譯和異步翻譯,提供靈活的翻譯環境。
自動翻譯API的類型可以大致分為同步翻譯API ,這些API允許實時翻譯,以及異步翻譯請求API 和異步翻譯結果檢查API ,這些API不允許實時翻譯。
注意事項 支援的文本格式 同步翻譯 API 和非同步翻譯 API 支援的文本格式如下。
同步翻譯API:支持純文本和HTML格式 非同步翻譯API:支持Markdown格式 專案匹配方法 自動翻譯 API 為應用中心中註冊的每個遊戲項目提供兩種匹配翻譯服務的方法。
自動翻譯服務和1:1匹配:註冊每個項目所使用的服務 當調用單一自動翻譯服務時,輸入項目ID以進行匹配:將每個項目ID添加到API調用中 支援的翻譯語言 Hive 支援的翻譯語言總共有 16 種,如下所示。
語言 語言標記 Hive 語言代碼 韓語 한국어 ko 英語 English en 日語 日本語 ja 簡體中文 简体中文 zh-hans 繁體中文 繁體中文 zh-hant 法語 Français fr 德語 Deutsch de 俄語 русский ru 西班牙語 Español es 葡萄牙語 Português pt 印尼語 Bahasa Indonesia id 越南語 tiếng Việt vi 泰語 ไทย th 意大利語 Italiano it 土耳其語 Türkçe tr 阿拉伯語 العربية ar
前提條件 使用自動翻譯 API 的先決條件如下。
1. 檢查服務金鑰和密鑰 Hive 控制台 > AI 服務 > 自動翻譯 > 自動翻譯系統 > 服務管理 以註冊服務。 檢查產品的服務金鑰和密鑰。 2. 簽名驗證 API 伺服器使用服務金鑰和秘密金鑰生成簽名。
在 Hive 控制台中選擇密鑰管理 > AI 服務 > 自動翻譯 > 自動翻譯系統 > 服務管理 以檢查生成的簽名。生成的簽名代碼示例如下。
簽名是使用服務金鑰和秘密金鑰以 HmacSHA256 編碼的 Base64 值。 同步翻譯 API 處理翻譯請求並以實時同步模式提供結果,僅需一次API請求和響應。 由於翻譯結果直接在API響應中提供,因此沒有可用的API來檢查翻譯結果。
這是一種同步翻譯文本類型,支持不需要前後處理的純文本和HTML文本格式。
請求 URL 實時網址 https://ats.withhive.com/api/translate/Sync https://ats.withhive.com/api/translate/sync/{project_id} HTTP 方法 POST 內容類型 application/json 數據格式 JSON
請求路徑 欄位名稱 描述 類型 必填 詳細資訊 範例 project_id 應用中心專案 ID 字串 N 1. 如果有值:按專案 ID 聚合 2. 當沒有值時:聚合為「無」 com.com2us.project1
請求標頭 欄位名稱 描述 類型 必填 詳細資訊 範例 簽名 用於身份驗證的簽名值 字串 是 使用服務金鑰的秘密金鑰以 HmacSHA256 編碼的值 IWusOMIBN8D/0HqgZ7/58e4rgS05E+nka3Ya9vc+yiY=
請求主體 字段名称 描述 类型 必需 详细信息 示例 info 服务密钥信息对象 对象 是 info > service_key 服务密钥值 字符串 是 802890479467404e info > meta_data 在自动翻译服务中未聚合但存储在日志中的值 对象 否 转换为 JSON 对象字符串时,大小在 1kb 以内 {“game” : “MLB”} 或 [{“key1”:“blabla”}] text 翻译请求内容 字符串 是 ※ 需要字符串 JSON 转义 “ \”关于注册程序的询问\” from 翻译请求语言 字符串 是 与“text”对应的语言代码 翻譯支援語言及 Hive 語言代碼參考 ※ 輸入“auto”將自動檢測(小寫) 1. (自動檢測)“auto” 2. (韓文) “ko” 到 翻譯回應語言 字串 是 可以通過用“,”分隔來請求多種語言 翻譯支持語言和 Hive 語言代碼參考 1. (單語言翻譯) “en” 2. (多語言翻譯)“en, fr, de"
回應 字段名称 描述 类型 详细信息 示例 result 结果值 对象 result > code 结果代码 整数 参考响应代码 '200' 表示成功 result > msg 结果消息 字符串 参考响应代码 '成功' 表示成功 content 翻译结果 对象 content > data > translateMsg 翻译值数组 数组 content > data > translateMsg > detectedLanguage 与输入语言相关的值 对象 ※ 如果“翻译请求语言(从)”为“自动”,则存在 content > data > translateMsg > detectedLanguage > language 检测到的输入语言值 字符串 参考支持的翻译语言和 Hive 语言代码 content > data > translateMsg > detectedLanguage > score 输入语言检测分数(越接近1,越准确) 数字(浮点数) 1.0 content > data > translateMsg > translations 翻译文本数组 数组 按语言显示为数组 content > data > translateMsg > translations > text 翻译文本 字符串 Json 转义字符串 关于“注册”过程的查询 content > data > translateMsg > translations > to 翻译语言国家代码 字符串 "en"
回應代碼 代碼 文本 備註 200 "成功" 成功 400 <> 缺失或 請求不正確 失敗 * 缺失請求參數或 失敗 * 無法解析(JSON 錯誤) 401 錯誤的簽名 失敗 * 簽名金鑰問題 404 未註冊的應用金鑰 失敗 * 未註冊的服務金鑰 404 未註冊的工作 UUID 失敗 * 未註冊的工作 UUID 500 內部伺服器錯誤(或某些消息) 失敗 * 內部伺服器錯誤
請求範例 Curl Python Java
curl --request POST \
--url https://ats.withhive.com/api/translate/sync \
--header 'Content-Type: application/json' \
--header 'Signature: IWusOMIBN8D/0HqgZ7/58e4rgS05E+nka3Ya9vc+yiY=' \
--data '{
"info":{
"service_key":"802890479467404e"
},
"text":"請求創建伺服器帳戶申請和管理多語言內容的程序",
"to":"en,fr,de",
"from" : "ko"
}'
import requests
url = "https://ats.withhive.com/api/translate/sync"
payload = {
"info" : { "service_key" : "802890479467404e" },
"text" : "關於伺服器帳戶申請和帳戶創建的多語言內容管理流程的詢問" ,
"to" : "en,fr,de" ,
"from" : "ko"
}
headers = {
"Content-Type" : "application/json" ,
"Signature" : "IWusOMIBN8D/0HqgZ7/58e4rgS05E+nka3Ya9vc+yiY="
}
response = requests . request ( "POST" , url , json = payload , headers = headers )
print ( response . text )
OkHttpClient client = new OkHttpClient ();
MediaType mediaType = MediaType . parse ( "application/json" );
RequestBody body = RequestBody . create ( mediaType , "{\n \"info\":{\n \"service_key\":\"802890479467404e\"\n },\n \"text\":\"伺服器帳號申請帳號創建多語言內容管理程序查詢\",\n \"to\":\"en,fr,de\",\n \"from\" : \"ko\"\n}" );
Request request = new Request . Builder ()
. url ( "https://ats.withhive.com/api/translate/sync" )
. post ( body )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Signature" , "IWusOMIBN8D/0HqgZ7/58e4rgS05E+nka3Ya9vc+yiY=" )
. build ();
Response response = client . newCall ( request ). execute ();
回應範例 {
"result" : {
"code" : 200 ,
"msg" : "Success"
},
"content" : {
"data" : {
"translateMsg" :[{
"detectedLanguage" :{
"language" : "ko" ,
"score" : -1.0
},
"translations" :[{
"text" : "Server Account Application Create an account Inquiries about the multilingual content management process" ,
"to" : "en"
},
{
"text" : "Demande de compte serveur Créer un compte Demandes de renseignements sur le processus de gestion de contenu multilingue" ,
"to" : "fr"
},
{
"text" : "Server-Konto-Anwendung Konto erstellen Anfragen zum mehrsprachigen Content-Management-Prozess" ,
"to" : "de"
}]
}]
}
}
}
非同步翻譯請求 API 非同步翻譯 API 通過兩個 API 分別處理翻譯請求和響應。 主要有兩個 API:用於請求的「非同步翻譯請求 API」和用於響應的「非同步翻譯結果檢查 API」。
這是一個翻譯文本類型,支持需要前後處理的markdown文本格式。
請求 URL 實時網址 https://ats.withhive.com/api/translate/async https://ats.withhive.com/api/translate/async/{project_id} HTTP 方法 POST 內容類型 application/json 數據格式 JSON
請求路徑 欄位名稱 描述 類型 必填 詳細資訊 範例 project_id 應用中心專案 ID 字串 是 1. 當有值時:按專案 ID 聚合 2. 當沒有值時:聚合為「無」 com.com2us.project1
請求標頭 欄位名稱 描述 類型 必填 詳細資訊 範例 簽名 用於身份驗證的簽名值 字串 是 使用服務金鑰的秘密金鑰以 HmacSHA256 編碼的值 pczeZ91N/ijDBZ80ktNdTDPhnmEK98a3AIsTui46o9c=
請求主體 字段名称 描述 类型 必需 详细信息 示例 info 服务密钥信息对象 对象 是 info > service_key 服务密钥值 字符串 是 802890479467404e info > meta_data 在自动翻译服务中未聚合但保存在日志中的值 对象 否 转换为 JSON 对象字符串时,限制在 1kb 内 {“game” : “MLB”} 或 [{“key1”:“blabla”}] text 翻译请求的内容 字符串 是 ※ 需要字符串 JSON 转义 “ \”关于注册程序的询问” from 翻译请求的语言 字符串 是 与“text”对应的语言代码 翻譯支援語言及 Hive 語言代碼參考 ※ 異步翻譯不支持自動語言檢測翻譯請求內容。 到 翻譯響應語言 字符串 是 可以通過用“,”分隔來進行多語言請求 翻譯支援語言和 Hive 語言代碼參考 1. (單語言翻譯) “en” 2. (多語言翻譯) “en, fr, de"
回應 欄位名稱 描述 類型 詳細資訊 範例 result 結果值 物件 result > code 結果代碼 整數 參考回應代碼 '200' 表示成功 result > msg 結果訊息 字串 參考回應代碼 '成功' 表示成功 content 翻譯結果值 物件 content > uuid 翻譯結果 ID 字串 UUID4 格式 ID 檢查翻譯狀態的 ID 62fe5786-0bb8-4cd0-b51a-6d6f6bfe2bac content > resultUrl 檢查翻譯狀態的 URL 字串 /api/translate/async/result/{uuid} 是
回應代碼 代碼 文本 備註 200 "成功" 成功 400 <> 缺失或 請求不正確 失敗 * 缺失請求參數或 失敗 * 解析不可能(JSON 錯誤) 401 錯誤的簽名 失敗 * 簽名金鑰異常 404 未註冊的應用金鑰 失敗 * 未註冊的服務金鑰 404 未註冊的工作 UUID 失敗 * 未註冊的工作 UUID 500 內部伺服器錯誤(或某些消息) 失敗 * 內部伺服器錯誤
請求範例 Curl Python Java
curl --request POST \
--url https://ats.withhive.com/api/translate/async \
--header 'Content-Type: application/json' \
--header 'Signature: pczeZ91N/ijDBZ80ktNdTDPhnmEK98a3AIsTui46o9c=' \
--data '{
"info":{
"service_key":"815e3d8d6e7443ba"
},
"text":"# Markdown 速查表 ......",
"to":"ko,ja,zh-hant",
"from":"en"
}'
import requests
url = "https://ats.withhive.com/api/translate/async"
payload = {
"info" : { "service_key" : "815e3d8d6e7443ba" },
"text" : "# Markdown cheat sheet ......" ,
"to" : "ko,ja,zh-hant" ,
"from" : "en"
}
headers = {
"Content-Type" : "application/json" ,
"Signature" : "pczeZ91N/ijDBZ80ktNdTDPhnmEK98a3AIsTui46o9c="
}
response = requests . request ( "POST" , url , json = payload , headers = headers )
print ( response . text )
OkHttpClient client = new OkHttpClient ();
MediaType mediaType = MediaType . parse ( "application/json" );
RequestBody body = RequestBody . create ( mediaType , "{\n \"info\":{\n \"service_key\":\"815e3d8d6e7443ba\"\n },\n\t\"text\":\"# Markdown 速查表
......\",\n \"to\":\"ko,ja,zh-hant\",\n\t\t\"from\":\"en\"\n}\n" );
Request request = new Request . Builder ()
. url ( "https://ats.withhive.com/api/translate/async" )
. post ( body )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Signature" , "pczeZ91N/ijDBZ80ktNdTDPhnmEK98a3AIsTui46o9c=" )
. build ();
Response response = client . newCall ( request ). execute ();
回應範例 {
"result" : {
"code" : 200 ,
"msg" : "Success"
},
"content" : {
"uuid" : "d2a36ba1-1bb3-43aa-ac57-46576d27eb37" ,
"resultUrl" : "https://test-ats.withhive.com/api/translate/async/result/d2a36ba1-1bb3-43aa-ac57-46576d27eb37"
}
}
非同步翻譯結果檢查 API 非同步翻譯結果檢查API返回非同步翻譯請求的翻譯結果。換句話說,它是對應於處理請求和回應分開的非同步API中的回應的API。
請求 URL 實時網址 https://ats.withhive.com/api/translate/async/result/{uuid} HTTP 方法 GET
請求路徑 欄位名稱 描述 類型 必填 詳細資訊 範例 uuid 翻譯結果ID,非同步翻譯請求的狀態回應值 字串 是 可以從創建到~N天檢查 5c8ded49-9ee2-412a-a0ab-a4018a0dc093
請求標頭 欄位名稱 描述 類型 必填 詳細資訊 範例 簽名 用於身份驗證的簽名值 字串 是 使用服務金鑰的秘密金鑰進行HmacSHA256編碼的值 pczeZ91N/ijDBZ80ktNdTDPhnmEK98a3AIsTui46o9c=
回應 字段名称 描述 类型 详细信息 示例 result 结果数组 对象 result > code 结果代码 整数 请参阅响应代码 '200' 表示成功 result > msg 结果消息 字符串 请参阅响应代码 '成功' 表示成功 content 翻译结果 对象 content 翻译结果 对象 content > status 翻译状态值 对象 翻译状态信息 content > status > code 翻译状态代码 整数 100 / 101 / 102 / 199 content > status > msg 翻译状态消息 字符串 “已完成(100)”/ “等待中(101)” / “处理中(102)” / “失败(199)” content > data 翻译结果值 对象 ※ 如果 result>status>msg 值为 “等待中” / “处理中” / “失败” 将没有字段, 仅在“已完成”时存在 content > data > translateMsg 翻译值数组 数组 content > data > translateMsg > translations 翻译文本数组 数组 按语言显示为数组 content > data > translateMsg > translations > text 翻译文本 字符串 Json 转义字符串 关于“注册”过程的查询 content > data > translateMsg > translations > to 翻译语言国家代码 字符串 "en"
回應代碼 代碼 文本 備註 200 "成功" 成功 400 <> 缺失或 請求不正確 失敗 * 缺少請求參數或 失敗 * 解析不可能(JSON 錯誤) 401 錯誤的簽名 失敗 * 簽名金鑰異常 404 未註冊的應用金鑰 失敗 * 未註冊的服務金鑰 404 未註冊的工作 UUID 失敗 * 未註冊的工作 UUID 500 內部伺服器錯誤(或某些消息) 失敗 * 內部伺服器錯誤
請求範例 回應範例 {
"result" : {
"code" : 200 ,
"msg" : "Success"
},
"content" : {
"status" : {
"code" : 100 ,
"msg" : "completed"
},
"data" : {
"translateMsg" : [
{
"translations" : [
{
"text" : "# Markdown 치트 시트\r\n\r\n......" ,
"to" : "ko"
},
{
"text" : "# Markdownチートシート\r\n\r\n......" ,
"to" : "ja"
},
{
"text" : "# Markdown 備忘單\r\n\r\n......" ,
"to" : "zh-hant"
}
]
}
]
}
}
}