Wie wird eine andere Sprache als Englisch als Entwicklungssprache und Basislokalisierung festgelegt?

Wenn ein Xcode-Projekt der iOS-App neu erstellt wird, können wir in der Projekteinstellung (nicht Zieleinstellung) erkennen, dass es @ haUse Base internationalization ist standardmäßig aktiviert, und für das @ sind 2 Dateien lokalisierDevelopment Language welches istEnglish standardmäßig (eine fürMain.storyboard und eins fürLaunchScreen.storyboard, beide befinden sich imBase.lproj Verzeichnis). Siehe unter dem Screenshot:

(Der Einfachheit halber werde ich nur @ erwähnMain.storyboard von jetzt an.

Und im Lokalisierungsabschnitt vonMain.storyboarduf der rechten Seite von @ können wir sehen, dass dasBaseie @ -Lokalisierung ist standardmäßig aktiviert und es gibt auch einEnglish localization ist standardmäßig deaktiviert. Siehe unter dem Screenshot:

Und im @ des ZieInfo.plist, es gibt einen Schlüssel mit dem NamenLocalization native development region (d. h.CFBundleDevelopmentRegion) und sein Standardwert isten. Siehe unter dem Screenshot:

Wenn ich es richtig verstehe, kann der Entwickler mit diesen Standardeinstellungen einfach Englisch in das @ schreibeBase Lokalisierung vonMain.storyboard und verlasse dasEnglish localization als deaktiviert markieren. Wenn die App an eine andere Sprache angepasst werden muss, kann der Entwickler der Projektlokalisierungseinstellung eine Lokalisierung hinzufügen und @ auswähleMain.storyboard im aufgerufenen Dialog. Siehe unter dem Screenshot:

NehmenChinese (Simplified) als Beispiel führt dies zu einem neu erstellten Verzeichniszh-Hans.lproj mit einerMain.strings Datei drin. (Der Einfachheit halber bezeichne ich es alsChinese Anstatt vonChinese (Simplified).) Der Entwickler muss nur die englischen Zeichenfolgen in dieser Datei ins Chinesische übersetzen (das neu erstellteMain.strings in demzh-Hans.lprojm @ -Verzeichnis sind standardmäßig alle englischen Texte aus dem @ -Verzeichnis duplizierMain.storyboard imBase.lproj). Mit diesen Einstellungen wird dasLanguageas @ -Feld in der Beschreibung dieser App im AppStore listet Englisch auf (vomBase Lokalisierung, weil Englisch das @ idevelopment language) und Chinesisch (vomChineseLokalisierung). Wenn auf dem Endbenutzergerät die Systemsprache Englisch / Chinesisch ist (oder Englisch / Chinesisch ist eine der bevorzugten Sprachen), verwendet die App die entsprechende Sprachressource (für Englisch verwenden Sie dasBase localisation; Verwenden Sie für Chinesisch dasChineseLokalisierung). Bei allen anderen Spracheinstellungen wird Englisch als Ersatzsprache verwendet, daCFBundleDevelopmentRegion isten, soBase localization wird verwendet.

So wird meine erste Frage sein, ob das obige Verständnis korrekt ist? Zusammenfassend mit demdevelopment language da wir Englisch sind, müssen wir @ nicht aktivierEnglish Lokalisierung für Storyboard-Dateien. Benutze einfach dasBase localization und schreibe direkt Englisch in die Storyboard-Dateien. Wir müssen nur die Lokalisierung für andere Sprachen als Englisch hinzufügen. (Eigentlich scheint es mühsam, wenn wir das @ aktivierEnglish Lokalisierung. WennEnglish localization ist aktiviert, dann müssen wir beide Texte in @ pflegBase.lproj/Main.storyboard unden.lproj/Main.strings.)

Wenn das obige Verständnis richtig ist, wird meine zweite Frage sein, wie man die Internationalisierung auf umgekehrte Weise erreichen kann. Das heißt, wenn ich @ verwenden möchChinese als diedevelopment language und schreibe Chinesisch in dasBase localization und nur die Lokalisierung für andere Sprachen als @ hinzufügChinese, ist es möglich und wie geht das in Xcode? Ich kann das @ nicht ändedevelopment language in der Projekteinstellung, um zu behaupten, dass dieBase Lokalisierung im Projekt istChinese eher, alsEnglish.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage