Swift:本地化字符串数组

Gje*_*sen 2 localization swift swift3

我有一个包含 100 多个字符串的数组,其设置如下所示。有什么方法可以本地化数组中的所有字符串,或者这是设置它的更好方法吗?

var listOfThings = ["Cars", "Mopeds"]
Run Code Online (Sandbox Code Playgroud)

rma*_*ddy 6

我建议将字符串放入 plist 文件中。然后可以根据需要本地化 plist 文件。比将所有字符串放入代码中要好得多。

当您使用该类Bundle获取 plist 文件的路径时,它会自动为您提供该文件的适当本地化版本的路径。然后从 plist 文件加载数组(使用NSArray然后桥接到 Swift 数组)。

假设您已经创建了一个名为 的本地化 plist 文件Things.plist,您可以按如下方式加载它:

if let plistURL = Bundle.main.url(forResource: "Things", withExtension: "plist") {
    if let plistArray = NSArray(contentsOf: plistURL) as? [String] {
        listOfThings = plistArray
    }
}
Run Code Online (Sandbox Code Playgroud)