none
Mostrar solo el lenguaje en la URL de un sitio web MVC 5 RRS feed

Respuestas

  • No lo he probado, pero si quieres utilizar el código de dos dígitos en lugar del código de idioma/país y región debería bastar con:

    En la clase LocalizationRedirectRouteHandler:

        public class LocalizationRedirectRouteHandler : IRouteHandler
        {
            public IHttpHandler GetHttpHandler(RequestContext requestContext)
            {
                var routeValues = requestContext.RouteData.Values;
    
                var cookieLocale = requestContext.HttpContext.Request.Cookies["locale"];
                if (cookieLocale != null)
                {
                    routeValues["culture"] = cookieLocale.Value;
                    return new RedirectHandler(new UrlHelper(requestContext).RouteUrl(routeValues));
                }
    
                var uiCulture = CultureInfo.CurrentUICulture;
                routeValues["culture"] = uiCulture.TwoLetterISOLanguageName;
                return new RedirectHandler(new UrlHelper(requestContext).RouteUrl(routeValues));
            }
        }

    Y en el método GetDefaultLocaleRedirectHandler de la clase LocalizedRouteHandler:

            private static IHttpHandler GetDefaultLocaleRedirectHandler(RequestContext requestContext)
            {
                var uiCulture = CultureInfo.CurrentUICulture;
                var routeValues = requestContext.RouteData.Values;
                routeValues["culture"] = uiCulture.TwoLetterISOLanguageName;
                return new RedirectHandler(new UrlHelper(requestContext).RouteUrl(routeValues));
            }
    


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    viernes, 17 de julio de 2015 22:35