1. Establish Resource directory, add new item > resource files. (.resx)
Note: Add the GlobalRes.resx file with all the content that you need to translate. Here I have a English version as GlobalRes.resx and Chinese version as GlobalRes.zh-TW.resx. Notice that you need to feel the ISO country code for the postfix data name. 
- Set type to Strings 
- Access Modifier as Public 
- In properties, set Build Action to Embedded Resource.
2. Controller for language change. (And view for Index())
using System.Globalization;
using System.Threading;
using System.Web;
using System.Web.Mvc;
namespace IrsaWebStore.Controllers
{
    public class LanguageController : Controller
    {
        // GET: Language
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult Change(string LanguageAbbreviation)
        {
            if(LanguageAbbreviation != null)
            {
                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(LanguageAbbreviation);
                Thread.CurrentThread.CurrentUICulture = new CultureInfo(LanguageAbbreviation);
            }
            HttpCookie cookie = new HttpCookie("Language")
            {
                Value = LanguageAbbreviation
            };
            Response.Cookies.Add(cookie);
            return View("Index");
        }
    }
}
Note: Add new controller in Controller folder.
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>@IrsaWebStore.Resources.GlobalRes.Language</h2>
<ul>
    <li>@Html.ActionLink(@IrsaWebStore.Resources.GlobalRes.English, "Change", "Language", new { LanguageAbbreviation = "en" }, null)</li>
    <li>@Html.ActionLink(@IrsaWebStore.Resources.GlobalRes.Chinese_tw, "Change", "Language", new { LanguageAbbreviation = "zh-TW" }, null)</li>
</ul>
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>@IrsaWebStore.Resources.GlobalRes.Language</h2>
<ul>
    <li>@Html.ActionLink(@IrsaWebStore.Resources.GlobalRes.English, "Change", "Language", new { LanguageAbbreviation = "en" }, null)</li>
    <li>@Html.ActionLink(@IrsaWebStore.Resources.GlobalRes.Chinese_tw, "Change", "Language", new { LanguageAbbreviation = "zh-TW" }, null)</li>
</ul>
3. In Global.asax
protected void Application_BeginRequest(object sender, EventArgs e)
{
    HttpCookie cookie = HttpContext.Current.Request.Cookies["Language"];
    if (cookie != null && cookie.Value != null)
    {
        System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(cookie.Value);
        System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(cookie.Value);
    }
    else
    {
        HttpContext.Current.Response.AppendCookie(new HttpCookie("Language"));
        HttpContext.Current.Request.Cookies["Language"].Value = "zh-TW";
        System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("zh-TW");
        System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-TW");
    }
}
4. Web.config settings.
  <system.web>
    <!--Globalization-->
    <globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true" />
    <!--/Globalization-->
    <!-- ... -->
    <!-- ... -->
  </system.web>
5. Route rules (App_start > routeConfig.cs)
routes.MapRoute("Language", "Language/{action}/{id}",
                new { controller = "Language", action = "Index", id = UrlParameter.Optional }, new[] { "IrsaWebStore.Controllers" });
routes.MapRoute("Language", "Language/{action}/{id}",
                new { controller = "Language", action = "Index", id = UrlParameter.Optional }, new[] { "IrsaWebStore.Controllers" });
6. Modify Views (View > Shared >  _Layout.cshtml as example)
  <div class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
        @Html.Action("PagesMenuPartial", "Pages")
        @if (Request.IsAuthenticated)
        {
            <li><a href="/account/logout">@IrsaWebStore.Resources.GlobalRes.Logout</a></li>
        }
        else
        {
            if (ViewBag.Title == "Login")
            {
                <li class="active"><a href="/account/login">@IrsaWebStore.Resources.GlobalRes.Login</a></li>
            }
            else
            {
                <li><a href="/account/login">@IrsaWebStore.Resources.GlobalRes.Login</a></li>
            }
            if (ViewBag.Title == "CreateAccount")
            {
                <li class="active"><a href="/account/create-account">@IrsaWebStore.Resources.GlobalRes.Create_Account</a></li>
            }
            else
            {
                <li><a href="/account/create-account">@IrsaWebStore.Resources.GlobalRes.Create_Account</a></li>
            }
        }
        <!-- ... -->
