5
votes

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.

3

3 Answers

0
votes

I have both Traditional Chinese and Simplified Chinese but it choose Traditional Chinese as the default language. When I delete the Traditional Chinese translation English is selected.

I also set the CFBundleDevelopmentRegion to en which is the default.

From your screen shot I didn't see English - Development English.

0
votes

I was having the same issue, and found the solution in this thread: https://forums.developer.apple.com/thread/86889

Basically, the watch extension needs needed a Localizable.strings (Base) file. Ordinarily on the iOS side you don't actually need to specify a Base version of the file, only the translations. But on the watch it seems to requires a base version of the file for the system to work at all there. In fact, I only had an Interface translated (in the watch app) and didn't even have a Localizable.strings in the watch extension... so I had to add some localizable strings in the extension, export translations, import them again, and then manually add a Base version (by checking Base in the Localization section of the File Inspector) because this apparently required thing isn't created automatically.