using GameCore; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; public class LanguageTrans : UnitySingleton { public string url = "https://api-translate.gamota.com/translate";//请求地址 [System.Serializable] private class SendJson { public string q; public string source; public string target; } [System.Serializable] private class ResultJson { public string translatedText; public DetectedLanguage detectedLanguage; } [System.Serializable] private class DetectedLanguage { public int confidence; public string language; } public void Test() { Debug.Log("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); } public void TransLanguage(string q, Action func) { StartCoroutine(UploadPost(q, func)); } private IEnumerator UploadPost(string q, Action func) { UnityWebRequest uwr = new UnityWebRequest(url, "POST"); SendJson jsonData = new SendJson() { q = q, source = "auto", target = "en" }; string json = JsonUtility.ToJson(jsonData); Debug.Log(json); uwr.uploadHandler = new UploadHandlerRaw(System.Text.Encoding.UTF8.GetBytes(json)); uwr.downloadHandler = new DownloadHandlerBuffer(); //如果有请求头,根据具体字段要求设置 uwr.SetRequestHeader("Content-Type", "application/json"); yield return uwr.SendWebRequest(); if (uwr.isHttpError || uwr.isNetworkError) { Debug.LogError("Login Error: " + uwr.error); func.Invoke(""); } else { Debug.Log(uwr.downloadHandler.text); var result = JsonUtility.FromJson(uwr.downloadHandler.text); Debug.Log(result.translatedText); func.Invoke(result.translatedText); } } }