2013-05-07 11 views
5

Hallo ich bin sehr viel auf den Prozess der Lokalisierung auf ios stecken.Wie lokalisiere ich label strings in ios für einen Anfänger

here, was ich verstehe, wie man das Projekt-Explorer und legt Basis Lokalisierungen für diferent Länder gehen,

, wie eine Zeichenfolge-Datei erstellen und legen Sie es in der Basis gewählt, um eine der besonderen Länder lokalisiert werden Lokalisierungs

wie

Schlüsselwertpaare Chinesisch vereinfacht und wie das Wort „hALLO WORLD“ = „eine andere Sprache“ entsprechen; mit in der lokalisierten Zeichenkette Datei

Wie auch immer die App, die eine einfache Beschriftung mit dem Schreiben Hallo Welt hat, wenn kompiliert nicht zu chinesisch in einem chinesischen Simulator.

heres, wo ich denke, dass es falsch geht.

Ich denke, ich muss die Zeichenfolgen auf dem Bildschirm mit den Zeichenfolgen, die in meiner lokalisierten Zeichenfolgendatei enthalten sind, verbinden.

und mache ich eine separate Zeichenkette für jede Sprache?

Ich bin auf der Suche nach einem sehr, sehr einfachen Stub einer App mit nur ein paar Etiketten, die in verschiedene Sprachen übersetzt werden, so kann ich lernen, wie man es verbinden und arbeiten, damit ich es wo sonst verwenden kann.

es gibt ein Storyboard für Chinesen, muss ich daran arbeiten? oder ist es leer?

nach Stunden Lesen von Dokumenten i scheinen im Kreis herum werden, im nicht beeindruckt mit Äpfeln Dokumentation zu diesem Thema denke, seine etwas fehlt,

Antwort

5

Zur Lokalisierung, was Sie tun müssen:

  1. In verschiedenen .strings Datei für jede Sprache
  2. Fügen Sie den Schlüsselwert für jede Sprachdatei
  3. Verwendung:

NSLocalizedString(yourKey, nil);

oder

[[NSBundle mainBundle] localizedStringForKey:(yourKey) value:@"" table:nil] 

Für die lokalisierte Zeichenfolge übergeben Schlüssel bekommen.

Tutorials:

  1. Localization in iOS apps made simple
  2. iPhone Apps Localization Guide
  3. Preparing your iOS app for localization in Xcode
+0

haben mich den ganzen Tag genommen, aber ich habe es geschafft, danke, –

2

machen es ziemlich

Für Swift gibt bessere Lösung ist, Das macht deine Lokalisierung s wenig besser - nicht so unordentlich. Sie können folgende Erweiterung verwenden:

extension String { 

    var localized: String { 
     return NSLocalizedString(self, tableName: nil, bundle: NSBundle.mainBundle(), value: "", comment: "") 
    } 


    func localizedWithComment(comment:String) -> String { 
     return NSLocalizedString(self, tableName: nil, bundle: NSBundle.mainBundle(), value: "", comment: comment) 
    } 
} 

Nun, wenn Sie etwas lokalisierte wollen, können Sie verlangen, es nur als String-Eigenschaft:

let text = "my-localization-key".localized 

Und es wird Lokalisierungs Zeichenfolge basierend auf der aktuellen Systemsprache erhalten/Gebietsschema.

Einige Tipps

Wenn Sie größere Projekt haben, lohnt es sich, in Manager suchen, die die Lokalisierung Export/Hinzufügen neuer Sprachen für Sie. Ich benutze zum Beispiel Crowdin - aber Sie könnten einige Dienste ansprechender finden. Großartig ist, dass Sie nicht alles von Hand erledigen müssen, Sie fügen nur Schlüssel/Übersetzungen ein und exportieren wird für Sie erledigt, für alle Sprachen, die Sie haben.

Folgen Sie auch der guten Benennung Ihrer Schlüssel. Nach dem, was ich habe Leute gesehen tun/meine Erfahrung, ich denke, es zu Namenstasten durch logische Komponente/Modul weise ist, wo sie hingehören, zum Beispiel:

"Profile.NavigationBar.Title" = "Profile"; 
"Profile.NavigationBar.Button.Edit" = "Edit; 

Auf diese Weise können Sie sofort sehen, was und wo du es finden würdest.

Schließlich sind die Lokalisierungen im Allgemeinen große Schmerzen wegen der Anzahl der Fehler, die Sie tun können. Es gibt einen Generator, der tatsächlichen Code aus Ihren Lokalisierungen erzeugen kann, so dass der Compiler das für Sie überprüft. You can get it on GitHub.

Viel Glück!