Just My Life & My Work

Posts tagged ‘localization’

[iOS] App 預設語言 (App Default Language)

我App中有三個Localization,分別是:

  • 繁體中文
  • 簡體中文
  • 英文

使用者可以在這三個隨意切換,來顯示他想要的語言介面。

三年前已有實現過多國語言化的預設語言 (Default (Fallback) Language of Localization),不過那篇文章我是有寫code,這次只要調整專案中的Info.plist即可!

[iOS] App預設語言.PNG

調整過後,我切換到日語(SIM字眼旁是日文),App介面語言是英文喔~

(繼續閱讀…)

[iOS] 支援多語系 App 名稱

正在開發跨國使用的iOS App,所以App名稱最好也能跟著變更,來讓當地使用者看到App名稱更輕易地辨識。

[iOS] 支援多語系 App 名稱1

可以見到我的Info.plist檔中有五處是中文字,想要多國語言化可以怎麼做?其實也跟幾年前我寫的多國語言化很類似,參考文章:多國語系 (Localization)

(繼續閱讀…)

[iOS] 多國語言化的預設語言 (Default (Fallback) Language of Localization)

繁體中文(因為是母語喲!)為主來做多國語言化,另外兩個語言是簡體中文英文,跟著多國語系 (Localization)這篇文章做,照理說已經沒有其它問題,但是呢⋯⋯若哪天日本人想用這個App,那麼他會看到哪個語言?實際跑過發現是偉大的繁體中文,然而我們的期望卻是套用英文,這時候該怎麼辦呢?打掉重練?噢~不。

Default (Fallback) Language of Localization

(繼續閱讀…)

[iOS] 偏好語言 (Prefer Language)

一個能夠跨國際使用的App,需要多國語言化(Localization),之前介紹的是系統運行時自動轉換字串的語言,然而我們想要知道目前使用者的偏好語言 (Prefer Language),來做更進一步的運用,比如將語言碼當作參數傳遞。

/**
 Theme: Language
 IDE: Xcode 6
 Language: Objective C
 Date: 103/10/14
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
    // 記錄語言碼
    NSString *languageStr = [[NSLocale preferredLanguages] objectAtIndex:0];
//    NSString *languageStr = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0];

    if ([languageStr isEqualToString:@"zh-Hant"]) {// 繁中
        self.languageCode = @"2";
    }
    if ([languageStr isEqualToString:@"zh-Hans"]) {// 簡中
        self.languageCode = @"1";
    }
    if ([languageStr isEqualToString:@"en"]) {// 英語
        self.languageCode = @"0";
    }

有兩種用法可行,注意事項請看文件說明!

使用說明

+ (NSArray *)preferredLanguages NS_AVAILABLE(10_5, 2_0);
note that this list does not indicate what language the app is actually running in; the [NSBundle mainBundle] object determines that at launch and knows that information

@property (readonly, copy) NSArray *preferredLocalizations;
a subset of this bundle’s localizations, re-ordered into the preferred order for this process’s current execution environment; the main bundle’s preferred localizations indicate the language (of text) the user is most likely seeing in the UI

參考:Getting current device language in iOS?

[iOS] 顯示名稱多國語言化 (Bundle Display Name Localization)

跟程式裡的字串做多國語言化(Localization)不一樣,要讓App顯示名稱多國語言化 (Bundle Display Name Localization)必須經由別的做法,可以找尋檔案列表中InfoPlist.strings,在IDE右側界面「Localization」打勾所需的語系,即會出現我們想要的語系檔案如下。

Bundle Display Name Localization

我這裡使用三個語系。

分別在三個檔案內加入各語系想顯示的名稱即可!就是以Key-Value的方式設定。

/* Localized versions English of Info.plist keys */
"CFBundleDisplayName" = "HappyMan";

/* Localized versions Chinese Simplified of Info.plist keys */
"CFBundleDisplayName" = "逍遥文";

/* Localized versions Chinese Tradition of Info.plist keys */
"CFBundleDisplayName" = "逍遙文";

參考:How to localize bundle display name in iPhone app?

[iOS] 多國語系 (Localization)

應該要翻成本地化(Localization)才是,不過我想會查詢的人多會以支援多國語系(Localization)為關鍵字,如此也才讓人好理解英文字Localization所要代表的意義。

localization

(繼續閱讀…)

標籤雲

%d 位部落客按了讚: