anfordern Lokalisierung bedeutet, dass für jede Anforderung, wird der Rahmen versuchen, die Lokalisierung durch den Anforderer bevorzugt zu verwenden. Was Sie wollen, ist die Standard-Kultur Ihrer Anwendung zu ändern immer Ihr Gebietsschema verwenden, egal was der Benutzer in ihrem Client-Browser festgelegt hat. Dazu können Sie eine kleine Middleware verwenden.
In Ihrer Startup.cs Datei folgend an der Spitze hinzu:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("pt-BR");
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("pt-BR");
app.UseMiddleware<MyRequestLocalizationMiddleware>();
...
}
Und Ihre Middleware hinzufügen, irgendwo in Ihrem Projekt:
using Microsoft.AspNetCore.Http;
using System.Globalization;
using System.Threading.Tasks;
namespace MyNamespace
{
public class MyRequestLocalizationMiddleware
{
private readonly RequestDelegate _next;
public MyRequestLocalizationMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
var defaultCulture = new CultureInfo("pt-BR");
SetCurrentCulture(defaultCulture, defaultCulture);
await _next(context);
}
private void SetCurrentCulture(CultureInfo culture, CultureInfo uiCulture)
{
CultureInfo.CurrentCulture = new CultureInfo(culture.Name);
}
}
}
"einige Anfragen" definieren? Ist es eine spezielle Anfrage? Middleware oder Controller/Dienste? – Tseng
Anfrage Lokalisierung funktioniert mit dem Client zur Verfügung gestellt bevorzugten Kultur, das ist wahrscheinlich, was das OP durch "einige Anfragen" bedeutet. –