みんなが知っていて大好きな「写真を撮る/図書館から選ぶ」を実践するクラスがあります。ここにありますhttps://github.com/fulldecent/FDTakeこれはgitサブモジュールを介して他のプロジェクトに含まれており、正常に動作します。
次に、そのクラスのテキストを中国語に翻訳して、「拍照/選択照片」などにする必要があります。誰もがそれらを使用できるようにそこに翻訳を入れる良い方法はありますか?
みんなが知っていて大好きな「写真を撮る/図書館から選ぶ」を実践するクラスがあります。ここにありますhttps://github.com/fulldecent/FDTakeこれはgitサブモジュールを介して他のプロジェクトに含まれており、正常に動作します。
次に、そのクラスのテキストを中国語に翻訳して、「拍照/選択照片」などにする必要があります。誰もがそれらを使用できるようにそこに翻訳を入れる良い方法はありますか?
バンドル(Olafが示唆しているように)はうまくいくと思いますが、ローカライズ可能な文字列リソースが同じソリューションの別のプロジェクトに干渉しないようにするためのオーバーヘッドが少ない別の方法(別のローカライズされたコンポーネントでコンポーネントを再利用する人々に奇妙な問題を引き起こします)プロジェクト)は、localizable.strings
ファイル名を一意のファイル名に変更することです。これは、使用した場所でそのバリアント(AppleのドキュメントNSLocalizedString
)を使用する必要があることを意味します。ここで、tableNameは文字列ファイルと同じ名前です(.strings拡張子はありません)。独自のマクロを定義して、たとえば、をそのまま置き換えることができます。NSLocalizedStringFromTable
NSLocalizedString
FDTakeLocalizedString
ファイル名の衝突は、ファイルよりもXIBファイルまたはストーリーボードで発生する可能性がはるかに低くなりlocalizable.strings
ます。ただし、どちらの場合も、接頭辞付きの命名規則(FDTake.stringsやFDTake-Main.xibなど)を使用すると、リスクが排除され、役立つだけです。