App Sprache umstellen

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

  • App Sprache umstellen

    Hallo,

    ich würde gerne in meiner SwiftUI App mit einem Picker die Sprache der App umstellen. Ich habe 3 Localized Strings angelegt für die Sprachen deutsch, englisch und türkisch.
    Bildschirm­foto 2022-12-19 um 13.31.11.png
    Ich habe einen Picker der mir die Sprachen wechseln soll:
    Bildschirm­foto 2022-12-19 um 13.26.03.png
    nun fehlt mir nur noch die Idee, wie ich beim "onChange" des Pickers die Sprache umgestellt bekomme.

    Kann mir hier jemand helfen?

    Danke im voraus.

    Grüße

    Dirk

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Qvex23 ()

  • Ohne Deine Frage beantworten zu können, hinterfrage ich einmal Dein Vorhaben - sorry ;)

    Warum willst Du in der App eine eigene Einstellung der App-Sprache realisieren? Zum einen gibt es ja die systemweite Sprache, auf die Du Deine App lokalisieren könntest / solltest. Zum anderen kann man auch app-spezifisch eine Sprache auswählen, welche dem Systemstandard widerspricht.

    Mich würde wirklich der Anwendungsfall interessieren, wann es eine gesonderte Spracheinstellung braucht - und finde dies aus Benutzersicht sehr fragwürdig.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Hi,

    es ist eine App die im Kioskmodus in einem öffentlichen Bereich präsentiert wird. Die jenigen die diese App verwenden sprechen u.U nicht Deutsch und sollen dann App auf ihre Sprache umstellen können. Es wäre blöd wenn ein Anwender erst in die Settings geht und dann die Sprache des kompletten Gerätes umstellen muss. Zumal er da auch nicht hin kann, weil Kioskmodus.
  • Quellcode

    1. func setLanguage(language:Int) {
    2. var lang:String = ""
    3. switch language {
    4. case 0:
    5. lang = "de"
    6. case 1:
    7. lang = "tr"
    8. case 2:
    9. lang = "en"
    10. default:
    11. lang = "de"
    12. }
    13. let path = Bundle.main.path(forResource: lang, ofType: "lproj")
    14. bundle = Bundle(path: path!)!
    Alles anzeigen
    Ich habe mit eine Function gebaut die die Sprache umstellt und dann in SwiftUI einen Picker mit dem man diese Wählen kann:

    Quellcode

    1. HStack() {
    2. Text(chooseLanguageLabel)
    3. Picker(LocalizedStringKey("language"), selection: $language) {
    4. Text(" \(String(localized: "german"))").tag(0)
    5. Text(" \(String(localized: "turkish"))").tag(1)
    6. Text(" \(String(localized: "english"))").tag(2)
    7. }
    8. .onChange(of: language) { newValue in
    9. setLanguage(language: newValue)
    10. textLabel = bundle.localizedString(forKey: "myString", value: "", table: nil)
    11. otherLabel = bundle.localizedString(forKey: "otherString", value: "", table: nil)
    12. aNotherLabel = bundle.localizedString(forKey: "aNotherString", value: "", table: nil)
    13. and so on.....
    14. }
    15. }
    Alles anzeigen