簡體   English   中英

為iPhone本地化圖像的最佳方法是什么?

[英]What are the best approaches to localizing images with text for the iPhone?

我打算本地化我的iPhone應用程序,包括9種其他語言,除了英語。

我擔心的是我有很多帶有文本的.png文件,其各自的@2x圖像用於視網膜顯示。

現在我的應用程序有5.6Mb,而且我擔心它會比其他9種語言中包含.png@2x文件后的重量要大得多。

根據你的經驗,這是真的嗎? 在將其本地化為其他9種語言后,我最終會得到更大的應用程序嗎?

答案取決於您實施應用程序的方式。

如果您的圖像包含文本,則必須為每種語言創建這些圖像的新版本(正常和@ 2x分辨率)。 這不僅占用了額外的空間,而且還使本地化非常艱巨,因為您將花費數小時將Photoshop翻譯成圖像並管理大量文件。

可本地化的應用程序通常不在其圖像中包含文本,而是以編程方式在背景圖像上呈現文本(來自可本地化的資源)。 您可以使用XiBs和覆蓋UILabels在圖像或其他UI元素。 如果您這樣做,那么您將不必擔心添加語言對大小的影響,並且本地化將是輕而易舉的。

我懷疑這將是一個問題。 假設當前應用程序的5MB專用於您的PNG文件,那么向其添加9x應該使其大小為50MB。 這不是一個大型應用程序。

您可以考慮的其他因素是並非所有圖像都需要進行本地化,因此即使估計50MB也可能很高。

如果您正在編寫應用程序並認為它會增加到更大的大小,那么您可能需要考慮一種不同的策略來顯示您的文本。 只能本地化徽標文件和其他一些“奇特”的圖像文件。 所有其他文本實現都應該通過文本布局和格式化引擎來實現。

如果您絕對必須使用文本圖像格式,請考慮在應用程序執行時渲染圖像。

另一種實現方法(我用於其他目的)是生成所有圖形並在沒有文本的情況下存儲它們。 接下來,為您的文本生成單獨的圖像文件,使這些圖像的背景透明。

當您需要加載特定語言圖像時,首先加載圖形圖像,然后將其與文本圖像重疊。

這將減少應用程序的總體大小,因為最大的PNG文件應該是那些顏色最多的文件,您只需要在應用程序中使用一個實例。 通過將文本抽象為另一個圖像,您可以顯着縮小文本圖像的大小。

關於使用此方法的警告。 如果以高頻率發生,則在iOS處理器上分層高度透明或不透明的圖像,覆蓋圖像,覆蓋圖像可能會非常密集。 將一個圖像放在另一個圖像上應該不是問題,但是,在顯示器的各個部分中將多個圖像疊加在一起可能會使應用程序陷入困境。 但是,如果您只是在尋找本地化文本的解決方案,我認為這個問題相當可行。

我假設您的大部分圖像都將用於按鈕? 不要使用圖像創建按鈕,而是考慮為按鈕使用可伸縮的背景圖像,然后在其中添加文本。 UIKit提供了許多方法,可以方便地用於計算和定位按鈕內的文本。

如果你這樣做,它更容易維護,而不是為你擁有的每個按鈕提供圖像。 此外,它還為您提供了擴展應用程序的空間,而不會超過50MB的大小限制。 讓我們說你以某種方式設法適應你的應用程序中的所有東西,只有不到50MB,如果將來你添加更多功能或許多用戶請求某種語言怎么辦?

如果我的假設錯了,我很抱歉。 請告訴我,以便我可以修改我的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM