Is there a way to force Flutter to redraw all widgets (e.g. after locale change)?
If you are creating a multi lang app I'd suggest you be using Localization Library to handle that. Even using conventions used by other applications.
flutter_i18n - It also has a method to regenerate over runtime - documented at the bottom
await FlutterI18n.refresh(buildContext, languageCode, {countryCode});
What it does is generating widgets with state that is managed by a combined singelton resource that handles both dynamic data and visibility.