This callback is responsible for choosing the app's locale when the app is started, and when the user changes the device's locale.
When a localeListResolutionCallback is provided, Flutter will first attempt to resolve the locale with the provided localeListResolutionCallback. If the callback or result is null, it will fallback to trying the localeResolutionCallback. If both localeResolutionCallback and localeListResolutionCallback are left null or fail to resolve (return null), basic fallback algorithm will be used.
The priority of each available fallback is:
- localeListResolutionCallback is attempted.
- localeResolutionCallback is attempted.
- Flutter's basic resolution algorithm, as described in supportedLocales, is attempted last.
Properly localized projects should provide a more advanced algorithm than the basic method from supportedLocales, as it does not implement a complete algorithm (such as the one defined in Unicode TR35) and is optimized for speed at the detriment of some uncommon edge-cases.
This callback considers the entire list of preferred locales.
This algorithm should be able to handle a null or empty list of preferred locales, which indicates Flutter has not yet received locale information from the platform.
final LocaleListResolutionCallback? localeListResolutionCallback;