Localizable.strings
プロジェクトのi18nのファイルがあり、libはを使用しますKYLocalizable.strings
。
Localizable.strings
から「サブクラス」を作ることを考えましたKYLocalizable.strings
が、私が知る限りではできません。代わりに、SDKのように関数マクロを定義したいと思います。
#define NSLocalizedString(key, comment) \
[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
#define NSLocalizedStringFromTable(key, tbl, comment) \
[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:(tbl)]
擬似コード:</ p>
#define CustomLocalizedString(key, comment) \
// if key exists in Localizable.strings
// use it
[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
// else
// search it in KYLocalizable.strings
[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:@"KYLocalizable"]
だから私はCustomLocalizedString(<key>, <comment>)
自分のプロジェクトで使うことができます。
しかし、キーがに存在するかどうかを確認するにはどうすればLocalizable.strings
よいですか?
前もって感謝します!!