Ländereinstellungen in Razor/Blazor

Ländereinstellungen in Razor/Blazor

Kennen Sie das: beim Testen auf dem lokalen System klappt alles ganz wunderbar. Aber sobald man die Lösung bei Azure hochlädt, werden alle Datums- und Zahlenwerte im amerikanischen Format angezeigt. Klar – die Server von Microsoft laufen alle mit amerikanischen Länder-Settings. Diese werden als Standard für Anwendungen vom Webserver übernommen. Jetzt kann man versuchen, mit Format-Strings eine bestimmte Darstellung zu erzwingen. Aber spätestens bei Eingabefeldern wird das schwer. Die Lösung: die Ländereinstellungen in Razor/Blazor für die Anwendung anpassen.

Als ich mit ASP.NET begonnen habe, war das ein Punkt, der mich tatsächlich einiges an Nerven gekostet hat. Dabei ist die Lösung denkbar einfach:

var supportedCultures = new[] { "de-DE" };
var localizationOptions = new RequestLocalizationOptions()
    .SetDefaultCulture(supportedCultures[0])
    .AddSupportedCultures(supportedCultures)
    .AddSupportedUICultures(supportedCultures);

app.UseRequestLocalization(localizationOptions);Code-Sprache: JavaScript (javascript)

Fügen Sie einfach diese Zeilen in Program.cs ein, um die Ländereinstellungen in Razor/Blazor Anwendungen anzupassen.

Damit wird ein neues RequestLocalizationOptions Objekt angelegt und konfiguriert. Dieses benötigt ein Array mit Format-Kürzeln, die für die Konfiguration verwendet werden sollen. Im Beispiel wird dafür supportedCultures angelegt und mit „de-DE“ initialisiert.

Sie können in diesem Array bei bedarf auch noch weitere Formate aufnehmen. Durch den Methodenauf-Aufruf SetDefaultCulture wird dann dasjenige Element ausgewählt, das als Standard fungieren soll. Im Beispiel oben ist das das Element an Position 0 von supportedCultures und damit eben „de-DE“.

Vielen Entwicklern wird es wie mir gehen – ich habe die Ländereinstellungen auf meinen Rechnern in der Regel auf Deutsch. Da fällt diese Probleme nicht auf – um so größer ist dann immer die Überraschung nach dem Hochladen. Damit dieses Szenario seinen Schrecken auch für Sie verliert, sollten Sie sich ein Lesezeichen auf diese Seite setzen 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert