Ändern der Entwicklungssprache in Xcode

80

Ich muss Spanisch als Entwicklungssprache für eine iOS-App festlegen. Ich verwende bereits Xcode 6 und habe den Localization native development regionEintrag in app's Info.plist( CFBundleDevelopmentRegion) von "en" in "es" geändert . Unter Projekt> Info> Lokalisierungen bleibt Englisch jedoch als Entwicklungssprache festgelegt.

Wie gesagt in Informationen Property List Key Referenz , CFBundleDevelopmentRegiongibt die Standardsprache. Ich muss Spanisch auf die Standardsprache einstellen. Was fehlt mir?

Vielen Dank

AppsDev
quelle

Antworten:

89

So können Sie das machen:

  1. Fügen Sie zuerst die Sprache hinzu, die Ihre Basissprache sein soll. Deaktivieren Sie alle Dateien, die Xcode zur Lokalisierung für Sie anbietet.
  2. Im Info.plistÄndern der Sprache des Entwicklungsbereiches , dass Sie Ihre Basissprache sein sollen. Beachten Sie, dass die Eigenschaft etwas falsch benannt ist, da ihr Wert ein Sprachcode (mit einem optionalen Ländercode) und kein Regional- oder Ländercode sein sollte.
  3. Schließen Sie Ihr Projekt in Xcode. Öffnen projectname.xcodeproj/project.pbxprojund suchen Sie in einem anderen Code-Editor nach developmentRegion. Sie sollten eine Linie wie sehen developmentRegion = English;. Ändern Sie dies, um auf dieselbe Sprache zu verweisen, die Sie in Ihre Info.plistDatei eingefügt haben.
  4. Öffnen Sie das Projekt erneut in Xcode. Durchsuchen Sie alle lokalisierbaren Dateien und aktivieren Sie die Kontrollkästchen neben Englisch, um die lokalisierbaren Ressourcen zu generieren. Beachten Sie, dass Xcode für Storyboards und Xibs möglicherweise ein Storyboard anstelle einer Zeichenfolgendatei erstellt. In diesem Fall ändern Sie einfach den Dateityp in eine Zeichenfolgendatei.

Hier ist ein Beispiel für das Ergebnis, das ich frals Basissprache verwende:

Projektinfo

Dateiinformation

Lensovet
quelle
3
Haben Sie die Zeile in developmentRegion = francaisoder geändert developmentRegion = fr?
Flimm
2
fr ist, was Sie hier verwenden möchten
Objektivovet
3
Beachten Sie, dass Sie möglicherweise auch Ihren Sprachcode zur knownRegionsListe (in der .pbxproj-Datei) hinzufügen müssen, damit die Eigenschaft unter den Projekteinstellungen angezeigt wird.
Patrick Pijnappel
1
Sie sollten dies nicht tun müssen, wenn Sie zuerst die Lokalisierung hinzufügen. Dies ist Schritt 1 der Anweisungen in dieser Antwort.
Lensovet
2
Nur um klarzustellen. developmentRegionmuss eingestellt sein auf frund nicht auf francais. Grund: Die developmentRegion von project.pbxproj wird an das Ziel übergeben, export DEVELOPMENT_LANGUAGE=frund dieser Wert wird normalerweise wie <key>CFBundleDevelopmentRegion</key<string>$(DEVELOPMENT_LANGUAGE)</string>in der Info.plist verwendet. In der CFBundleDevelopmentRegionDokumentation wird angegeben, dass er im Format ISO 639-1 oder ISO 639-2 von developer.apple.com/documentation/bundleresources vorliegen sollte /… . Also ist 'fr' richtig und 'francais' nicht.
Nacho4D
51

Für Xcode 9 bis 11:

Schließen Sie Xcode.

  1. Öffnen Sie Ihre project.pbxproj in einem Texteditor
  2. Suchen Sie nach developmentRegion und legen Sie den Wert fest (es für Spanisch, fr für Französisch, ...)
  3. Suchen Sie nach bekannten Regionen und fügen Sie die neue Sprache zur Liste hinzu

