我想用苹果的Swift软件包管理器运送我的图书馆.然而,我的lib包含一个.用不同语言翻译的多个字符串Bundle 文件.

推荐答案

使用Swift 5.3,最终可以添加本地化资源?

包初始值设定项现在有一个defaultLocalization参数,可用于本地化资源.

public init(
    name: String,
    defaultLocalization: LocalizationTag = nil, // New defaultLocalization parameter.
    pkgConfig: String? = nil,
    providers: [SystemPackageProvider]? = nil,
    products: [Product] = [],
    dependencies: [Dependency] = [],
    targets: [Target] = [],
    swiftLanguageVersions: [Int]? = nil,
    cLanguageStandard: CLanguageStandard? = nil,
    cxxLanguageStandard: CXXLanguageStandard? = nil
)

假设你有一个Icon.png,你想为说英语和德语的人本地化.

图像应包含在Resources/en.lproj/Icon.png&;Resources/de.lproj/Icon.png

在您的软件包中引用它们之后:

let package = Package(
    name: "BestPackage",
    defaultLocalization: "en",
    targets: [
        .target(name: "BestTarget", resources: [
            .process("Resources/Icon.png"),
        ])
    ]
)

请注意LocalizationTagIETF Language Tag的包装.

学分和following proposals overview的输入,请查看更多细节.

Swift相关问答推荐

JSON如何解码空对象

SwiftUI:使视图B与视图A具有相同宽度的视图A更改比率?

查找数组中 ** 元素 ** 的属性的最小值和最大值

SwiftUI,如何更改具有多个按钮和一个布尔条件的一个按钮标签

为什么这段Swift读写锁代码会导致死锁?

如何制作一个在 SceneKit 中投射阴影的透明物体?

如何将视图添加到多行文本视图的末尾?

如何为 Swift UI 视图定义 struct ?

如何将回调传递给 View init

如何获取 NSRunningApplication 的参数?

Vapor, fluent 使用 PostgreSQL 保存/创建复杂模型

在 Swift 4 中实现自定义解码器

如何快速制作虚线?

Swift:如何从函数返回类类型

如何快速识别字符串中的大写和小写字符?

在 Swift 中指定 UITextField 的边框半径

swift 中的@property/@synthesize 类似功能

Objective-C 方法与可选需求方法 Swift 冲突

如何快速从另一个视图控制器重新加载表格视图

在这个例子中美元符号有什么作用?