 }
 
 public extension LocalizedStringDescribing {
+
+    var tableName: String? {
+        return nil
+    }
+
+    var bundle: Bundle {
+        return .main
+    }
+
+    var value: String {
+        return ""
+    }
 
     var comment: String {
         return ""

    /// - 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)
        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 table name of the localized string.
    public let tableName: String?

    /// The `Bundle` that represents the bundle of the localized string.
    public let bundle: Bundle

    /// The `String` that represents the value of the localized string.
    public let value: 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, tableName: String? = nil, bundle: Bundle = .main, value: String = "", comment: String = "", arguments: [Any]? = nil) {
        self.key = key
        self.tableName = tableName
        self.bundle = bundle
        self.value = value
        self.comment = comment
        self.arguments = arguments
    }
