iOS - 本地化

iOS - 本地化

準備

項目添加本地化:Project - Info - Localizations - 添加需要的支持
English:默認英文
Chinese(Simplified):簡體中文
Chinese(Traditional):繁體中文

app icon 圖標文字本地化

即提供不同的展示名字;

  • 1 添加Resource - Strings File - 注意命名!
    InfoPlist.strings
  • 2 修改InfoPlist.strings文件的 Localization屬性:添加需要的支持
  • 3 然后InfoPlist.strings文件的下面會對應包含需要支持的本地化文件:在每個文件里分別添加
CFBundleDisplayName = "英文";
CFBundleDisplayName = "簡體中文";
CFBundleDisplayName = "繁體中文";
注:其實更宏定義很像,就是文本替換;
  • 4 聽說需要在 info.plist 中 需要Application has localized display name = YES;(實測好像可以不添加)

字符串本地化

  • 1 添加Resource - Strings File - 注意命名!
    Localizable.strings
  • 2 修改Localizable.strings文件的 Localization屬性:添加需要的支持
  • 3 然后Localizable.strings文件的下面會對應包含需要支持的本地化文件:在每個文件里分別添加
"OK"="OK";
"OK"="確定";
"OK"="確定";
注:前面的OK,就是開發過程中使用的"OK"字符串,系統會自動識別本地化,替換相應的字符;
使用:NSLocalizedString(@"Cancel", nil);// 會相應替換字符串,圖片名稱也是一樣可用;
  • 4 部分修改:
    NSLocalizedString(@"OK", @"假的");// 這里的走你,相當于標記,與InfoPlist.strings中對應的注釋。舉例:
/*!
 *  假的
 */
"OK"="不 OK";

注:沒有使用標記的 NSLocalizedString 還是會使用原來的字符,只有對應標記的才替換;

storyboard 的本地化

類似Localizable.strings文件,添加Localization的支持,會出現多個storyboard!如果要畫多個sb,我還不如純代碼!為了 偷懶的話,直接在源文件使用字符串本地化,sb就搞一個好了,字符串替換實現簡單的本地化;要是界面都要本地化,真是崩潰啊;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、介紹 國際化(Internationalization)是指應用程序在運行的時候,可以根據客戶端請求來自的國家...
    JSOfJackChen閱讀 4,058評論 0 5
  • 小Demo鏈接 http://blog.csdn.net/u010828718/article/details/5...
    FredYJH閱讀 462評論 0 0
  • 目的 :應用國際化,提供多種語言支持 目錄結構:支持特定語言文件,放在特定的目錄下。目錄命名"<本地代號>.lpr...
    天涯笑笑生閱讀 858評論 0 2
  • 簡介 項目中需要使用到本地化,通常情況下,本地化需要更換系統語言,然后重啟APP才能生效,但是我們需要在APP里面...
    kim_xx閱讀 1,646評論 1 3
  • 順豐上市,請去年在北京某小區被打的快遞員敲鐘。女朋友做的飯確實不好吃,但她覺得自己做的好吃。小米手機每周讓用戶提出...
    Sonyfeng閱讀 741評論 0 0