I snatched this idea from another DM, and modified it, and so far it is working out quite well.
First I choose the languages that are available--and there is a dominant human tongue for this particular region (which could be considered Common so long as they are there), and another human tongue that is a world-wide "Common" (equal to Greek in earlier Roman Empire) along with dialects of demi-human languages and monster languages. I then ask for a save vs. INT to see if the character can learn the language in question. (No check required for native tongue.) Also, a separate save vs. INT to be able to read/write a language (and yes, you can end up being able to read/write a language you can't speak). Then there's a "how well", which is an INT modified d100 roll (+40 for 18 INT, +30 for 17 INT, and so on). How well ranges from rudimentary, basic, good, excellent, and perfect for spoken, with only four categories for the written form (no perfect). Perfect simply means that one speaks the language so well that native speakers of that language would take him as another native speaker. Excellent leaves a slight trace of accent (only recognized by native speakers).
I also rule-zeroed that demi-human characters will have, at minimum, a good command of the regional human tongue (accented, but able to speak at a normal rate). This is more because I don't want intra-party inability to communicate to destroy the fun than necessarily trying for realism.