ISO 639 language codes, not ISO 3166 country codes.
functions assume the last character was a newline, and end with a newline themselves.
spurrious compiler warnings. It's ugly, but the dozen or so casts to shut gcc up is even uglier (and mostly unnecessary).
from colliding with external "makehash" function.
sv => se (Sweden) and da => dk (Denmark)