     /// - Parameter describing: An item that conforms to `LocalizedStringDescribing`.
     /// - Returns: A represented localized string.
     static func of(_ describing: LocalizedStringDescribing) -> String {
-        let localizedString = NSLocalizedString(describing.key, comment: describing.comment)
+        let localizedString = NSLocalizedString(describing.key, tableName: describing.tableName, bundle: describing.bundle, value: describing.value, comment: describing.comment)
         guard let arguments = describing.arguments as? [CVarArg] else {
             return localizedString
         }

    /// The `String` that represents the key of the localized string.
    public let key: String

    /// The `String` that represents the comment of the localized string.
    public let comment: String

    /// The array of `Any` that represents the arguments of the localized string.
    public let arguments: [Any]?

    public init(key: String, comment: String = "", arguments: [Any]? = nil) {
        self.key = key
        self.comment = comment
        self.arguments = arguments
    }

}

public extension LocalizedStringDescribing {

    var tableName: String? {
        return nil
    }

    var bundle: Bundle {
        return .main
    }

    var value: String {
        return ""
    }

    var comment: String {
        return ""
