Predicting language preference before its known

I'm building an app for both Android and iOS. The app will be fully internationalized, with support for several languages right out of the box and more coming soon after.

When the user starts the app on their device, I will present a splash screen for a few seconds (while it loads/initializes) and then they will be redirected to a screen where they can login or click a link to register/sign up/create an account.

My thinking was: during account creation, we will prompt them for their preferred language, and will react immediately to it. So if they speak French they would have to make it to, say, the 2nd or 3rd screen in the account setup process before they could select "French" as their preferred language, but then we would immediately begin displaying the app to them in French.

However:

  • If they don't speak English they (very possibly) will struggle tremendously to even get to the screen where they can select their language
  • Every time they go to login to the app, since English would be the default they'd have to brave the login screen before the backend could associate their user with their language preference and switch locales/languages accordingly

So I ask: how does one present Sign In/Sign Up screens to users without knowing their preferred language?