The iPhone's Watch app does not localize app names

Originator:robotspacer
Number:rdar://27320170 Date Originated:13-Jul-2016 05:59 AM
Status:Open Resolved:
Product:watchOS SDK Product Version:watchOS 3 beta 2, iOS 10 beta 2 (14A5297c)
Classification:Other Bug Reproducible:Always
 
Summary:
If an app name is localized, that name is not displayed correctly in the Watch app on the iPhone. For example, my app is named "Deliveries". I have an InfoPlist.strings file with a localized CFBundleDisplayName and CFBundleName. If I change the language to Japanese, it says "デリバリーズ" on the home screen. It even says "デリバリーズ" if I open the Watch app tap "Complications". But if I open the Watch app and scroll down to find my app there, it says "Deliveries".

Steps to Reproduce:
1. Run the attached app on an iPhone with a paired watch. All I did to create this sample app was create a new iOS app, add a watchOS target, and then add an InfoPlist.strings file with a localized CFBundleDisplayName and CFBundleName.
2. Set the iPhone's language to Japanese.
3. Verify that the app on the home screen is titled "Japanese".
4. Open the Watch app.
5. Scroll down to the list of third-party apps.

Expected Results:
The app should be labeled "Japanese".

Actual Results:
The app is labeled "LocalWatch", which is the non-localized title.

Version:
watchOS 3 beta 2, iOS 10 beta 2 (14A5297c)

Notes:
I don't think this problem is new in iOS 10—I've seen reports of the same issue in iOS 9. I've tried adding localizations to both the Watch app and its extension, but that doesn't seem to work either.

Configuration:
Apple Watch 42mm

Attachments:
'LocalWatch.zip' was successfully uploaded.

----

On further testing, it seems the app name shown in the location is actually taken from the .watchkitapp bundle, at least in iOS 10. But I've added an InfoPlist.strings file with localizations and it still isn't translated, whereas the title used for the app on the watch itself is translated.

I have also identified two other places where the app name is not translated, both on the watch itself:

- The complication name. To see this text, press on a watch face, swipe over to the view when you can customize the complications, tap a complication, then use the digital crown to select a complication. The complication name is shown in a green box above the complication itself. In my new test project it should say "Japanese App Display Name" when the language is set to Japanese. Instead it shows "Unlocalized App Display Name".

- The placeholder text that is shown when CLKComplicationPrivacyBehaviorHideOnLockScreen is used. To see this text, select a complication like "Modular Large" or "Utilitarian Large", then lock the watch. The app name will be shown. Again, in my new test project it should say "Japanese App Display Name" when the language is set to Japanese. Instead it shows "Unlocalized App Display Name".

In all three of these cases, the name seems to be taken from the .watchkitapp bundle. I can tell the InfoPlist.strings file is recognized, because "Japanese App Display Name" does show in some places—at the top of the screen when the app is first launched, and when the app is viewed in the dock.

Please see the updated attached project for a demonstration of these problems.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!