Apple Media Services and Apple Platforms’ Locale Problem - A Tip and Its Iceberg

Preface

Recently, Dave B sharply reminded Apple that there are still users carefully managing their media library and consciously control what comes up next on their playlist. These users have been more or less underfocused by Apple’s recent moves in digital media splitting the functionality of iTunes.app into Music.app, Finder.app, etc., and launching a series of services promoted as “Only at Apple”. It is lucky and congratulatable for Dave to have made his points that capture most of the painpoints of Apple Music that I agonizingly agree across to the Apple Music team via Apple’s CEO.

What is missing from Dave’s letter, however, is Apple Media Services’ locale problem, or more generally, Apple platforms’ locale problem, which is not surfaced until a user uses their services in more than one language on an daily basis. By locale, I am referring to “the subset of a user’s environment that depends on language and cultural conventions” (IEEE, T., Group, T. O. (2004). The Open Group Base Specifications Issue 6 – IEEE Std 1003.1, 2004 Edition. New York, NY, USA: IEEE.).

A peek through a monocular

As a multilingual and a cross-border traveler, I can effectively communicate in English, Mandarin, and Japanese (sorted by usage frequency): I use English for work and everyday logistics (as I live in an English-speaking region); I chat with some of my family and friends in Mandarin; I listen to Japanese music and read Japanese writings. On my Apple devices, the iCloud account is set to my primary Apple account tied to the country/region that I live in, while the Apple Media Services account is often logged into my secondary Apple account with its country/region set to Japan and language set to Japanese so that I can easily access a wide collection of Japanese user-facing content, rather than their translated versions in English.

I typically keep the system language of my Apple devices in English, except for my primary iPhone, which is set to Japanese. The system-wide Japanese setting on my iPhone serves one sole purpose - to protect my iCloud Music Library (aka iCloud-powered iTunes Music Library), loaded with thousands of Japanese songs from iTunes Store Japan / Apple Music Japan, from being transformed from Kanji/Kana-based Japanese into Romaji-based English.

Before explaining why things are set up this way and where the problem is, some background information had better be laid out:

  • If you do not already know, on an iPhone or any modern apple device, there can be essentially multiple Apple accounts logged in at the same time (these accounts do not need to be in the same country/region):
    • One iCloud account, ruling all iCloud and device ownership-related settings/features, including iCloud Drive, iCloud Backup, Activation Lock, Find My and location services, Wallet and Apple Pay, etc..
    • One Apple Media Services account (I personally prefer its previous name, “iTunes and App Store Account”), ruling all digital media/content related services, including App Store, iTunes Store, iTunes U, Apple Books, Apple Music, Apple News, Apple Arcade, Apple TV+, etc,. It is also possible to use a different Apple Media Services account for Family Sharing
    • In addition, iMessage, FaceTime, Game Center and Apple Music’s Family Sharing feature can each have a standalone Apple account logged in.
  • Japanese texts are based on Kanji (originating from Han characters) and Kana, and all these characters have official prounciation notations in latin/alphabetic form, known as Romaji (literally “Roman characters” in Japanese).
    • E.g., こんにちは (Hello) from Japanese can be represented as “ko n ni chi ha” (here, “chi” is sometimes also written as “ti”, and “ha” produces the sound “wa”).
  • Unlike Apple’s official language selection offerings of Traditional Chinese and English in Hong Kong, or English and French in Canada, or French and German in Switzerland, Apple offers only one option for its digital service in Japan, Japanese. cf Apple’s Choose Your Country or Region page.
    • N.B.: for support or in-store services in Japan, languages other than Japanese is also available.
  • Weirdly enough, iTunes Store Japan and Apple Music Japan do have English storefronts, with everything displayed in native English. The following images show the difference (notice the different texts under album names):

