@eskimo
Thanks for the links!
Sorry, I've got a couple more questions:
So "Development Language" is the language used when the app doesn't support a language the user picked in his settings (as you said, the "fallback"), okay.
If the "Base" language is active, the link says that they should be the same but what if the app is meant to be used in e.g. French but also supports English for everyone else? If a user's settings only list English, the app would be displayed in English but wouldn't that mean that the base language (French) and development language (English) are different? In my app, by editing the labels,... in the Interface Builder, I've apparently been writing everything into "Base" (2 files), while "English - Development Language" hasn't got any files connected to it.
The second link also mentions specific regions and that if a user specificies e.g. Canadian French (fr_ca), which isn't supported by the app, it'll try to load regular French (fr) instead. But what if the app only supports "fr_ca" and the user uses Swiss French (fr_ch), does that still work (and load "fr_ca") because the app recognizes that they are based on the same language?
Tbh, I'm still not sure how the "Base Localization" works exactly. In the images on the first website you linked (and in a lot of older screenshots I found on e.g. Stackexchange) there's always only "English - Development Language" in the list (even with the box below ticked) and, according to that link, base localization adds the files to it. But in my Xcode 12.5 project (and also older test ones) there are 2 different list items: 1. Base and 2. English. I can only get rid of "Base" by unticking the box and then it asks me if I want to move everything into "English", which I already tried yesterday but it gave me an UTF-16 error and didn't do anything.
In what case scenario do you actually want to tick the "Base Internationalization" box in Xcode?