2012-04-02 7 views
2

英語以外の9言語を含む私のiPhoneアプリをローカライズする予定です。iPhone用のテキストによる画像のローカライズに最適な方法は何ですか?

私の懸念は、多くの.pngファイルがあり、そのファイルには網膜ディスプレイ用の@2x画像が含まれています。

現在、私のアプリは5.6Mbで、それ以外の9言語のそれぞれのファイルに.png@2xファイルを含めると、それよりも重くなるのではないかと恐れています。

あなたの経験から、それは本当ですか?私は、他の9言語にローカライズした後、より大きなサイズのアプリケーションで終わるでしょうか?

+0

テキストを画像として保存するのはなぜですか? – Novarg

+0

背景画像の一部と同じです。 – Winston

答えて

6

答えは、アプリの実装方法によって異なります。

画像にテキストが含まれている場合は、言語ごとにこれらの画像の新しいバージョン(通常と2倍の解像度の両方)を作成する必要があります。それは余分なスペースを取るだけでなく、画像へのPhotoshopping翻訳やファイルの大量の管理に時間を費やしているので、ローカリゼーションを非常に困難にします。

ローカライズ可能なアプリケーションでは、通常、画像にテキストが含まれず、代わりにローカライズ可能なリソースからテキストをバックグラウンド画像の上にプログラムでレンダリングします。画像やその他のUI要素にXiBとオーバーレイUILabelsを使用できます。これを行うと、言語を追加することによるサイズの影響を心配する必要がなくなり、ローカリゼーションが簡単になります。

+0

私は、これらの画像の大部分がBGであるため、各言語の背景の上にテキストを含む画像を重ね合わせることができると思います。アドバイスありがとうございます! – Winston

1

これは問題になるとは思わない。あなたの現在のアプリケーションの5MBがあなたのPNGファイルに専念していると仮定すると、それに9xを加えることは約50MBのサイズにするべきです。これは大きなアプリケーションではありません。

その他の考慮すべき点は、すべての画像をローカライズする必要はないため、50MBの見積もりもおそらく高いことです。

アプリケーションを作成する途中で、さらに大きなサイズになると思われる場合は、テキストを表示するための別の戦略を検討する必要があります。ローカライズされたロゴファイルとその他の「ファンシーな」イメージファイル。その他のテキスト実装は、テキストレイアウトと書式設定エンジンを使用して実装する必要があります。

イメージをテキスト形式にする必要がある場合は、アプリケーションの実行時に画像をレンダリングすることを検討してください。

他の実装方法(他の目的で使用しています)は、すべてのグラフィックスを生成し、テキストなしで保存することです。次に、テキスト用の別々の画像ファイルを生成し、これらの画像の背景を透明にします。

特定の言語イメージを読み込む必要がある場合は、まずグラフィックイメージを読み込んでからテキストイメージにオーバーレイします。

これは、最大のPNGファイルが、アプリケーションでインスタンスが1つだけ必要な色のものである必要があるため、アプリケーションの全体的なサイズを縮小します。テキストを別のイメージに抽象化することで、テキストイメージのサイズが大幅に縮小されます。

このメソッドの使用に関する警告メッセージです。画像上に非常に透明または不透明な画像を重ねると、画像上に高頻度で発生している場合は、iOSプロセッサ上でかなり集中的になります。一方の画像を別の画像の上に置くことは問題ではないはずですが、ディスプレイのさまざまな部分で多くの画像を重ね合わせると、アプリケーションを駄目にする可能性があります。しかし、テキストをローカライズするソリューションを探しているだけの場合は、これはむしろ実行可能であると思います。

+0

私は、これらの画像の大部分がBGであるため、各言語の背景の上にテキストを含む画像を重ね合わせることができると思います。アドバイスありがとうございます! – Winston

1

あなたの画像のほとんどはボタンに使用されると思いますか?イメージを使用してボタンを作成する代わりに、ボタンに伸縮可能な背景イメージを使用して、テキストを追加することを検討してください。 UIKitには、ボタン内のテキストの計算や配置に便利なメソッドが多数用意されています。

あなたが持っているすべてのボタンに画像を提供するのではなく、このようにすればメンテナンスが簡単です。また、将来的には50 MBを超えるサイズのアプリケーションを展開する余地があります。あなたが何とかあなたのアプリにすべてのものを収めて、50MB未満しかない場合、将来的にいくつかの機能を追加したり、多くのユーザーが特定の言語をリクエストしたりするのはどうでしょうか?

私の前提が間違っていると申し訳ありません。私の答えを修正できるように、私に知らせてください。

+0

私は、これらの画像の大部分がBGであるため、各言語の背景の上にテキストを含む画像を重ね合わせることができると思います。私は多くの異なるボタンを持っていませんが、主にBGです。アドバイスありがとうございます! – Winston

関連する問題