I was researching the topic of Internationalization and was considering different solutions.
I was more inclined to store translation strings right in the Mongo Database.
But then after looking at what other projects are using I came across something interesting. Symfony2 uses XLIFF as preferred method to store translated strings. So I looked at that XLIFF format, and I really like it. At first it looked like it would be complicated for users to create their xml files. But then I found that there are several GUI editors for XLIFF files. One of them is a plugin for Eclipse. I use Eclipse all the time anyway, that's my preferred IDE.
There is also a web-based program that allows you to setup a translation project, define desired languages and let volunteers to contribute translations and at the end it creates valid XLIFF flies.
I think it's really cool. So am thinking now if to use Symfony's existing Translator class or to write my own which will be more lightweight (Symfony is great but as always it can do alot more that I need for this project and most importantly it does not have one feature I really like to see). I will try to get in touch with Symfony developers and see if that can add that extra small feature I want. If it does not work out then I'll write my own Translator class.