2011-01-13 8 views
2

Hat jemand irgendwelche Empfehlungen mit Lokalisierung von Kerndaten? Meine Bewerbung wird Informationen enthalten, die manchmal in beiden Sprachen gleich sind, wie zum Beispiel das Foto einer Person oder anders als die Biografie der Person.Lokalisierung mit Kerndaten

Von was ich verstehe, ist es möglich, localize the field names, aber was ist die beste Vorgehensweise für Feldwerte?

Antwort

5

Wenn Sie Zeichenfolgenwerte lokalisieren möchten, sollten Sie eine Entität mit dem Namen LocalizableText mit den Attributen locale und lokalisierteText erstellen. Anstatt NSStrings für Ihre Attribute zu verwenden, haben Sie stattdessen eine Beziehung zu LocalizableText.

So würde Ihre Person-Entität eine Beziehung namens Biografie zu Entität LocalizableText haben. Es hätte auch eine schreibgeschützte Eigenschaft für localizedBiography, die anhand des aktuellen Gebietsschemas Ihres Benutzers prüfen würde, ob der entsprechende lokalisierte Text zurückgegeben wurde.

+0

Hey danke. Vielleicht ist das meine Unerfahrenheit, aber ich bin mir nicht sicher, warum Sie es so machen würden. Hast du einen Guide/Doc, der über diese Strategie spricht? Momentan überlege ich mir nur eine Biographie und eine Biographie in derselben Tabelle. Gibt es einen Grund warum ich nicht sollte? – WoodenKitty

+0

Nun, es hängt von Ihrer Verwendung ab. Wenn Sie wissen, dass Sie nie für eine andere Sprache lokalisieren werden, und die Wahrscheinlichkeit, dass Sie irgendwann in der Zukunft Übersetzungen für andere Felder benötigen, dann ist das Hinzufügen sprachspezifischer Felder in Ordnung. Wenn Sie jedoch eine generische Entität erstellen, die Sie für jedes übersetzte Feld und mit jeder Sprache verwenden können, erleichtert dies Ihnen das Leben, wenn Sie sich entscheiden, ein anderes Feld oder andere Sprachen zu lokalisieren. –

+0

Außerdem ist es einfacher, das lokalisierteText-Attribut für die Entität für das UI-Feld aufzurufen, als jede Feldzuordnung für jede Sprache auf Ihrer UI erneut ausführen zu müssen. Betrachten Sie es im Grunde als eine schickere Version eines NSString-Attributs. –