Users are not able to change the language on the login page. When users try to select a language, the page refreshes and a default language is selected.
There is a user preference named user.language. If the value in the value field of this user preference has some language code for the guest users, then the users won't be able to change the language on login page as they are guest users before logging in.
1)Navigate to user preferences from the nav bar.
2)Find user.language with user field empty and open it.
3)See the XML of the user preference. If the user value is "guest" then you have selected the correct one. If not find the user preference with the user as "guest"(Note: Users cannot see the value in the user field for "guest" users as well as "snc" users in both list and form view of the user preference. So we have to see the XML of the record to find if it is for guest)
4)After finding the correct user preference, remove the value in the value field and update it