Ich habe eine UWP App für Windows 10 Mobile. Die App bietet derzeit zwei Sprachen - Englisch (en-US
) und Tschechisch (cs-CZ
). Das Problem, das ich habe, ist, dass, wenn ein Benutzer zum Beispiel aus Spanien der App nutzt, sind die Datums- und Zeitformate Amerikaner, nicht Spanisch (die Standard-App Sprache ist en-US
):Erhalten Sie aktuelle System Kultur Info
DateTime.Now.ToString("d", System.Globalization.CultureInfo.CurrentCulture);
DateTime.Now.ToString("d", System.Globalization.CultureInfo.CurrentUICulture);
DateTime.Now.ToString(System.Globalization.DateTimeFormatInfo.CurrentInfo.ShortDatePattern);
Ich mag würde irgendwie Rufen Sie die Systemsprache ACTUAL ab, um die Daten und Uhrzeiten im richtigen Format basierend auf der Telefonsprache zu erhalten. Momentan sieht es so aus, als ob alle APIs aus dem Namespace System.Globalization
die Kulturinformationen zurückgeben, die die App verwendet.
Diese auf Systeme aus, wo die bevorzugte Sprache und die bevorzugten locale sind nicht das gleiche. Sie erstellen ein 'CultureInfo'-Objekt basierend auf der bevorzugten Sprache des Benutzers, nicht auf dem vom Benutzer bevorzugten Datums- und Uhrzeitformat. – IInspectable
@Intspectable Vielen Dank für Ihre Beobachtung! Ich habe etwas recherchiert und leider scheint es dafür keine API zu geben. Und selbst die UWP 'DatePicker' und' TimePicker' verwenden Formate, die auf der ersten Systemsprache basieren, nicht dem bevorzugten Format. Dies entspricht dem Rest des Systemverhaltens. –
Dennoch erhalten einige Anwendungen die regionalen Einstellungen richtig. Ich bin nicht genug mit der UWP-Entwicklung vertraut, um zu wissen, ob es eine dedizierte (noch gut versteckte) API gibt, oder ob diese Apps einfach die erforderlichen regionalen Einstellungen auswerten/erraten. – IInspectable