// // String+LocalizeBundle.swift // Localize_Swift // // Created by Vitalii Budnik on 10/7/16. // Copyright © 2016 Roy Marmelstein. All rights reserved. // import Foundation /// bundle friendly extension public extension String { /** Swift 2 friendly localization syntax, replaces NSLocalizedString. - parameter bundle: The receiver’s bundle to search. If bundle is `nil`, the method attempts to use main bundle. - returns: The localized string. */ func localized(in bundle: Bundle?) -> String { return localized(using: nil, in: bundle) } /** Swift 2 friendly localization syntax with format arguments, replaces String(format:NSLocalizedString). - parameter arguments: arguments values for temlpate (substituted according to the user’s default locale). - parameter bundle: The receiver’s bundle to search. If bundle is `nil`, the method attempts to use main bundle. - returns: The formatted localized string with arguments. */ func localizedFormat(arguments: CVarArg..., in bundle: Bundle?) -> String { return String(format: localized(in: bundle), arguments: arguments) } /** Swift 2 friendly plural localization syntax with a format argument. - parameter argument: Argument to determine pluralisation. - parameter bundle: The receiver’s bundle to search. If bundle is `nil`, the method attempts to use main bundle. - returns: Pluralized localized string. */ func localizedPlural(argument: CVarArg, in bundle: Bundle?) -> String { return NSString.localizedStringWithFormat(localized(in: bundle) as NSString, argument) as String } }