public static WWW GetTranslationWWW(List <TranslationRequest> requests) { StringBuilder stringBuilder = new StringBuilder(); bool flag = true; foreach (TranslationRequest request in requests) { if (!flag) { stringBuilder.Append("<I2Loc>"); } stringBuilder.Append(request.LanguageCode); stringBuilder.Append(":"); for (int i = 0; i < request.TargetLanguagesCode.Length; i++) { if (i != 0) { stringBuilder.Append(","); } stringBuilder.Append(request.TargetLanguagesCode[i]); } stringBuilder.Append("="); string stringToEscape = (TitleCase(request.Text) == request.Text) ? request.Text.ToLowerInvariant() : request.Text; stringBuilder.Append(Uri.EscapeUriString(stringToEscape)); flag = false; if (stringBuilder.Length > 4000) { break; } } return(new WWW($"{LocalizationManager.GetWebServiceURL()}?action=Translate&list={stringBuilder.ToString()}")); }
public static WWW GetTranslationWWW(TranslationDictionary requests, bool usePOST = true) { #if !UNITY_5_6_OR_NEWER usePOST = false; #endif var sb = new StringBuilder(); foreach (var kvp in requests) { var request = kvp.Value; if (sb.Length > 0) { sb.Append("<I2Loc>"); } sb.Append(GoogleLanguages.GetGoogleLanguageCode(request.LanguageCode)); sb.Append(":"); for (int i = 0; i < request.TargetLanguagesCode.Length; ++i) { if (i != 0) { sb.Append(","); } sb.Append(GoogleLanguages.GetGoogleLanguageCode(request.TargetLanguagesCode[i])); } sb.Append("="); var text = (TitleCase(request.Text) == request.Text) ? request.Text.ToLowerInvariant() : request.Text; if (usePOST) { sb.Append(text); } else { sb.Append(Uri.EscapeDataString(text)); if (sb.Length > 4000) { break; } } } if (usePOST) { WWWForm form = new WWWForm(); form.AddField("action", "Translate"); form.AddField("list", sb.ToString()); WWW www = new WWW(LocalizationManager.GetWebServiceURL(), form); return(www); } else { string url = string.Format("{0}?action=Translate&list={1}", LocalizationManager.GetWebServiceURL(), sb.ToString()); //Debug.Log(url); return(new WWW(url)); } }
public bool HasGoogleSpreadsheet() { if (!string.IsNullOrEmpty(LocalizationManager.GetWebServiceURL(this)) && !string.IsNullOrEmpty(Google_SpreadsheetKey)) { return(!string.IsNullOrEmpty(Google_SpreadsheetName)); } return(false); }
public static bool CanTranslate() { if (LocalizationManager.Sources.Count > 0) { return(!string.IsNullOrEmpty(LocalizationManager.GetWebServiceURL())); } return(false); }
public static WWW GetTranslationWWW(string text, string LanguageCodeFrom, string LanguageCodeTo) { LanguageCodeFrom = GoogleLanguages.GetGoogleLanguageCode(LanguageCodeFrom); LanguageCodeTo = GoogleLanguages.GetGoogleLanguageCode(LanguageCodeTo); if (TitleCase(text) == text && text.ToUpper() != text) { text = text.ToLower(); } return(new WWW($"{LocalizationManager.GetWebServiceURL()}?action=Translate&list={LanguageCodeFrom}:{LanguageCodeTo}={Uri.EscapeUriString(text)}")); }
public WWW Export_Google_CreateWWWcall(eSpreadsheetUpdateMode UpdateMode = eSpreadsheetUpdateMode.Replace) { string value = Export_Google_CreateData(); WWWForm wWWForm = new WWWForm(); wWWForm.AddField("key", Google_SpreadsheetKey); wWWForm.AddField("action", "SetLanguageSource"); wWWForm.AddField("data", value); wWWForm.AddField("updateMode", UpdateMode.ToString()); return(new WWW(LocalizationManager.GetWebServiceURL(this), wWWForm)); }
public TranslationJob_POST(TranslationDictionary requests, Action <TranslationDictionary, string> OnTranslationReady) { _requests = requests; _OnTranslationReady = OnTranslationReady; var data = GoogleTranslation.ConvertTranslationRequest(requests, false); WWWForm form = new WWWForm(); form.AddField("action", "Translate"); form.AddField("list", data[0]); www = new WWW(LocalizationManager.GetWebServiceURL(), form); }
public TranslationJob_POST(TranslationDictionary requests, GoogleTranslation.fnOnTranslationReady OnTranslationReady) { _requests = requests; _OnTranslationReady = OnTranslationReady; var data = GoogleTranslation.ConvertTranslationRequest(requests, false); WWWForm form = new WWWForm(); form.AddField("action", "Translate"); form.AddField("list", data[0]); www = UnityWebRequest.Post(LocalizationManager.GetWebServiceURL(), form); I2Utils.SendWebRequest(www); }
void ExecuteNextQuery() { if (mQueries.Count == 0) { mJobState = eJobState.Succeeded; return; } int lastQuery = mQueries.Count - 1; var query = mQueries[lastQuery]; mQueries.RemoveAt(lastQuery); string url = string.Format("{0}?action=Translate&list={1}", LocalizationManager.GetWebServiceURL(), query); www = new WWW(url); }
// Querry google for the translation and waits until google returns //public static string ForceTranslate ( string text, string LanguageCodeFrom, string LanguageCodeTo ) //{ // WWW www = GetTranslationWWW( text, LanguageCodeFrom, LanguageCodeTo ); // while (!www.isDone); // if (!string.IsNullOrEmpty(www.error)) // { // Debug.LogError ("-- " + www.error); // //foreach(KeyValuePair<string, string> entry in www.responseHeaders) // // Debug.Log(entry.Value + "=" + entry.Key); // return string.Empty; // } // else // { // var bytes = www.bytes; // var wwwText = Encoding.UTF8.GetString(bytes, 0, bytes.Length); //www.text // return ParseTranslationResult(wwwText, text); // } //} public static WWW GetTranslationWWW(string text, string LanguageCodeFrom, string LanguageCodeTo) { LanguageCodeFrom = GoogleLanguages.GetGoogleLanguageCode(LanguageCodeFrom); LanguageCodeTo = GoogleLanguages.GetGoogleLanguageCode(LanguageCodeTo); // Google has problem translating this "This Is An Example" but not this "this is an example" // so I'm asking google with the lowercase version and then reverting back if (TitleCase(text) == text && text.ToUpper() != text) { text = text.ToLower(); } string url = string.Format("{0}?action=Translate&list={1}:{2}={3}", LocalizationManager.GetWebServiceURL(), LanguageCodeFrom, LanguageCodeTo, Uri.EscapeUriString(text)); //Debug.Log (url); WWW www = new WWW(url); return(www); }
public static WWW GetTranslationWWW(List <TranslationRequest> requests) { var sb = new StringBuilder(); bool first = true; foreach (var request in requests) { if (!first) { sb.Append("<I2Loc>"); } sb.Append(request.LanguageCode); sb.Append(":"); for (int i = 0; i < request.TargetLanguagesCode.Length; ++i) { if (i != 0) { sb.Append(","); } sb.Append(request.TargetLanguagesCode[i]); } sb.Append("="); var text = (TitleCase(request.Text) == request.Text) ? request.Text.ToLowerInvariant() : request.Text; //sb.Append(text); sb.Append(Uri.EscapeUriString(text)); first = false; if (sb.Length > 4000) { break; } } return(new WWW(string.Format("{0}?action=Translate&list={1}", LocalizationManager.GetWebServiceURL(), sb.ToString()))); //WWWForm form = new WWWForm(); //form.AddField("action", "MultiTranslate"); //form.AddField("data", sb.ToString()); //WWW www = new WWW(LocalizationManager.GetWebServiceURL(), form); //return www; }
public WWW Export_Google_CreateWWWcall(eSpreadsheetUpdateMode UpdateMode = eSpreadsheetUpdateMode.Replace) { #if UNITY_WEBPLAYER Debug.Log("Contacting google translation is not yet supported on WebPlayer"); return(null); #else string Data = Export_Google_CreateData(); WWWForm form = new WWWForm(); form.AddField("key", Google_SpreadsheetKey); form.AddField("action", "SetLanguageSource"); form.AddField("data", Data); form.AddField("updateMode", UpdateMode.ToString()); WWW www = new WWW(LocalizationManager.GetWebServiceURL(this), form); return(www); #endif }
public static WWW GetTranslationWWW(List <TranslationRequest> requests) { var sb = new StringBuilder(); sb.Append(LocalizationManager.GetWebServiceURL()); sb.Append("?action=Translate&list="); bool first = true; foreach (var request in requests) { if (!first) { sb.Append("<I2Loc>"); } sb.Append(request.LanguageCode); sb.Append(":"); for (int i = 0; i < request.TargetLanguagesCode.Length; ++i) { if (i != 0) { sb.Append(","); } sb.Append(request.TargetLanguagesCode[i]); } sb.Append("="); var text = (TitleCase(request.Text) == request.Text) ? request.Text.ToLowerInvariant(): request.Text; sb.Append(Uri.EscapeUriString(text)); first = false; } string url = sb.ToString(); //Debug.Log (url); WWW www = new WWW(url); return(www); }
public WWW Import_Google_CreateWWWcall(bool ForceUpdate = false) { if (!HasGoogleSpreadsheet()) { return(null); } string text = PlayerPrefs.GetString("I2SourceVersion_" + GetSourcePlayerPrefName(), Google_LastUpdatedVersion); if (text.Length > 19) { text = string.Empty; } if (IsNewerVersion(text, Google_LastUpdatedVersion)) { Google_LastUpdatedVersion = text; } return(new WWW(string.Format("{0}?key={1}&action=GetLanguageSource&version={2}", LocalizationManager.GetWebServiceURL(this), Google_SpreadsheetKey, ForceUpdate ? "0" : Google_LastUpdatedVersion))); }