I usually recommend jQuery.Globalize (which, despite the name, now also works without jQuery), but it depends a lot on what you need. jQuery.Globalize worked well for me on a project that needed French and English but it will be a lot harder when having to e.g. support languages that read from right to left and things like that.
explode the data files among widgets in the app => but I really think it is the correct way of storing theses files. If non developers do the translation, they may work on a tree structure (potentially cleaned up from anything else than properties files). Otherwise,muchput everything in a huge unique file...
@Gilmesh: Did you find any suitable and easy way to distribute the i18n files throughout the app (widget) folder structure?? I'm using jQuery i18n as well and I'm currently looking into how to organize it best.