How to add Japanese secondary locale to Nokia

Background

I recently bought a Nokia 6, which was advertised as having "stock Android". One of the reasons why upgrading to Android Nougat was appealing, was the fact that it finally had the capability of handling Japanese characters correctly.

In a nutshell and if I've understood this correctly, some kanji characters show up differently, depending on if the system interprets the text as Japanese or Chinese.

You can read more about the issue here:

https://en.wikipedia.org/wiki/Han_unification

And how it affects Android specifically:

https://issuetracker.google.com/issues/36932622

In Android 7 Nougat, the issues was fixed with multiple locales. Basically, in the phone language settings, you have your native/system language as the first choice, and Japanese as the second choice. This way, when Android encounters east asian characters, it starts to interpret them as Japanese first.

So I booted my new and shiny Nokia 6, and went to language settings.

What on earth are those scribbles and out of five dozen or so languages, why was Japanese removed (the last two are variants of Chinese if you were wondering)? Luckily, this was possible to fix with quite a bit of fiddling.

Fixing things

You'll need a PC and a micro USB cable. I've only done this on a European Nokia 6, but I don't see why it wouldn't work on 3/5/8/9.

1. Install MoreLangs on your phone

https://play.google.com/store/apps/details?id=sightidea.com.setlocale

2. Install ADB tools on your PC

Might as well skip the drivers and stuff at this point, we'll be installing that manually later.

https://forum.xda-developers.com/showthread.php?t=2588979

3. Download Google's Windows USB drivers and Extract to a temporary folder.

https://dl-ssl.google.com//android/repository/latest_usb_driver_windows.zip

4. Follow these orders:

https://stackoverflow.com/a/17186551

Example lines to add in android_winusb.inf:

;Nokia 6
%SingleAdbInterface% = USB_Install, USB\VID_2E04&PID_C026&REV_0318&MI_02
%CompositeAdbInterface% = USB_Install, USB\VID_2E04&PID_C026&MI_02

Update the ADB driver, as per the stackoverflow instructions.

5. Connect your phone to your PC

With a micro USB cable. You can check if you've installed the drivers correctly by typing adb devices. If the list is empty, be sure you've done the previous part correctly.

6. Grant privileges to MoreLangs

Type the following into command prompt on your PC:

adb shell pm grant sightidea.com.setlocale android.permission.CHANGE_CONFIGURATION

Source (the website of the developer of MoreLangs):

http://blog.sightidea.com/?p=180

7. Swap system language to Japanese in MoreLangs

You'll find it after a bit of scrolling at ja_JP 日本語 (日本).

8. Go to your system language settings

And now everything works as it should. Pretty embarrassing to have these issues in 2017.

Post scriptum rants

"Stock Android" my ass. It's not like it requires extra work from the company manufacturing these phones. It's clearly included in the Android operating system, it just isn't selectable directly.

Now to just hope this isn't removed in some future update. If you require Japanese text to display correctly in your Android smartphones, please check carefully if the option isn't arbitrarily removed. Or just buy Samsung, I've heard Japanese isn't removed in those.

Thanks to Better motherfucking website for the CSS.