         return self.string(format: self.string(for: key, resource: resource), args)
     }
 
-    private func languageChanged() {
+    private func languageChanged(oldValue: String? = nil) {
         self.locale = nil
         self.resources = [:]
 

            guard self.language != oldValue else {
                return
            }
            self.languageChanged()
        }
    }


            self.log("L10n - List of supported languages does not contain \"\(self.language)\"")
        }

        if let oldValue = oldValue {
            NotificationCenter.default.post(name: .L10nLanguageChanged, object: self, userInfo: [
                "oldValue": oldValue,
                "newValue": self.language,
            ])
        }
    }

    private func resource(named resourceName: String?) -> L10nResource {
