wake-up-neo.com

Wie kann ich meine App mit Xcode 4 lokalisieren?

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?

66
jacob

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.

Strings File

Als nächstes erstellen Sie die Datei als "Localizable.strings". Create As

Wenn die Datei erstellt wurde, wählen Sie sie aus und öffnen Sie den Dateiinspektor.

The Localizable FileFile Inspector

[~ # ~] 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" Make localized button

Gehen Sie jetzt zu Ihrer Hauptprojektseite. Main Project page

Klicken Sie unter "Lokalisierung" auf die Schaltfläche "+" und wählen Sie die zu unterstützenden Sprachen aus.

(Ich wähle German/Deutsch aus)

List of languages

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.

Only the "Localizable.strings" file is selected

}

{ 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)

List of languages

}

.

.

.

.

Sie sollten jetzt sehen, dass Sie zwei Dateien unter der Datei "Localizable.strings" haben.

Localizable Files

Fügen Sie als Nächstes Ihre Lokalisierungszeichenfolgen in beide Lokalisierungsdateien ein.

English

German

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.

Connect IBOutlet

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.

English ResultChange the languageGerman Result

210

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

13
Pierre

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.

8
pragmatic

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

4
korat prashant

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

enter image description here

Und Sie müssen das IBOutlet nicht deklarieren und brauchen keinen Code in ViewDidLoad [testLabel setText: NSLocalizedString (@ "TEST", nil)];

1
rafaperez

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.

1
Kaibin

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.

0
VisualFrames

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.

0
Nick N