Implemented the "localisation(for:)" function of the Bundle+LocalisationBundle extension for the Core library.
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This source file is part of the SwiftLibs open source project
|
||||
//
|
||||
// Copyright (c) 2023 Röck+Cöde VoF. and the SwiftLibs project authors
|
||||
// Licensed under the EUPL 1.2 or later.
|
||||
//
|
||||
// See LICENSE.txt for license information
|
||||
// See CONTRIBUTORS.txt for the list of SwiftLibs project authors
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
import Foundation
|
||||
|
||||
public extension Bundle {
|
||||
|
||||
// MARK: Functions
|
||||
|
||||
func localisation(for languageCode: String) throws -> Bundle {
|
||||
guard
|
||||
let path = path(forResource: languageCode, ofType: .ResourceType.localisationBundle),
|
||||
let bundle = Bundle(path: path)
|
||||
else {
|
||||
throw BundleError.bundleNotFound
|
||||
}
|
||||
|
||||
return bundle
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// MARK: - String+Constants
|
||||
|
||||
private extension String {
|
||||
enum ResourceType {
|
||||
static let localisationBundle = "lproj"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user