gyochum
gyochum

Reputation: 131

iOS app not using using Base Internationalization language

I am adding localization to an iOS application with Xcode 8. I have base internationalization set with English as the language. The app also supports spanish (es), french (canada), and portuguese (brazil). When I set the device language to ES, fr-CA, or pr-BR the appropriate language is displayed in the app - great.

However, if the current device language is ES, fr-CA, or pt-BR > I shut down my app > change the device language to German > start the app back up...

Rather than the app falling back to English (Base), it uses the language I just had set. For example, if I had the app open in fr-CA, shut down the app and change to German, when I open the app back up the language displayed is fr-CA.

Unless I missing something here, I am expecting English to be displayed since the app does not support the German language.

One other thing to note - when i change the device language to English, the app displays English to the user.

Can anyone shed light on this issue? Thanks.

Upvotes: 1

Views: 1449

Answers (2)

Serkan Adıgüzel
Serkan Adıgüzel

Reputation: 11

I faced with the same issue while using String Catalog and couldn't find any quick solution so I tried the method by marking "Reviewed" every locale in my String Catalog for the base language "English". It just worked! Although I still see "0 File Localised" for both my base "English" and secondary "Turkish" languages on the info.plist Localisation section, App Store,now, correctly lists my supported languages. That was the only thing I've done to solve the issue so it's fare to say that you can also try. I also checked that Build Metadata on the Test Flight correctly shows the supported language so there is no need to wait for actual release of the app.

Upvotes: 0

gtmn
gtmn

Reputation: 46

iOS determines the fallback language by the user's most preferred language.

So if there's a localization available for one of the user's preferred language it will automatically use this localization. Only if none of the user's preferred languages is supported by your app it will use your app's development region.

Source: Technical Q&A QA1828 - How iOS Determines the Language For Your App

Here's a similar question with some solutions by other users: Localizing strings in iOS: default (fallback) language?

Upvotes: 3

Related Questions