Ah, the thing about running the site in English and seeing the common names in another makes sense, I guess that problem's solved (or rather, never existed).
Regarding the rest: I get what you're trying to say, but it still doesn't sound like a very logical way to do things (to me). Let's take your example of "gray heron" and look at 2 different situations for a user who has set their preferred language for common names to "English":
Situation A: only "gray heron" was entered for English.
Situation B: two common names were entered for English:
1) "gray heron" for place=UK
2) "grey heron" for place=USA
Current system
Situation A:
If your place matches the place set for "gray heron", you'll see "gray heron".
If not, you're shown the default (English) common name regardless of your place or language settings at least that's what shows up for me atm).
Situation B:
If your place is set to "UK", you'll see "gray heron".
If your place is set to "USA", you'll see "grey heron".
If your place doesn't match any of the options available for that language, you're shown the default (English) common name regardless of your place or language settings.
Proposed system
Situation A:
You'll see "gray heron" regardless of your place settings.
Situation B:
If your place is set to "UK", you'll see "gray heron".
If your place is set to "USA", you'll see "grey heron".
If your place doesn't match any of the options available for that language, it'll pick the default option for that language
(This will need to be decided by the developers in some way I imagine - for example: English default = UK, Dutch default = Netherlands, etc... Random, alphabetically or chronologically 'which option was entered first) could work too, perhaps, to avoid the need to set the default for each language manually - I'm not a coder, heh)
The big difference between both systems, is in case of a place missmatch. Currently, you're automatically shown the English common name in that case. It would make more sense (to me), that if the place doesn't match but the language does, you're still shown a common name in that language. Perhaps not always ideal, but still better than nothing - if you're used to seeing "grey heron" and are shown "gray heron", you still know what bird we're talking about - or at least get more useful info than seeing the common name in a completely different lagnuage, that you maybe don't even speak very well. And I imagine that in the vast majority of cases, the names will simply be the same (or very very close, like the gray/grey thing) regardless of the place.
The bottom-up thing works well - in theory.
There is no option to indicate "Canada+UK" (Canada uses UK spelling, right?), so when setting a place for a certain name you have to pick one of them, thereby excluding the other whether you want to or not. This means that if you want to have things show up well for both Canada and the UK, you'll need to set the same name for both places. That would clutter the page with loads of identical names for the same language rather quickly O.o
I think I beat you in lengthiness, haha - let me know if this makes sense or not?
(PS: close - it's ijseend ;p Taken literally, it translates to "iceduck")