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就搞一个好了,字符串替换实现简单的本地化;要是界面都要本地化,真是崩溃啊;

你可能感兴趣的:(iOS - 本地化)