日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS 本地化应用程序汇总 国际化

發布時間:2023/12/13 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS 本地化应用程序汇总 国际化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?最近要做一個應用要實現本地化,因為使用的是xcode4,應用程序本地化的問題跟以前的版本還是有些不同,在網上找了些資料對于xcode4以上的版本資料還是相對較少,有些最后要通過手動創建文件,這樣操作實在是太麻煩,所以經過一個下午的研究,總算是成功了一點點,還是慶幸一下。先給出結果。

英語:??????????????????????????????????????????????????????????????????? 中文:



??????????????

???????????????????????

具體實現如下:

靜態本地化?:?加載的文件,如xib文件,圖像文件,還有實現應用程序名本地化

動態本地化:?顯示的字符串本地化

?

一。先做準備:設置程序本地化

在xcode點擊程序圖標:點擊Info選項->Localizationn,點擊“+”,選擇要添加的語言,簡體中文選擇Chinese(zh-Hans)

你會在你工程目錄下發現多了個文件夾,“zh-Hans.lproj",x-code使用.lproj作為其本地化文件夾的擴展名。


?

二。設置xib文件本地化,?圖像本地化的方法是一樣道理的,可以根據用戶的顯示語言加載不同的xib文件

操作:點擊xib文件,在IB窗口中選擇選項選擇“File Inspecter",也就是第一個選項,選擇“Localization->"+"選擇添加的語言,

效果如下,原來的xib文件就會出現三角形,其下有兩個文件,因為我的為storyboard,但效果是一樣的。就可以實現將其本地化了,非常簡單吧

?


?

三。設置應用程序名本地化,

????? 設置應用程序名存儲在應用程序的Info.plist文件中,我們例子實際上為Localize-Info.plist,選擇文件,并不需要對文件進行本地化,而是使"Info.strings"本地化就可以了,在Localize.Info.plist,空白處右鍵,選擇Show Raw Keys/Values,就會看到應用程序名實際為CFBundleDisplayName,我們只需要在對應的 Info.plist中添加以下代碼就可以了

英文版:

C代碼 ?
  • CFBundleDisplayName?=?"Localization";??
  • ?中文版:

    C代碼 ?
  • CFBundleDisplayName?=?"本地化";??


  • ?效果圖:


    ?

    ?

    四、加載的字符串本地化,

    ????? 原理:在代碼中將加入的字符串加入NSLocalizeString宏中,啟動程序時,系統將根據語言加載相應的文件得到其對應的字符串文件,這個字符串可以通過系統將NSLocalizedString中的宏生成名為“Localizable.strings”的文件,當然你可以自己去創建這個文件,然后手動是添加對應的字符串。,

    C代碼 ?
  • labelName.text?=?NSLocalizedString(@"Name",?@"The?name?is?");??
  • labelPassword.text??=?NSLocalizedString(@"Password:",@"The?password?is");??
  • ?NSlocalizeString 第一個參數是內容,第二個參數將會轉化為字符串文件里的注釋。

    轉化方法如下 :先關閉項目,打開終端,進入到項目的目錄,輸入genStrings 文件名.m就可以將該文件中的宏轉化為相應的字符串文件,


    效果如下:會看到生成"Localizable.strings",

    打開文件,就可以交給翻譯人員去翻譯了


    ?

    ?

    ?

    ?

    ===================

    1、本地化字符串,網上那些方法我就不說了,我只更正一點:如果你的Classes下面有子文件夾會報錯,使用下面的命令:

    find . -name \*.m | xargs genstrings -o /Users/apple/(你目標的文件夾)

    2、本地化軟件的名字:

    (1)在info.plist文件里做如下設置:

    ?(2)創建一個InfoPlist.strings文件,里面寫如下內容:

    "CFBundleDisplayName"="你軟件的名稱";

    "CFBundleName"="你軟件的名稱";

    (3)本地化這個文件即可。

    3、本地化資源,不必細說了,網上資料很多,這里我只說下我的疑惑:圖片資源貌似只能用zh-Hans。

    4、本地化icon,目前不支持,所以不要費勁的去本地化icon了。

    5、商店的本地化,也不必細說了,很簡單,按照蘋果需要的填就可以了。

    ====================

    ?

    ?

    ?

    應用genstrings和NSLocalizedString實現App文本的本地化


    Admin
    2012年3月20日

    App本地化的須要不消講大師也都熟悉打聽,本文將介紹一種簡單的辦法來實現字符串的本地化。

    ?

    在不推敲本地化的景象下,我們若是在代碼中給一個Button定義title,一般會如許寫:

    ?


    btn.titleLable.text = @"Example Button";

    ?

    ?

    ?

    也許我們已經寫了很長的代碼才推敲到本地化的題目,大可不必頭疼,這時辰,我們要做的是把代碼從頭掃一遍,然后把每個會顯示給用戶看的字符串做如下批改:
    (對于內部應用的字符串就用不著本地化了)

    ?


    btn.titleLable.text = NSLocalizedString(@"btn_title", nil);

    ?

    NSLocalizedString是一個定義在NSBundle.h中的宏,其用處是尋找當前體系說話對應的Localizable.strings文件中的某個key的值。
    第一個參數是key的名字,第二個參數是對這個“鍵值對”的注釋,在用genstrings對象生成Localizable.strings文件時會主動加上去。

    ?

    ?

    ?

    到今朝為止,我們還沒有生成Localizable.strings文件。這是一個逆向的過程,也就是先寫好調用過程,再生成strings資料文件。

    ?

    當我們把所有的.m文件都修發好了,就該genstrings對象出場了。
      1.?啟動終端,進入工程地點目次。
      2. 新建兩個目次,推薦放在資料目次下。
       ?目次名會感化到Localizable.strings文件對應的說話,不克不及寫錯了。這里zh-Hans指簡體中文,重視不克不及用zh.lproj默示。

    ?


    mkdir zh-Hans.lproj
    mkdir en.lproj

    ?

      3. 生成Localizable.strings文件

    ?


    genstrings -o zh-Hans.lproj *.m
    genstrings -o en.lproj *.m

    ?

      -o <文件夾>,指定生成的Localizable.strings文件放置的目次。
      *.m,掃描所有的.m文件。這里支撐的文件還包含.h, .java等。

    ?

      4. 右鍵點擊工程的Resources目次,選擇“New Group”,添加兩個目次zh-Hans.lproj和en.lproj。
      5. 在新建的group中添加方才生成的Localizable.strings文件。
      6. 最后在Localizable.strings文件中,批改每個key所對應的內容,就大功成功了。

    ?

    ?

    ?

    說了一大堆,其實操縱起來還是很簡單的,總的來講就是兩條:
      1. 在代碼里用NSLocalizedString獲取要本地化的字符串
      2. 用genstrings掃描代碼文件,生成Localizable.strings,然后加到工程中。?

    ?

    最后祝大師的產品早日走向世界。

    轉載于:https://www.cnblogs.com/rywx/archive/2013/01/22/2872308.html

    總結

    以上是生活随笔為你收集整理的iOS 本地化应用程序汇总 国际化的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。