> For example on an android phone, set language to Japanese and all kanji is in a Japanese font by default.
If it's an app that uses the native UI toolkit, sure. If it's using one of the package-it-up frameworks, you'd better hope the developer configured it correctly.
> For more niche uses you can usually set the font or language on a per app basis.
You very often can't, or it's impractically difficult for regular users. Try changing your locale but not your language and watch how many programs screw it up.
If it's an app that uses the native UI toolkit, sure. If it's using one of the package-it-up frameworks, you'd better hope the developer configured it correctly.
> For more niche uses you can usually set the font or language on a per app basis.
You very often can't, or it's impractically difficult for regular users. Try changing your locale but not your language and watch how many programs screw it up.