overhaul locale internals to treat categories roughly uniformly