When I was at EA, the approach we had which is the only true way to deliver multi-lingual content was for every single text string EVERYWHERE to have an ID, and for all languages including English to go through that database layer. That means you have an up-front-cost for every single piece of text which is ever created. That gives you perfect results, but has huge overhead for everyone. Only really works in-application too. Not really something which works for web content so well either, I guess.