I was writing a module which took a user defined field and did something based on the value of it. To access the field value I had to access the array which consists of field_name['language'][n]['value']. And the language can vary within a site, even within a content type. So why not take the $node->language variable, you may ask. Well, it can theoretically differ from this as well (as my thorough testing showed).

I tried searching for “finding field language”, “load language variable from field”, “determine field language”, “get field language from node object” and so on.

EDIT: This post explains it much better than I did originally in this post. Although my approach was kind of fun and home-made. Anyway, let's celebrate with an animated gif.