This is a common dilemma when you plan to switch to a multilingual design: how do you show your visitors which language options are available to them?
Flag graphics are a temptation, lets face it. They are extremely obvious. I mean, when you visit a blog and see a few tiny flags you know something is going on there. Not some dull language-code-in-a-graphic thing or an abstract and probably obscure reference like a Big Ben versus a Quixote silhouette. We are talking about the typical UK/USA flag for English, France flag for French and so on.
You should notice, though, that using flags of countries to represent languages is so wrong in so many levels that, by doing that, you may end in some philologists’ hell where everybody talks a bad spelled spafrenglish with japanese accent. See, try to explain to someone from Canada why they have to click an United Kingdom flag to read your blog in English, or why the visitors from the populous Brazil must pick the flag of the not so populous Portugal. What if you want to give them access to all your posts in whatever language they are? Will you use the UNO flag? An Earth globe? They defeat the initial purpose as they aren’t instantly recognizable.
The fact is, languages have no flags. There isn’t currently any standard set of graphics to symbolize them. Neither language codes are transparent for everyone —the visitor may or may not know what’s “en”, “es” or “ck”. So, the proper solution, as long as you care about all this, is to go textual. If it’s important that they are able to switch the language, and it shouldn’t as long as you are detecting the browser preferences, it can be good enough to place the links at a visible spot. Text is often the best choice when a graphic may be just cheaper, confusing or irritating.

