wie zum ändern der Sprache der Anwendung zur Laufzeit mit Zwei-Knopf im iphone SDK?
Baue ich ein Projekt in ios-Plattform und wollen die zwei Sprachen in dieser Anwendung
und auch wollen . die Benutzer können die Sprache ändern, die auf die Laufzeit nehmen wir an, wir zwei Sprache Taste Taste 1 für Deutsch und Taste 2 für Deutsch, und der Benutzer kann die Sprache der Anwendung jederzeit über diese Taste . jede Hilfe oder tutorials
Vielen Dank im Voraus
Du musst angemeldet sein, um einen Kommentar abzugeben.
Davon aus, dass Sie erstellt haben, Lokalisierungen für Deutsch und Englisch, Ihre app wird die Sprache ausgewählt, in den Einstellungen (dies ist die bevorzugte option).
Wenn Sie möchten, um die Sprache direkt aus Ihrer Anwendung:
stellen Sie die Sprache für Ihre Anwendung nur auf Englisch (für Deutsch, ich nehme an, der Schlüssel "de"). Sie sollte auch:
Diese wird erst wirksam, wenn Ihre Anwendung startet.
Haben eine Klasse "LanguageUtils" mit dieser Methode :
Und die property NSString currentLanguage.
Dann in Ihr .pch tun :
Funktioniert wie ein Charme und Sie können neu die aktuelle Sprache zur Laufzeit.
Nur Bedenken, das die Ansicht aktualisiert werden soll, indem Sie sich. Es wird nicht automatisch für Sie tun.
Ich kam mit einer Lösung, die ermöglicht die Verwendung von
NSLocalizedString
. Ich erstelle eine KategorieNSBundle
nennenNSBundle+RunTimeLanguage
. Die Schnittstelle ist wie folgt.Die Umsetzung ist wie folgt.
Als nur hinzufügen importieren
NSBundle+RunTimeLanguage.h
in die Dateien mitNSLocalizedString
.Wie Sie sehen können ich meine "languageCode") in einer Eigenschaft von
AppDelegate
. Dies könnte überall gespeichert werden, die Sie möchten.Das einzige, was mir nicht gefällt, es ist eine Warnung, dass
NSLocalizedString
marco neu definiert. Vielleicht könnte jemand mir helfen, dieses Problem beheben Teil.#undef NSLocalizedString
vor, um loszuwerden, die Neudefinition WarnungDiese ist sehr gut und die Sprache geändert wird innerhalb der app und auch, wenn das Gerät die Sprache ändert. Ich habe diese in vielen apps.
Für die Lokalisierung verwenden wir im Allgemeinen,
in die benutzerdefinierte Implementierung haben Sie etwas ähnliches wie diese
genstrings
Befehl funktioniert nicht mehrHier ist demo-tutorial
https://github.com/object2dot0/Advance-Localization-in-ios-apps
Entfernen Sie einfach
vom
damit es nicht Abstürzen!!! genießen Sie!
Verwenden Sie die Lokalisierung für diese . Speichern nur den Schlüssel und den Wert in der Seite lokalisiert werden.string und laden Sie die entsprechende .string Datei, wie pro Ihre Anforderung .
Sie können finden folgende Anleitung dafür :
http://www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial
SWIFT 2.0 version
Wir können dies zur Laufzeit ohne Neustart der app in Swift 2.0 wie folgt
Machen, eine Funktion innerhalb einer Klasse, sagen wir LanguageManager ist der name der Klasse
Wie Sie diese Nutzen.
Nun nehme an, Sie haben zwei Sprachen für die Anwendung (Englisch und Spanisch)
Englisch - en
Spanisch - es
Angenommen, Sie haben zu Ort etwas für ein label
Weitere Infos auf der Sprachcodes finden Sie unter diesem link unten
https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/LanguageandLocaleIDs/LanguageandLocaleIDs.html
oder
http://www.ibabbleon.com/iOS-Language-Codes-ISO-639.html