public string Translate(string translateMe, CultureInfo fromCultureInfo, CultureInfo toCultureInfo)
        {
            if (fromCultureInfo == null)
            {
                throw new ArgumentNullException("fromCultureInfo is null");
            }
            if (toCultureInfo == null)
            {
                throw new ArgumentNullException("toCultureInfo is null");
            }

            if (string.IsNullOrEmpty(translateMe))
            {
                return(translateMe);
            }

            string sourceLanguage = fromCultureInfo.TwoLetterISOLanguageName;
            string targetLanguage = toCultureInfo.TwoLetterISOLanguageName;

            TranslatorContainer tc = new TranslatorContainer(new System.Uri(SERVICE_URL));

            tc.Credentials = new System.Net.NetworkCredential(_username, _password);

            var translationQuery = tc.Translate(translateMe, targetLanguage, sourceLanguage);

            List <Microsoft.Translation> translationResults = translationQuery.Execute().ToList();

            // Verify there was a result
            if (translationResults.Count() <= 0)
            {
                return(null);
            }

            // In case there were multiple results, pick the first one
            Microsoft.Translation translationResult = translationResults.First();

            return(translationResult.Text);
        }