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); }