Use Google Translate programmatically

Programming C#
It's quite easy to utilize Google Translate API as shown in the code below
using System;
using System.Collections;
using System.Collections.Generic;
using System.Net.Http; // add NuGet package
using Newtonsoft.Json; // add NuGet package

public class Program
public static void Main()
// translate "hello world" from english to french
Console.WriteLine(TranslateText("hello world", "en", "fr"));

public static string TranslateText(string input, string langCdOriginal, string langCdTranslation)
string url = String.Format
langCdOriginal, langCdTranslation, Uri.EscapeUriString(input));

HttpClient httpClient = new HttpClient();
string result = httpClient.GetStringAsync(url).Result;

// Get all json data
var jsonData = JsonConvert.DeserializeObject<List<dynamic>>(result);

// Extract just the first array element (This is the only data we are interested in)
var translationItems = jsonData[0];

// Translation Data
string translation = "";

// Loop through the collection extracting the translated objects
foreach (object item in translationItems)
// Convert the item array to IEnumerable
IEnumerable translationLineObject = item as IEnumerable;

// Convert the IEnumerable translationLineObject to a IEnumerator
IEnumerator translationLineString = translationLineObject.GetEnumerator();

// Get first object in IEnumerator

// Save its value (translated text)
translation += string.Format(" {0}", Convert.ToString(translationLineString.Current));

// Remove first blank character
if (translation.Length > 1) { translation = translation.Substring(1); };

// Return translation
return translation;

Unfortunately by using the free Google Translate API you will only be allowed to translate a certain ammount of words per hour. After this, Google API will return a 429 (too many requests) error.