iOS xibを分けない国際化

xibファイルのLocalize

xibファイルに指定したUILabelやUIButtonなどのタイトルの文字を日本語/英語表示したい場合、 xibファイル自体を分けるやり方もあるが、レイアウト等全く同じなのに文言のためだけに2ファイル作らないといけない。

プログラムで指定

またUILabelやUIButtonをコードと紐付けてプログラムで指定方法もあるがそれだけのためにヘッダーファイルやviewDidLoadに追記するのもめんどくさい

「User Defined Runtime Attributes」+ Category

xibエディター上では指定できないパラメータ等をキー値コーディングにて設定できる。
その指定したパラメータを基にCategoryで拡張したメソッドにてNSLocalizeStringを行う。
#import "UILabel+Localize.h"

@implementation UILabel (Localize)

- (void)setLocalizeKey:(NSString*)key
{
    self.text = NSLocalizedString(key, key);
}

@end

xibエディター


あとはLocalizable.stringsを準備すればOK

0 件のコメント:

コメントを投稿

.mitmproxyを使ってHTTPSの通信を確認

公式のドキュメント https://docs.mitmproxy.org/stable/ # install ## mac ``` $ brew install mitmproxy ``` ## iPhone ### 証明書 セキュアな通信を傍受するために、プロファイ...