Exemplo n.º 1
0
        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()}"));
        }
Exemplo n.º 2
0
        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));
            }
        }
Exemplo n.º 3
0
 public bool HasGoogleSpreadsheet()
 {
     if (!string.IsNullOrEmpty(LocalizationManager.GetWebServiceURL(this)) && !string.IsNullOrEmpty(Google_SpreadsheetKey))
     {
         return(!string.IsNullOrEmpty(Google_SpreadsheetName));
     }
     return(false);
 }
Exemplo n.º 4
0
 public static bool CanTranslate()
 {
     if (LocalizationManager.Sources.Count > 0)
     {
         return(!string.IsNullOrEmpty(LocalizationManager.GetWebServiceURL()));
     }
     return(false);
 }
Exemplo n.º 5
0
 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)}"));
 }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        // 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);
        }
Exemplo n.º 11
0
        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;
        }
Exemplo n.º 12
0
        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
        }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
        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)));
        }