为有牺牲多壮志,敢教日月换新天。

[Xcode 实际操作]九、实用进阶-(27)字符串文件(Localizable.strings)的本地化

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

目录:[Swift]Xcode实际操作

本文将演示字符串文件(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】关闭管理窗口。

posted @ 2018-12-11 21:50  为敢技术  阅读(411)  评论(0编辑  收藏  举报