Wie bekomme ich aktuelle Anwendung locale?
Ich brauche, um die aktuelle locale. Nicht benutzergebietsschema aber meine Anwendung locale.
Lassen Sie uns sagen, meine Anwendung besteht aus zwei Lokalisationen (in den Projekteinstellungen): Englisch (Standard) und Französisch. Wenn der Benutzer setzt die französische Sprache auf dem iPhone dann meine Anwendung display Schnittstelle in französischer Sprache. Wenn der Nutzer stellt die Deutsche Sprache auf dem iPhone dann meine Anwendung wird in englischer Sprache angezeigt-Schnittstelle (weil Englisch ist Standard).
So, wie bekomme ich die aktuelle Anwendung das Gebietsschema, das zeigt sich jetzt?
Vielen Dank im Voraus.
InformationsquelleAutor Alexandr | 2015-05-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die gewählte Antwort gibt die aktuelle Geräte-Sprache, sondern nicht die eigentliche Sprache, in der verwendeten app. Wenn Sie nicht bieten eine Lokalisierung für die bevorzugte Sprache in Ihrer app:
NSLocale
?stackoverflow.com/questions/6177309/nslocale-and-country-name
Stehlen anderer Leute zu beantworten ist nicht etwas, was wir tun, auf Stack Overflow, vor allem ohne Kredit. Wenn eine Antwort auf eine andere Frage kann es lösen dann die Abstimmung zu schließen als Duplikat. Nicht stehlen die Antwort.
InformationsquelleAutor Vijay yadav
Möglicherweise gibt es einen einfacheren Weg als diese (siehe andere Antworten), aber dieses ist besonders stabil, und so lange, wie das Allgemeine Prinzip der Lokalisierung einer app durch ein
strings
-Datei nicht veraltet, funktioniert diese Methode.In der Regel, die Sie nicht brauchen, um die Anwendung locale (aber Lesen Sie weiter, es ist möglich!) Wenn Sie möchten, dass der lokalisierte text verwenden Sie
NSLocalizedString()
. Wenn Sie brauchen, zu lokalisieren Bilder, die Sie verwenden lokalisierten Ressourcen, und so weiter. Es gibt jedoch Gründe die ich mir denken kann, welche wäre es schön wenn man die "application locale", wie Sie es nennen: zum Beispiel für analytics (Sie wollen wissen, in welchen Sprachen Sie Ihre app verwendet wird), oder für die Bereitstellung eines konsistenten one-language-interface an den Benutzer, wenn Sie mit server-basierte Kommunikation (z.B. für die Lokalisierung der server Fehlermeldungen in der gleichen Sprache, die der Benutzer sieht in der app.)Wenn Sie möchten, um die Lokalisierung der app, die aktuell sichtbar ist, ich nehme an, Sie haben eine
Localizable.strings
- Datei für jedes unterstützte Gebietsschema. Also, in den Englischen strings-Datei fügen Sie die Zeileund in der Französisch-string-Datei fügen Sie die Zeile
dann, Sie können immer die Anwendung-Gebietsschema an, indem Sie den Aufruf
NSLocalizedString("lang")
(swift) oderNSLocalizedString(@"lang")
(objective-C). Und natürlich, Wann immer Sie hinzufügen eine neue Lokalisierungs-app, die Sie haben, um einen "lang" - Eintrag in die neue Sprachen-strings-Datei.InformationsquelleAutor Michael
In Swift 3 verwenden:
let language = Bundle.main.preferredLocalizations.first
InformationsquelleAutor Jonathan Francis
Können Sie bekommen Land code aus locale, auf diese Weise,
Bekommen, country-code, z.B.
es
(Spanien),fr
(Frankreich), etc.Können Sie anzeigen dieser code für die Schnittstellen-Auswahl.
Hoffe, dies hilft Ihnen.
InformationsquelleAutor Viral Savaj
können Sie die ausgewählte Sprache mit dem folgenden code.
List_of_ISO_639-1_codes
Hoffe, dies wird Ihnen helfen.
InformationsquelleAutor Jatin Patel