2014/05/17

[ios]もうちょっと言語切替のことを考える

あれから、言語切替についてもう少し考えてみた。

そうだ、私はiPadだけじゃなくて、iPhoneにも対応しようとしてたんだ。
Universalで作っているので、Storyboardは2つある。
でも、ほとんど同じような画面になるので、文言なんかは共通にしたい。
でもでも、Storyboardが別なので、ObjectIDなんかも別になる。
そしたら、iPad用に一度stringsを作っても、それをそのままiPad用にする、というわけにはいかない。
むー。

そのとき、どこからか声がした。
「ObjectIDにあわせるのではない。ObjectIDをあわせるのだ」

はっ!!
私はStoryboardファイルをソースコードとして開き、idを書き換え、stringsを更新するスクリプトを実行した。
そうすると、ちゃんと反映されるではないか。

/* Class = "IBUILabel"; text = "クエリー"; ObjectID = "IPAD-SECTION1-QUERY"; */
"IPAD-SECTION1-QUERY.text" = "クエリー";

こんな感じだ。
これができるなら、ObjectIDをリソースID代わりに使って、プレフィクスとかでiPadとiPhoneを切り分けるようにすることができるんじゃなかろうか。


もちろん、最大の難関は、ObjectIDを書き換えることだ。
見ている限りでは、Storyboardとstringsで完結しているようなので、書き換えること自体は問題なさそうなんだけど、どうやって書き換えるかだ。
XcodeのStoryboardエディタからはできないので、自分でやらないとできない。
せめて、ObjectIDじゃなくて、Labelとかで管理できればいいのになぁ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。