The above produce the peculiarity that a Japanese Apple Media Services account user has no reliable control of the language displayed to them in Apple’s media services. Taking iCloud Music Library (which is shared by iTunes Store purchases, iTunes Match results, user uploads, and Apple Music picks) as an outstanding example, at its extreme, a user’s complete collection of music’s metadata on any device can be undeterministically mutated from native Japanese into Romaji-based English, or vice versa, without the user explicitly changing any setting on their device. To make matters worse, a backup (via either iCloud, iTunes, or Time Machine) does not help in this scenario at all, for as soon as the backup is restored, the language metadata of the music library is overwritten by whatever locale setting that is stuck in the cloud. Such tragedy can be dreadfully desperate to someone (e.g., I) that has painstakingly attended to their music collection with iTunes (and later on Music.app) over the past few years (and there are certainly people with a much longer story to tell on this). A faint best bet one could get to stabilize such situation is to either a) set their device’s (or at least Music.app’s) language and region, i.e., locale, to Japanese and Japan (ja-JP); OR b) turn off iCloud Music Library syncing.

To battle this very specific yet ludicrously annoying situation using the first option, I have always had no choice but to set my iPhone’s system language to Japanese, thanks to Apple never offering the option to expressly and immutably set Music.app’s language on an iPhone, nor the option to expressly and immutably set the locale of iCloud Music Library, as a whole or for any song in it. (More on the options in the next section.)

To empathize, imagine that you are about to turn in your thesis or capstone essay that you have worked on over the past few dedicated years, and then the writing is transformed into full phonetics whenever you try to submit, whithout a way to revert it back or turn this behavior off. You recall that you cleverly kept a backup somewhere right before the catastrophe happened and try to use the backup version. Sadly, when the backup version enters the submission stage, it is again transformed into full phonetics 🤷.

Note: this does not only happen to Japanese language users with country/region set to outside of Japan, it affects Japanese language users in Japan as well. A quick Googling with keyword set “Apple Music ローマ字” (“Romaji” in Japanese) or “Apple Music 英語表記” (“English writing”) will easily yield a ton of Q&A threads and blog posts on this topic spanning years. E.g., as this post asking for help on Apple’s own discussion forum received over 400 upvotes as of Dec, 2021, and the accepted answer clearly states at the end of some goodwill/best hope actions that to date there is no reliable fix.

The locale problem on Apple platforms

Hopefully the previous section vividly illustrates one of the harsh moments of using more than one language on Apple’s platforms. The more generic version of the locale problem of Apple platorms can be articulated as “Apple does not provide a way for its users to expressly set the language of some of its first party applications and/or services, and this prevents multi-language users or cross-border travelers from accessing digital contents in languages they prefer”.

To understand this statement better, a distinction needs to be made between “user interface locale” and “content locale”:

  • “user interface loale” (UI locale) concerns the texts on buttons, containers, and static contents shipped with the application;
  • “content locale” concerns the content loaded from the internet to the application instance instaned on a user’s device.

In an ideal world, each application installed on a user’s device should enjoy undisturbed locale autonomy, meaning that:

  • the user user can set UI locale for any application on a per-app basis; AND
  • for each application, its UI locale is respected and strictly followed in a best-effort approach when digital contents are loaded onto that application, i.e., if requested contents are available in the UI’s locale, they must be loaded in that locale, otherwise fallback locale shall be used.

Coming back to Apple platforms, its locale problem is two-fold:

  • one for Mac, represented by macOS (OS X), where the content locale does not follow the UI’s locale even when the content is available in that locale; AND
  • one for Apple’s mobile devices (iPhone, iPad and beyond), represented by iOS (iPad OS, watchOS, etc), where the UI’s locale cannot be set on a per-app basis for all of Apple’s first party applications.

Locale on macOS

On a Mac, any app used to always have access to undisturbed locale autonomy, thanks to the powerful defaults command that can modify the preferences property list (aka plist) for every application (usually located in ~/Library/Preferences/{app bundle id}.plist), including setting the UI locale. The language part was made easier after gaining a UI entry in System Preferences since macOS Catalina. However, the region part is still only accessible via defaults.

