Schon wieder was mit Sprache

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Schon wieder was mit Sprache

    Hallo,

    ich mache schon wieder mit Sprachen rum, aber diesmal ist es sehr seltsam. Ich lasse mir Datum und Uhrzeit als String in einem SwiftUI Text() View anzeigen, außerdem eine Restzeit in Stunden, Minuten und Sekunden.

    Datum und Uhrzeit:

    Quellcode

    1. Text(Date().formatted(.dateTime.weekday(.wide).day().month().year()))
    2. .shadow(radius: 5)
    3. .font(.system(size: 35, weight: .heavy, design: .rounded))
    4. .foregroundColor(.white)
    5. Text(Date().formatted(.dateTime.hour().minute().second()))
    6. .shadow(radius: 5)
    7. .font(.system(size: 35, weight: .heavy, design: .rounded))
    8. .foregroundColor(.white)
    9. .padding(.bottom)


    und für die Anzeige der Restzeit habe ich mit das hier zusammen gebastelt:

    Quellcode

    1. public func calculateTimeDiff(start:String, end:String)->String {
    2. let formatter = DateFormatter()
    3. formatter.dateFormat = "HH:mm:ss"
    4. let startTime = formatter.date(from: start)
    5. let endTime = formatter.date(from: end)
    6. var diffSeconds = endTime!.timeIntervalSinceReferenceDate - startTime!.timeIntervalSinceReferenceDate
    7. if diffSeconds < 0 {
    8. diffSeconds = 0
    9. }
    10. let frmttr = DateComponentsFormatter()
    11. frmttr.allowedUnits = [.hour, .minute, .second]
    12. frmttr.unitsStyle = .short
    13. let formattedString = frmttr.string(from:TimeInterval(diffSeconds))!
    14. return formattedString
    15. }
    Alles anzeigen

    Wenn ich die App starte, auf meinem iPad und auch in meinem Simulator, die beide mit Sprache als auch mit der Datumsanzeige auf Deutsch gestellt sind kommt aber das:

    Bildschirm­foto 2023-01-20 um 13.11.56.png

    Wie kriege ich das nun auf deutsch?

    Grüße

    Dirk
  • AH! für den DateComponentsFormatter fehlte der lokale Kalender:

    Quellcode

    1. var calendar = Calendar.current
    2. calendar.locale = Locale(identifier: "de")
    3. let frmttr = DateComponentsFormatter()
    4. frmttr.calendar = calendar
    Nun wird zumindet Std. Min. und Sek. angezeigt. Aber warum die Ausgabe des aktuellen Datums noch Englisch ist erschließt sich mir nicht.
  • MCDan schrieb:

    Soll die App immer auf deutsch sein, egal welche Sprache der Anwender als Systemsprache eingestellt hat?
    Hallo,

    ich weis worauf du raus willst, das habe ich auch schon im Kopf gehabt.Erstmal soll es auf DE bleiben.

    Mal sehen wie es sich entwickelt. Bisher eher was Betriebsinternes und wir haben nur deutschsprachige Kolleginnen und Kollegen und auch nur Standorte in DE.

    Trotzdem danke für all die Hilfe die es hier immer gibt!

    Dirk