To me (from Denmark) it falls most natural to code in English. I guess there are two reasons.
First of all, all keywords and API classes and methods are already in English, so writing variables and comments in Danish makes the code inconsistent to read.
Secondly, all books, blogs, QA sites like P.SE and SO, are in English. So it is almost like my brain switches to an English mode when dealing with programming.
There are times however, where I would not choose English.
Sometimes you work in domains that are so tied to concepts that are language specific that they are impossible to translate to English. E.g. I worked at a mortgage issuer, and all their domain is loaded with legal terms, terms specific of Danish mortgage systems, etc.
I also worked with a system submitting forms to the government. Also here the domain was loaded with untranslatable terms.
So in the case the the domain is highly specific to the country where you work, you should keep the domain concepts in your local language. Otherwise the developers will speak a different language than the domain experts, and that will lead to poor communication.