Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apple Watch base localisation shows wrong default language

I have an app localised in three languages (Simplified Chinese, French and Czech) with English as the development language.

enter image description here

While the localisations work perfectly on the iPhone, there is an issue with the Apple Watch: If a user has set the Watch language in any other language than English/French/Chinese/Czech, then the content is shown in Chinese instead of English (that should be the default).

According to this Technical Note:

If none of the user’s preferred languages are supported by your app, iOS chooses the language matching your app's development region (CFBundleDevelopmentRegion).

Note: Be sure to set CFBundleDevelopmentRegion for your app. If you adopt Base Localization, make sure that the value of CFBundleDevelopmentRegion matches the language used by your content in the Base.lproj folder.

I have confirmed both the above requirements are being satisfied (CFBundleDevelopmentRegion="en" and all Base.lproj files are indeed in English). Is there something I'm missing? Again, this happens only for the Watch app and not for the iPhone one.

like image 769
spassas Avatar asked Oct 30 '22 06:10

spassas


1 Answers

From https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-130430 , CFBundleDevelopmentRegion is the language and region, e.g. en-US, not just en.

like image 134
mikep Avatar answered Nov 11 '22 15:11

mikep