As long as the user can ultimately decide on their own, you can try a best guess for them. Just make it easy to switch and let the user know first thing.
As a follow-up I ran into the exact same issue as above. I think the language-matching is really a must for an app like this to ensure users have a good experience their first time.
There is a discussion about this: http://www.w3.org/International/questions/qa-accept-lang-loc...