2012年05月05日
iPhoneアプリのローカライズ @ iOS
iPhoneアプリのローカライズは面倒だから、やらないと決めたのだが、Interface Builder互換のアプリは無いものかと探していた時に、便利そうなスクリプトを発見した。
使い方の動画がYoutubeにもあるのだが、使い方を書いておきます。
まずは下記の場所からlocalize.pyをダウンロードしてきます。ダウンロードは、下記のページの右あたりにあるShow detailから詳細を表示して、File infoの所の、View raw fileリンクから生データを表示するか、そのままダウンロードしてください。ダウンロード先は、どこでも良いのですが、説明上、TestForLocalizeというプロジェクトを作ってそのフォルダーの中に入れる事にします。TestForLocalize.xcodeprojと同じ階層の場所です。
localize.py - edim-mobile - Mobile Development - Google Project Hosting
>>関連リンク
ここからは、XcodeでTestForLocalizeプロジェクトを開いた前提で書きます。
Youtubeにあるビデオでは、いきなりビルド時のスクリプトを設定していますが、その前にローカライズの対象となるストーリーボードのローカライズ設定を行う必要があるので、先にMainStoryboard.storyboardのローカライズ設定を行います。Xcodeのウインドウのユーティリティーのビューを表示し、ファイルインスペクター(ユーティリティービューの上にアイコンが6個並んでいる所の一番左)を選択して、Localizationで、ここでは、取りあえず Japanese を追加します。元々Engilishが入っているので、これで英語版と日本語版を用意する形になりました。
次に、ターゲットの設定を行います。ビルドフェース(Build Phases)を開きスクリプトを記述します。右下のAdd Build PhaseでAdd Run Scriptを選択して、以下のスクリプトを追加します。
python localize.py --mainIdiom=en --mainStoryboard=TestForLocalize/en.lproj/MainStoryboard.storyboard ja
このスクリプトではメインのストーリーボードを英語版として、それに日本語版(ja)をどうきさせる指定になっています。さらに複数の言語に対応する場合は、jaの後ろに追加すれば対応出来ます。もちろん、上記に書いた様に、事前にXcode上でもMainStoryboard.storyboardのLocalizationで追加する必要があります。
これで下準備は終了です。あとは適当にMainStoryboard.storyboardにラベルなりボタンなり追加してデザインします。その後、一度ビルドすると、ja.lprojフォルダーの中にMainStoryboard.stringsが出来ていますので、その中の文字列を編集して、さらにビルドすると、ja.lproj/MainStoryboard.storyboard が更新されます。あとは、日本語版のストーリーボードをXcode上でラベルの位置を変えるなどしても大丈夫のようです。
さらに、元々の英語版の方でラベルを追加するなどしても、再びビルドすれば、ja.lproj/MainStoryboard.stringsに追加分の項目が増えるので、そこを編集し、ビルドする事でja.lproj/MainStoryboard.storyboard が更新されます。
まだ使い始めたばかりなので、何処までうまく同期がとれるのかよく分かってませんが、挙動を理解して使えばかなり便利そうな感じです。
使い方の紹介ビデオはYouTubeにありますので、文章だけだと分かり難いでしょうから、見てみると良いと思います。ちなみにビデオの文字がかなり小さいので、フルスクリーン表示にしてもた方が良いです。
Automatic localization in iOS storyboards - YouTube
>>関連リンク
関連日記
- 2009年04月20日 Quartz ComposerでARToolKit (9356)@ Mac
- 2006年10月25日 EZ-USB (7425)@ 電子工作
- 2013年12月08日 iBeaconを試す(3) Core BluetoothとMavericks (6657)@ Mac
- 2007年12月22日 鏡面反射 (6352)@ Flash
- 2012年12月20日 Vuforia 2.0 (6098)@ iOS
- 2012年11月15日 Unity 4でVuforia (6019)@ iOS
- 2007年10月05日 Fireworks CS3でMXML その1 (5877)@ Flash
- 2007年08月07日 Papervision3DでMaterialsListやBitmapFileMaterial (5443)@ Flash
- 2008年01月10日 Flex BuilderでActionScriptプロジェクト (5204)@ Flash
- 2007年10月05日 OpenCV (5197)@ Mac
- 2008年02月02日 FlexSpy (5101)@ Flash
- 2009年01月28日 Xcodeのオーガナイザでキャプチャ (5049)@ iPod touch
- 2007年07月29日 Xcode + Flex SDK (4955)@ Flash
- 2006年10月09日 HIDに関連した資料とかサンプル (4901)@ Mac
- 2007年07月18日 初めてのFlex SDK (4596)@ Flash
- 2008年06月29日 AVR MacPack (4535)@ Mac
- 2007年07月31日 Xcode用ActionScript 3.0テンプレート (4307)@ Flash
- 2007年09月25日 10.4でのHID Utilities Source (4282)@ Mac
- 2009年06月17日 Arduino Xcodeテンプレート (4157)@ 電子工作
- 2011年06月04日 Xcode 4でOpenCV、再び (4065)@ Mac
- 2011年06月29日 FlashからHTML5へのコンバータ「Swiffy」 (4065)@ Flash
- 2011年05月19日 Doxygenを使ってみた (4052)@ Mac
- 2010年02月21日 大鳥居なAR (3999)@ Flash
- 2012年05月21日 Shade Plugin SDKがXcode 4に対応していた (3899)@ Shade
- 2011年03月13日 Shade 12 ファーストインプレッション (3875)@ Shade
- 2006年10月21日 CoreMIDI.framework (3780)@ Mac
- 2010年03月14日 Titanium (3775)@ iPod touch
- 2014年08月09日 iOS7でGKVoiceChatServiceとGKSession (3755)@ iOS
- 2007年09月22日 明日の勉強会はQuartz Composer (3690)@ Mac
- 2008年01月03日 Flex Compiler Shell(fcsh) (3646)@ Flash
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。