load

open suspend override fun load(): List<Country>(source)

The list the picker shows: country names in the device's language, sorted for that language.

This is not countries. countries is the English canonical dataset and is the identity and lookup surface — it must stay stable, because a map keyed by a name that changes with the device language is a map that stops working when the user switches language. What the user reads, though, should be in their language, so that is what the data source serves.

Resolution goes through localizedNames, which is cached per locale: this is called on every repository load, and rebuilding 236 Country objects plus a collator sort each time would be a real cost on a cold sheet open.