iOS|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 的本地化 【iOS|iOS - 本地化】类似Localizable.strings文件,添加Localization的支持,会出现多个storyboard!如果要画多个sb,我还不如纯代码!为了 偷懒的话,直接在源文件使用字符串本地化,sb就搞一个好了,字符串替换实现简单的本地化;要是界面都要本地化,真是崩溃啊;

    推荐阅读