There are many options, depending on what you're trying to achieve. All fit certain situations, so you'll need to think about what you're trying to achieve, and how your content fits your design.
The Facebook Comment method is fairly neat
The comment is shown in the original language, with a small, unobtrusive "Translate" underneath it (similar to the share/edit/flag options under a SE question or answer)
Clicking this replaces the "Translate" word with the translated variant.
This tends to work well where the majority of content is in your native language, and where content is nicely "chunked"
Another option is to highlight the word/sentence in some way - your flag suggestion being one. When the user clicks/hovers on the flag/word/sentence, it is either replaced by a translation, or something like a tool tip box appears with the translation.
This tends to work well with inline snippets where the majority of the content is native or easily understandable, but a small proportion/word/phrase isn't common enough that you can be confident everyone will understand it
One might, in fact, say he's lost his
joie de vivre
joie de vivre hoverable,
et voila, the translated text could appear. Okay, I can't reproduce it on SE, but you get the idea.
Alternately, display the translated version in line, with a "view original" using a technique like the above. This would make sense when you're fairly confident your reader won't understand the foreign language version, and is well aware that the text has been translated.
And a final suggestion, provide whole page translation options at the top, ie a bar across the top/bottom of the page saying something like
This page has content in other languages.
Click here to translate it to [native language name]