 	static func updateLanguage(code: String) {
 		enforceLanguage(code: code)
 
-		//	update all cached stuff in the app
-		DateFormatter.resetupCashed()
-		NumberFormatter.resetupCashed()
-
 		//	post notification so the app views can update themselves
-		NotificationCenter.default.post(name: NSLocale.currentLocaleDidChangeNotification, object: NSLocale.app)
+		NotificationCenter.default.post(name: NSLocale.currentLocaleDidChangeNotification, object: Locale.current)
 	}
 
 

	static func setupInitialLanguage() {
		let _ = AppLocale.shared

		//	if there is language chosen in-app, then restore that choice
		if let languageCode = UserDefaults.languageCode {
			enforceLanguage(code: languageCode)

			//	override NSLocale.current
			NSLocale.swizzle(selector: #selector(getter: NSLocale.current))
			return;
		}

		//	I can't imagine when NSLocale would not have an entry for languageCode, 
		//	but using fallback value just in case
		let code = NSLocale.app.languageCode ?? fallbackLanguageCode

		//	enforce throughout the app
		Locale.enforceLanguage(code: code)

		//	override NSLocale.current
		NSLocale.swizzle(selector: #selector(getter: NSLocale.current))

		//	post notification so the app views can update themselves
		NotificationCenter.default.post(name: NSLocale.currentLocaleDidChangeNotification, object: NSLocale.app)
	}
}


		//	load translated bundle for the chosen language
		Bundle.enforceLanguage(code)

		//	update all cached stuff in the app
		DateFormatter.resetupCashed()
		NumberFormatter.resetupCashed()
	}


