其它相关内容请见虚拟现实(VR)/增强现实(AR)&visionOS开发学习笔记
苹果的产品遍布一百多个国家,使用几十种语言和方言发行应用,但通常我们只能创建一个版本的应用,所以就需要对不同市场进行适配。这不仅仅是翻译,还有用户界面中元素的排列、数字的格式等等。这一客制化的过程称为本地化。在SwiftUI中,大多数本地化会自动完成。例如,SwiftUI视图的内容采用靠前(leading)和靠后(trailing)约束来根据文字顺序(从左到右或从右到左读)的不同来表示左和右,日期和充其量单位等值会自动根据所在地进行格式化(参见示例4-32)。但文本还是需要我们来翻译。为此Xcode提供了字符串名录(String Catalogs)。
String Catalogs
字符串名录是由Xcode所提供了一个工具,借助它我们可以进行文本翻译、适配目标语言。系统会跟踪代码中的本地化文本,创建一个文件供我们编辑和发送给专业的翻译人员。该文件的创建方式和其它文件一样通过File菜单,选项们于Resource版块下。
图20-1:字符串名录文件
文件可使用任意名称,添加后的效果如下:
图20-2:在项目中添加字符串名录
每次运行或构建程序时,系统会跟踪视图、更新该文件的内容。我们使用一个简单的视图来进行测试。
例20-1:测试字符串名录:
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Text("Hello World!")
.padding()
Spacer()
}
}
}
这一视图包含一个Text视图,文本为"Hello World!"
。在运行或构建应用时(Command + B),这段文字会进入字符串名录文件中,如下图所示。