Localización en Asp.Net Core

He estado siguiendo las instrucciones en esta página para configurar la localización:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization

Sin embargo, para mí simplemente no parece funcionar. Esto es lo que he hecho:

Startup.cs:

public class Startup
{
    public IConfigurationRoot Configuration { get; }

    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("appsettings.json", true, true);

        builder.AddEnvironmentVariables();
        Configuration = builder.Build();
    }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddLocalization(o => o.ResourcesPath = "Resources");
        services.AddMvc(o =>
        {
            o.Filters.Add(typeof(GlobalExceptionFilter));
        }
        ).AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix).AddDataAnnotationsLocalization();
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        var supportedCultures = new[]
        {
            new CultureInfo("es-MX"),
            new CultureInfo("en-US")
        };

        app.UseRequestLocalization(new RequestLocalizationOptions
        {
            DefaultRequestCulture = new RequestCulture("es-MX"),
            SupportedCultures = supportedCultures,
            SupportedUICultures = supportedCultures
        });

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Error");
        }

        app.UseStaticFiles();
        app.UseAuthentication();

        app.UseMvcWithDefaultRoute();
        //app.UseMvc(routes =>
        //{
        //    routes.MapRoute(
        //        "default", "{controller=Home}/{action=Index}/{id?}");
        //});

        app.UseRewriter(new RewriteOptions().AddRedirectToHttps());
    }
}

My Layout.cshtml contiene lo siguiente:

@await Html.PartialAsync("_SelectLanguagePartial")

y mi _SelectLanguagePartial.cshtml contiene:

@using Microsoft.AspNetCore.Builder
@using Microsoft.AspNetCore.Localization
@using Microsoft.AspNetCore.Mvc.Localization
@using Microsoft.Extensions.Options

@inject IViewLocalizer Localizer
@inject IOptions<RequestLocalizationOptions> LocOptions

@{
    var requestCulture = Context.Features.Get<IRequestCultureFeature>();
    var cultureItems = LocOptions.Value.SupportedUICultures
        .Select(c => new SelectListItem { Value = c.Name, Text = c.DisplayName })
        .ToList();
    var returnUrl = string.IsNullOrEmpty(Context.Request.Path) ? "~/" : $"~{Context.Request.Path.Value}";
}

<div title="@Localizer["Request culture provider:"] @requestCulture?.Provider?.GetType().Name">
    <form id="selectLanguage" asp-controller="Home" asp-action="SetLanguage" asp-route-returnUrl="@returnUrl" 
          method="post" role="form">
        <label asp-for="@requestCulture.RequestCulture.UICulture.Name">@Localizer["Language:"]</label> <select name="culture"
            onchange="this.form.submit();"
            asp-for="@requestCulture.RequestCulture.UICulture.Name" asp-items="cultureItems">
        </select>
    </form>
</div>

Además de esto, he creado 2 archivos de recursos,ErrorMessages.ex-MX.resx yErrorMessages.resx.

En mi HomeController he agregado esta líneaViewBag.Test = ErrorMessages.Test; y en la vista de índice agregué<p>@ViewBag.Test</p>

Cuando miro la página, veo el menú desplegable con idiomas y solo tiene inglés en la lista. El texto que mostré en la página es el que provieneErrorMessages.resx.

¿Me estoy perdiendo un paso? ¿Cómo es que el español no es recogido en ningún lado? Como verá a continuación, incluso intenté establecer el español como la cultura principal, pero no hay diferencia.

EDITAR:

Traté de eliminar eglish de la lista y el resultado de que obtuve el menú desplegable todavía estaba allí y esta vez tenía el español en la lista. Sin embargo, el texto todavía estaba en inglés.

Luego intenté agregar el inglés nuevamente como una segunda lista en el elemento y establecer el inglés como el idioma principal y el menú desplegable solo mostraba 1 idioma y el español ya no estaba.

Respuestas a la pregunta(1)

Su respuesta a la pregunta