[Xcode 实际操作]九、实用进阶-(27)字符串文件(Localizable.strings)的本地化
本文将演示字符串文件(Localizable.strings)的本地化。
在项目【DemoApp】文件夹下点击鼠标右键,弹出右键菜单
->【New File】新建文件命令,创建一个字符串文件。
->【Strings File】字符串文件->【Next】
->【Save As】:Localizable.strings。文件名是固定的【Localizable.strings】,请不要用别的名称。
->保持默认的存储位置,点击【Create】
点击【显示或隐藏检查器】图标,打开右侧的检查器面板。
点击【Localize】本地化按钮,对创建的字符串文件,添加本地化支持。
点击项目【DemoApp】名称,打开项目信息面板。
然后在项目列表中,点击项目名称【DemoApp】
【Build Setting】->【Localizations】本地化下方的【+】弹出语言列表,添加需要本地化的语言。
>选择【Chinese(Simplified)(zh-Hans)】简体中文
->由于只针对字符串文件的本地化,所以:
点击取消选择【LaunchScreen.storyboard】启动视图左侧的复选框,
点击取消选择【Main.storybooard】主故事板左侧的复选框,
->点击【Finish】完成按钮,添加简体中文本地化的支持。
在项目导航区,打开并查看本地化字符串文件【Localizable.strings】
"Company" = "strengthen"
等号前面为键名,后面为对应的键值。代码通过键名,获取对应的键值。
打开并修改中文版的字符串文件【Localizable.strings(Chinese(Simplified))】
使用同样的方式,添加简体中文的内容。
"Company" = "山青咏芝"
在项目导航区,打开视图控制器的代码文件【ViewController.swift】
现在开始编写代码,读取在本地化字符串文件中,设置的值。
1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8 9 //首先通过一个系统定义的宏,查找国际化资源文件中,键名所指向的值 10 let string = NSLocalizedString("Company", comment: "") 11 //然后创建一个位置在(40,80),尺寸为(240,40)的显示区域 12 let rect = CGRect(x: 40, y: 80, width: 240, height: 40) 13 //初始化一个标签对象,并设置显示区域 14 //该标签对象将用来显示,在字符串文件中,指定键名所对应的值 15 let label = UILabel(frame: rect) 16 //设置标签对象的文字内容 17 label.text = string 18 //设置标签对象的背景颜色为橙色 19 label.backgroundColor = UIColor.orange 20 21 //将标签对象添加到当前视图控制器的根视图 22 self.view.addSubview(label) 23 } 24 }
因为模拟器当前的语言环境为英文,所以标签对象仍然显示默认的文字内容。
依次点击:
【Product】->【Scheme】->【Edit Scheme】->在弹出的管理窗口中,点击【Options】选项设置标签。
->【Application Language】:选择【Chinese(Simplified)】,切换应用程序的语言环境。
->【Close】关闭管理窗口。