Standalone language and protection schema
Posted: Sat Mar 26, 2016 1:38 am
I am developing a desktop and mobile application, with a choice of languages and some reasonable way to protect my stacks.
For languages, I don't trust anymore property profiles, so i devised a way to change languages.
My schema is as such:
- there is a splash stack where the user is asked, on first launch, to choose the language
- base on this, a tab file with all the long names of labels and field text that need to be changed gets loaded.
- it will also load a text file with all the correct text for dialog windows, putting them inside a global
- the splash standalone contains the real application stack: it modifies all language field and button
- then the Splash create a copy of App stack, with the correct language, inside specialfolderpath("resources"),launch it and close itself.
Everything works fine and it is quite speedy. (fields and buttons that need translation have a special name; the tab file has all the correct path to them, collected once, before making the standalone). My language translations are all in the same text files, very easy to manage.
Now, my problem is how to protect my App.
No problem for the Splash stack, since it becomes a standalone.
But as for the App stack, I am not sure on how to do avoid that some one can open it, once saved (once they find it).
I cannot keep it only on memory (putting it for example on a custom prop) because i would have to reset the languages on each relaunch (that instead now is instantaneous)
I use a way (password protecting scripts) but the splash stack needs to unlock them on launch or they will not work correctly. Beside there are many substacks so it is time consuming.
Any suggestions ?
Trevix
For languages, I don't trust anymore property profiles, so i devised a way to change languages.
My schema is as such:
- there is a splash stack where the user is asked, on first launch, to choose the language
- base on this, a tab file with all the long names of labels and field text that need to be changed gets loaded.
- it will also load a text file with all the correct text for dialog windows, putting them inside a global
- the splash standalone contains the real application stack: it modifies all language field and button
- then the Splash create a copy of App stack, with the correct language, inside specialfolderpath("resources"),launch it and close itself.
Everything works fine and it is quite speedy. (fields and buttons that need translation have a special name; the tab file has all the correct path to them, collected once, before making the standalone). My language translations are all in the same text files, very easy to manage.
Now, my problem is how to protect my App.
No problem for the Splash stack, since it becomes a standalone.
But as for the App stack, I am not sure on how to do avoid that some one can open it, once saved (once they find it).
I cannot keep it only on memory (putting it for example on a custom prop) because i would have to reset the languages on each relaunch (that instead now is instantaneous)
I use a way (password protecting scripts) but the splash stack needs to unlock them on launch or they will not work correctly. Beside there are many substacks so it is time consuming.
Any suggestions ?
Trevix