应用名本地化
① 新建InfoPlist.strings
文件
②在File Inspector面板中 添加
③ 添加 english
和 base
两个版本
④ 添加一个键值对 CFBundleDisplayName="ProgramEnglishName"
; 在 base 版本中 添加 CFBundleDisplayName="程序中文名"
;
字符串本地化
类似 上面的过程 ① 创建 Localizable.strings
文件
② 添加 english
和 base
两个版本
③ 根据 需求 将 要 本地化的字符串 添加响应的键值对, 两个版本都要添加 "键名" = "值名"; 例如
base 版本:
"HomeViewController-DownloadButton-Title" = " 下载" ;
English 版本
"HomeViewController-DownloadButton-Title" = "Download" ;
复制代码
④ 在代码 中使用 的方法 就是 调用下面的宏 NSLocalizedString(<#key#>, <#comment#>)
, comment
一般为 nil ,也可以添加上注释 key
就是Localizable.strings
文件中你 指定的键名 注意: 好的键值应该满足两个条件:首先键值必须在每个具体的上下文中保持唯一性,其次如果我们没有翻译特定的那个上下文,那么它们不会被其他情况覆盖到而被翻译。见链接
例如
[self.downloadButton setTitle:NSLocalizedString(@"HomeViewController-DownloadButton-Title", nil) forState:UIControlStateNormal];
注意:如果你的strings
文件名字不是Localizable
而是自定义的话,如test.strings
,那么你就得使用 NSLocalizedStringFromTable(key, tbl, comment)
来读取本地化字符串:tbl
就是你的文件名 @"test"