2012-04-04 3 views
0

Ich entwickle iPad internationale Anwendung.
Ich verwende Methoden NSLocalizableString, um meine Anwendung zu übersetzen.
Ich habe das Stichwort manuell in meinem Localizable.strings in Englisch und in Französisch namens "Orders" mit Wert hinzugefügt.
Wenn ich meine Methode NSLocalizableString mit dem Schlüsselwort aufrufen, hat es mein Schlüsselwort nicht gefunden und wendet die Übersetzung nicht an.
Für Keyword oben und unten funktioniert es perfekt.NSLocalizableString nicht gefunden mein Schlüssel

Einige Code-Teile:

**Localizable.strings** 
    /* Change datas */ 
    "ChangeDatas" = "Modifier les données"; 
    /* Orders */ 
    "Orders" = "Détails de votre commande"; 
    /* Label */ 
    "SomeLabel" = "Label"; 
**file.m** 
    //Work fine 
    NSLog(@"My data translation : %@", NSLocalizedString(@"ChangeDatas", @"Change datas")); 
    //Don't work 
    NSLog(@"My orders translation : %@", NSLocalizedString(@"Orders", @"Orders")); 
+0

Haben Sie versucht, Ihre App zu säubern und neu zu erstellen? Deinstallieren Sie auch die alte Version, bevor Sie sie neu installieren. Mir ist aufgefallen, dass das iPhone die Lokalisierungsdaten tendenziell zwischenspeichert und eine Bereinigung/Neuinstallation erforderlich ist, um die Änderungen zu erkennen. – MrTJ

+0

Ich habe versucht, das zu tun, aber nicht erfolgreich. – alexmngn

+0

Alles sieht gut aus. Versuche zu kontrollieren, ob du seltsame Leerzeichen in deiner Zeichenkette hast oder ob deine Zeichen die richtige Kodierung haben. Entfernen Sie und fügen Sie eine weitere Zeichenfolge hinzu. – MrTJ

Antwort

0

Sind Sie sicher, dass Ihr Editor in der richtigen Codierung gearbeitet? Auch mit den richtigen Zeilenenden?

Es kann nicht schaden, Ihre .strings-Datei mit dem Befehl plutil zu überprüfen.

Sind Sie sicher, dass Sie die .strings-Datei für dieselbe Sprache/Gebietsschema, die Sie zur Laufzeit verwenden, bearbeitet haben?

+0

Die Kodierung ist UTF16 und die Zeilenendung ist LR (Unix). Ich habe versucht, den Befehl plutil zu verwenden, und es gibt OK zurück. Ich habe versucht, die 2 Dateien (EN & FR) zu bearbeiten und nichts ändern. – alexmngn

Verwandte Themen