E.g., typing the following command in Mac’s Terminal.app will produce the current settings available for Muaic.app application:

1
defaults read com.apple.Music

As aforementioned, a typical use case for me that relies on this capability would be to keep Music.app and my iTunes Music Library in pure Japanese (i.e. JA-JP), including Apple Music catalog and iTunes Store inventory, while I can use other aspects of the system in English by keeping English as the default system-wide language. This patch used to work reliably up until macOS Mojave.

However, this is no longer the case. Starting with macOS Catalina, music metadata in Music.app can be inadvertently mutated from one language to another that’s implicitly supported in the same /region, even though the locale of Music.app is expressly set to that of the previous one. I reluctantly made this discovery when I was dismayed to find that Music.app (with locale set to ja-JP) mutated my music library and the in-app iTunes Store storefront into Romaji-based English without my consent or knowing, and no setting is available anywhere to change things back to Japanese. I tried clearing all of Music.app’s settings and caches and re-authorizing my Mac’s Music.app multiple times in vain. I did not try to set my Mac’s system language into Japanese, as I found anecdotes online suggesting that even with everything set in Japanese, the music library still remained in Romaji-based English.

Locale on iOS and iPadOS

Up until iOS 12, there had been no per-app UI locale preferences available on an iPhone or iPad. With iOS 13 and iPad OS 13, Apple finally opened up per-app UI locale preferences to its portable device users for all 3rd party apps and most of Apple’s first party apps. But up until now (iOS 15 and iPad OS 15), the language option remains nowhere to be seen for its own Music.app, Map.app, and Health.app. On any iPhone or iPad, these apps still stick to the systemwide locale setting.

Note: there used to be an exception for Health.app, which had a language preferences entry in iPhone’s Settings in iOS 13.0 Developer Beta 1, but this entry disappeared in subsequent builds.

Again, for the explained reason, I have kept my iPhone’s sytem language in Japanese, which thankfully has worked stably so far (as of this writing) in terms of keeping the metadata of Japanese songs in my music library in Japanese. However, this has brought a cascading amount of inconveniences during pre-iOS-13-era when it comes to using other Apple-vended apps or any other app that blindly followed Apple’s Human Interface Guidelines at the time that ignorantly assumed that the user always prefers content locale in their system’s language (systemwide UI locale). While I have found workarounds for or lived with the majority of the rest of these pains with patience, I could not stand the fact that I have to keep my health data tracked in Health.app in Japanese, while I am physically located in an English-speaking region. However, I was more afraid that my music library would become a mess on my iPhone if I used English as the system’s default language than that I might run into an accident and English-speaking first aid agents could only find my blood type and allergy information in Japanese.

Thankfully, in iOS 13 Developer Beta 1, I was relieved to find that I could set the language of Health.app and I immediately set it to English. I would have liked Apple to keep this entry in iOS, but unfortunately, people at Apple have decided that this is a bad idea. This means that my Health.app is fixed to use English forever, unless I do a full settings reset, AND if I happen to move to another region that speaks a different language, firsts aid agents there might run into an emergency ID on iPhone in English (but that is less concerning, as after all, English is much more widely used and understood 🤷).

At the end

To reiterate, the locale problem for Apple’s platforms that this article is trying to present is around the locale setting ambiguity and limitation of some of Apple’s first party apps and media services. In general, Apple’s move in iOS 13 to give the autonomy of setting per-app UI locale preferences is in my opinion the most valuable feature that Apple has launched for its mobile platforms in recent years, and has helped reduce the pain I have been experiencing to about less than half the original amount. It would be ideal if Apple could bring this setting to all of its first party applications on iPhones and iPads and align content locale with UI locale for their digital media services, thus permanently freeing its users from the pain of receiving contents in unintended locales.

I 100% agree on every word Eric Bailey has written in their excellently concise article on internationalization and localization, and strongly recommend giving it a read: What they don’t tell you when you translate your app.