             self.log("L10n - List of supported languages does not contain \"\(self.language)\"")
         }
 
-        NotificationCenter.default.post(name: .L10nLanguageChanged, object: self)
+        if let oldValue = oldValue {
+            NotificationCenter.default.post(name: .L10nLanguageChanged, object: self, userInfo: [
+                "oldValue": oldValue,
+                "newValue": self.language,
+            ])
+        }
     }
 
     private func resource(named resourceName: String?) -> L10nResource {

        return self.string(format: self.string(for: key, resource: resource), args)
    }

    private func languageChanged() {
        self.locale = nil
        self.resources = [:]


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

