2011-01-13 5 views
2

コアデータのローカライズに関する推奨事項はありますか?私のアプリケーションには、人物の写真のような両方のランゲージで同じ情報や人物の伝記などの情報があることがあります。コアデータによるローカライゼーション

わかったところでは、localize the field namesになる可能性がありますが、フィールド値にはどのようなアクションが最も適していますか?

答えて

5

文字列値をローカライズする場合は、localeおよびlocalizedText属性を持つLocalizableTextのような名前のエンティティを作成する必要があります。あなたの属性にNSStringsを使うのではなく、代わりにLocalizableTextとの関係があります。

あなたのPersonエンティティには、エンティティLocalizableTextへのbiographyという名前の関係があります。また、localizedBiographyの読み込み専用プロパティもあります。これは、ユーザーの現在のロケールに基づいて返す適切なlocalizedTextをチェックします。

+0

ありがとうございました。おそらくこれは私の経験不足ですが、なぜあなたはそれをやり遂げるのか分かりません。その戦略について話しているガイド/ドクターがいますか?今、私は同じ表にbiography_englishとbiography_frenchがあると考えています。私がすべき理由はありますか? – WoodenKitty

+0

さて、あなたの使い方によって異なります。別の言語でローカライズすることができないことがわかっている場合、将来的に他のフィールドの翻訳が必要になる可能性がある場合は、言語固有のフィールドを追加することもできます。ただし、翻訳されたフィールドや言語に使用できる汎用エンティティを作成すると、他のフィールドや他の言語のローカライズを決定したときの作業が楽になります。 –

+0

また、UIフィールドのエンティティでlocalizedText属性を呼び出す方が、各言語のUIで各フィールドマッピングを再実行する必要があります。基本的には、それをNSString属性のより美しいバージョンと考えてください。 –

関連する問題