Open Xcode: Ihre Projektinformationen sollten jetzt den Sprachnamen mit der Entwicklungssprache daneben anzeigen.

Ahbou
quelle
2
So finden Sie die .pbxprojDatei Ihres Projekts : stackoverflow.com/a/3054073/4084269 😉
Josselin
Anscheinend muss Xcode nicht geschlossen werden (zumindest in Xcode 11)
Snowy_1803
Wie kann ich im App Store einige Sprachen als App-Sprache hinzufügen? Zum Beispiel zeigt meine bereits veröffentlichte App-Sprache nur Englisch an, aber ich möchte auch Deutsch als App-Sprache hinzufügen
David
@ David, das ist etwas, was Sie im App Store tun können
ahbou
Vielen Dank für Ihre Antwort @ahbou. Aber ich konnte keinen Ort dafür finden. Kannst du mich bitte leiten?
David
37

Suchen Sie in der .xcodeproj-Datei Ihres Projekts nach der Zeichenfolge developmentRegion. Angeblich heißt es gerade "Englisch". Wenn Sie es in "Spanisch" ändern, sollte Xcode 6 Spanisch als Standardlokalisierungssprache Ihres Projekts auf der Registerkarte "Info" erkennen, solange Sie der Liste "Spanisch" hinzufügen.

Weitere Informationen zu diesem Thema finden Sie unter http://eschatologist.net/blog/?p=224

Elwisz
quelle
1
Vielen Dank. Ich habe gerade getan, was Sie erklären, und jetzt habe ich die spanische Sprache als Entwicklungsziel unter Info> Lokalisierungen festgelegt. Wenn ich jedoch die Sprache des Geräts in eine Sprache ändere, die ich nicht in Lokalisierungen definiert habe (sagen wir Französisch, da ich nur englische und spanische Lokalisierungen definiert habe), wird die App weiterhin in Englisch und nicht in Spanisch lokalisiert erwartet ...
AppsDev
Das Gerät ist wahrscheinlich so eingestellt, dass es in Bezug auf einen Sprachausfall Englisch gegenüber Spanisch bevorzugt. Hier einige Einblicke, wie das App-Bundle nach lokalisierten Inhalten durchsucht wird: developer.apple.com/library/ios/documentation/CoreFoundation/…
Elwisz
1
Wenn Sie die Standardsprache ändern möchten und Ihre App bereits im Store haben, vergessen Sie nicht, sie auch in iTunes Connect zu ändern.
Vive
@Arefly Tippen Sie in den Sprach- und Regionseinstellungen des Geräts oben rechts auf die Schaltfläche Bearbeiten und ordnen Sie die Liste der Sprachen neu an, sodass Englisch in der Liste der Sprachen unter Spanisch liegt.
Lensovet
5

Öffnen Sie Ihr Ziel -> Info -> ändern Sie "Localization Native Development Region" in Ihre Sprache

AleyRobotics
quelle
14
das allein reicht nicht aus.
Lensovet
0

Für jemanden, der wie ich Hilfe benötigt, habe ich zwei Ziele, eines möchte ich EN Base-Lokalisierung sein und das zweite Ziel muss eine andere Sprache sein. Die oben erwähnte Option "Projektname.xcodeproj / project.pbxproj ändern und nach developmentRegion suchen und ändern ..." funktioniert bei mir aufgrund von Zielen nicht.

Was für mich, Xcode 11.5, funktioniert hat, ist, dass nur ich den Sprachcode in der "nativen Entwicklungsregion der Lokalisierung" für dieses bestimmte Ziel ändern muss und es funktioniert, keine Änderung in projectname.xcodeproj / project.pbxproj PS Here " Lokalisierung native Entwicklungsregion "muss Ländercode wie fr_Fr oder in meinem Fall hr für Kroatisch gehen

Clopex
quelle