Where to store localization files?

I’m running into a dilemma regarding where to store localization files (en,es,fr,etc.).

It seems like some sites store the files in their database or files on their server, but the Webix Jet approach seems to store them inside the application itself, which makes for a much easier/fluid transition from languages, but also adds to the file size - and how often are users switching?

From a scaling/management perspective, it would certainly be easier to store these files on a table, but I just wanted to get other opinions on this.

Any input is appreciated.

As far as I can see, localization stores translation for UI, so it can be stored along with the UI. In such a case, you can have correct locales for different versions/branches.

From my experience, the size of the text is rather neglectable. A single image will outweigh the whole app with multiple locales

Still, it is possible to intercept locale loading calls. So instead of loading the embedded one, the code will load locale from an external file or from a DB ( through some kind of REST endpoint )

In the current version of Webix Jet, it requires a bit of trickery. In the next update, we will add a straight way to intercept and resolve locale load calls. I will update this post when the demo will be available.

and how often are users switching?

Also, when users loads HTML page with the app, the code will need to make an extra ajax call in case of non default locale, which adds an extra delay to the app start time.

Thanks @maksim - we decided to go with loading it with the UI. As you mentioned, the size is pretty insignificant.