Till now, I have built just one multilingual site. The strategy I used was storing all the strings in a i18n database (JSON, or whatever), and then fetching the information based on the URL parameters; something like this /en-US/home. This is really helpful when it comes to management. A simple interface helps in adding these string, and well, it works really fast.
The JSON object looked something like this:
{
"en-US": {
"hello": "Hello!"
},
"eu-ES": {
"hello": "Holá!"
}
}
So, the key value here is the static string which helps us to identify the string. You use that key everywhere; the engine fetches the right translated version.
I hope this helps! :)