iOS學習之iOS程式名稱及內容國際化(本地化)

來源:互聯網
上載者:User

1、iOS程式名稱國際化

1.1 建立一個Single View app模版項目,命名為Localization。

1.2 建立後,可以看到工作目錄結構檔案如下,單擊InfoPlist.strings,查看右邊的屬性,在Localization欄添加語言。

   

1.3 添加完成後開啟對應語言檔案,比如English的添加

CFBundleDisplayName="China";

Chinese檔案添加

CFBundleDisplayName="中國";

運行,如果此時你的模擬器是中文,你會看到你的程式名稱變成了 中國:

來到設定裡把語言設定成 English。此時程式名稱變成了:China

這時,程式名稱的國際化完成了。那裡面內容呢?

2、內容國際化

2.1建立Localization.strings檔案

      

2.2 添加語言和1.1環節一樣。

2.3 添加語言內容

添加"Key"="value"; 然後使用時用NSLocalizedString(@"key", @""); 讀取內容.

Localization.strings English檔案添加 

"key" = "english value";

Localization.strings English檔案添加 

"key" = "中文內容";

在ViewController.m 中添加UILabel實驗一下

- (void)viewDidLoad{    [super viewDidLoad];    UILabel *label = [[UILabel alloc] init];    label.frame = CGRectMake(20, 40, 250, 60);    label.text = NSLocalizedString(@"key", @"");    [self.view addSubview:label];}

運行

設定項裡切換英文

3、如何在啟動並執行時候判斷現在運行環境是哪個語言?

3.1 獲得所支援的語言

NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ];    // 取得 iPhone 支援的所有語言設定    NSArray *languages = [defaults objectForKey : @"AppleLanguages" ];    NSLog ( @"%@" , languages);

運行,列印結果:

(

    en,

    "zh-Hant",

    "zh-Hans",

    fr,

    de,

    ja,

    nl,

    it,

    es,

    pt,

    "pt-PT",

    da,

    fi,

    nb,

    sv,

    ko,

    ru,

    pl,

    tr,

    uk,

    ar,

    hr,

    cs,

    el,

    he,

    ro,

    sk,

    th,

    id,

    "en-GB",

    ca,

    hu,

    vi

)

    "zh-Hant"   繁體中文

    "zh-Hans", 簡體中文

這段代碼擷取當前系統支援的語言。  

3.2 擷取當前使用語言

    NSArray *languages = [NSLocale preferredLanguages];    NSString *currentLanguage = [languages objectAtIndex:0];    NSLog ( @"%@" , currentLanguage);

列印結果:

en

用擷取到的當前語言,和支援的語言做字串對比,就可以知道是那種語言了。

    if([currentLanguage isEqualToString:@"en"])    {        NSLog(@"current Language:en");    } 

  

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.