Localisation - hints for providing language options in a package

I have a package which has been picked up by a few people and there is a request to have the UI localised for their language.

This seemed like a nice project to look into and I came up with a fairly simple method.

Each language would have it’s own file of input_text defining all the elements that need translating with thier initial values set.

Selecting a language runs an automation which runs a shell script which copies/overwrites the relevant file into the ‘current language’ file and runs the input_text.reload service.

I have that working but the problem is that the ‘input_text.reload’ service doesn’t apply the initial values so my method doesn’t work.

Has anyone done this (localisation) before and can offer me some tips?

Thanks.