Ich habe gerade auf Xcode 4 aktualisiert.
Normalerweise fügen wir beim Lokalisieren von Apps die Datei "Localizable.String" zum Projekt hinzu, navigieren dann zum Menü "Get Info" und klicken auf die Schaltfläche "Make It Localized".
In Xcode 4 gibt es jedoch kein Menü "Get Info".
Wenn ich versuche, eine Sprache hinzuzufügen, wirkt sich dies nur auf die Datei "InfoPlist.String" aus (die nur den Namen der App lokalisieren kann).
Wie kann ich meiner App in Xcode 4 eine Lokalisierung hinzufügen?
Es ist einfach, wenn Sie es verstanden haben.
Wenn Sie dies mit Xcode erreichen möchten 5. X und iOS 7 oder Xcode 6. X und iOS 8, überprüfen Sie stattdessen " Wie kann ich meine App mit Xcode 5 lokalisieren? ".
Ich mochte SNR 's link , aber seine Antwort war ein bisschen kurz.
Außerdem sehe ich, dass diese Frage etwas alt ist und meine Antwort möglicherweise von älteren Versionen von Xcode abweicht. (Ich habe Xcode v. 4.3.3 verwendet)
Wie auch immer, ich habe meine Antwort aktualisiert, um mit beiden Xcode 4.3.5 und darunter + 4.4 zu arbeiten und höher (und Xcode 5.x und 6.x hier: Wie kann ich meine App mit Xcode 5 lokalisieren? ).
Zu Beginn sollten Sie eine neue "Strings-Datei" in der Kategorie "iOS-Ressource" hinzufügen.
Als nächstes erstellen Sie die Datei als "Localizable.strings".
Wenn die Datei erstellt wurde, wählen Sie sie aus und öffnen Sie den Dateiinspektor.
[~ # ~] edit [~ # ~]: Mit dem neuen Xcode 4.4, 4.5 (und höher) haben sich die Dinge (ein bisschen) geändert (für iOS 6-Unterstützung). Wenn Sie Not Xcode 4.4 oder above verwenden, überspringen Sie diesen Schritt.
{ Der Xcode 4.4, 4.5 (und höher) Weg:
Klicken Sie auf die Schaltfläche "Lokalisieren"
Gehen Sie jetzt zu Ihrer Hauptprojektseite.
Klicken Sie unter "Lokalisierung" auf die Schaltfläche "+" und wählen Sie die zu unterstützenden Sprachen aus.
(Ich wähle German/Deutsch aus)
Nun erscheint ein Fenster, in dem Sie gefragt werden, welche Dateien Sie lokalisieren möchten. Stellen Sie sicher, dass Only die Datei "Localizable.strings" ausgewählt ist, und klicken Sie auf Fertig stellen.
}
{ Der Xcode 4.3.5 und weiter unten:
Klicken Sie unter Lokalisierung auf die Schaltfläche "+" und wählen Sie die Sprachen aus, die Sie unterstützen möchten.
(Ich wähle German/Deutsch aus)
}
.
.
.
.
Sie sollten jetzt sehen, dass Sie zwei Dateien unter der Datei "Localizable.strings" haben.
Fügen Sie als Nächstes Ihre Lokalisierungszeichenfolgen in beide Lokalisierungsdateien ein.
Jetzt kommt hier der Codierungsteil.
Hier deklariere ich einfach ein UILabel
und setze dessen Text auf die lokalisierbare Dateizeichenfolge.
Erklären:
IBOutlet UILabel *testLabel;
Und in ViewDidLoad setze ich den Text mit NSLocalizedString
:
[testLabel setText:NSLocalizedString(@"TEST", nil)];
Zum Abschluss schließen Sie einfach unser testLabel
im "Interface Builder" an.
Jetzt sollten Sie in der Lage sein, das Projekt auszuführen und die lokalisierte Zeichenfolge anzuzeigen. Wenn Sie die Sprache ändern, sollte sich auch die lokalisierte Zeichenfolge ändern.
Wählen Sie die Datei aus, die Sie lokalisieren möchten, und klicken Sie im Abschnitt Dienstprogramme auf den Dateiinspektor. Es gibt einen Abschnitt Lokalisierung
Sie können die Dateiinformationen anzeigen (und Lokalisierungen hinzufügen), wenn Sie die Datei auswählen und den "Datei-Inspektor" über das Hauptmenü "Ansicht" -> "Dienstprogramme" -> "Datei-Inspektor" öffnen.
zuerst müssen Sie eine neue Localizable.string-Datei hinzufügen, diese auswählen und zu Ansicht -> Dienstprogramme -> Dateiinspektor wechseln. Klicken Sie auf die Schaltfläche +, um die Sprache im Lokalisierungsbereich hinzuzufügen. überprüfen Sie es auch XCode 4, Lokalisierung hinzufügen
Sie können die benutzerdefinierten Laufzeitattribute erweitern:
http://cupobjc.blogspot.com.es/2014/04/interfaz-builder-localization.html
Definieren Sie zunächst eine neue Kategorie für UILabel:
#import "UILabel+Localized.h"
@implementation UILabel (Localized)
-(void) setTextLocalized:(NSString *)aText{
[self setText:NSLocalizedString(aText, nil)];
}
@end
Dann im Interface Builder Benutzerdefinierte Laufzeitattribute:
textLocalized String Ihre Zeichenfolge, die lokalisiert werden soll
Und Sie müssen das IBOutlet nicht deklarieren und brauchen keinen Code in ViewDidLoad [testLabel setText: NSLocalizedString (@ "TEST", nil)];
die Art der Lokalisierung in xcode4 hat sich geändert! Klicken Sie mit der rechten Maustaste auf die localizable.strings und klicken Sie zum Hinzufügen von Unterstützung für eine andere Sprache einfach auf das "+" im Bereich "Lokalisierung" auf der rechten Seite.
Oder Sie können TraductoPro verwenden, um diesen Prozess für Sie zu automatisieren und viel Zeit zu sparen. Es ist eine Mac-App, die sich gut in Xcode integrieren lässt.
Wenn Sie eine dynamische Möglichkeit zum Wechseln der Sprache in Ihrer App UND zur Verwendung einer Pods-basierten Lösung suchen, gehen Sie folgendermaßen vor:
https://github.com/nullic/DPLocalizationManager
Installieren Sie mit: pod 'DPLocalization', '~> 1.2'
Es unterstützt dieselben Standard-Lokalisierungsdateien, verwendet jedoch auch dynamische Verknüpfungen mit User Defined runtime attributes
und auch innerhalb von Code wie viewDidLoad
.
Einige Beispiele im Beispielprojekt:
self.startup.text = DPLocalizedString(@"TITLE", nil);
self.label.autolocalizationKey = @"LABEL_TEXT";
[self.label updateAutolocalizationArguments:@[@"Hello", @1234567890, [NSDate date]]];
self.autolocalizationKey = @"TITLE";
Laden Sie das Git-Projekt herunter, das ein Beispielprojekt mit mehreren Beispielen enthält.