         }
 
         self.tableName = tableName
-        weakHash.allObjects.flatMap { $0 as? Localizable}.forEach { $0.updateLocalizedStrings() }
+        self.bundle = bundle
+
+        languageChanged()
     }
 
     /// Method to get the right Localization for a Key that is included in the localized.strings.

    ///
    /// - Parameters:
    ///   - key: key
    ///   - bundle: bundle name
    ///   - value: value -> default ""
    ///   - comment: comment -> default ""
    /// - Returns: The localized string
    static func localizedStringFor(_ key: String, bundle: Bundle = Bundle.main, value: String = "", comment: String = "") -> String {
        let tableName = _localizationManager?.tableName
        return NSLocalizedString(key, tableName: tableName, bundle: bundle, value: value, comment: comment)
    }
    

    internal func add(localizable: Localizable) {

        /// return if the object already exists
        guard !weakHash.contains(localizable) else {
            return
        }

