Translation & Restore

In the time the site was offline, I did quite a bit of work on the restore module.

So now, you can choose which files to restore, either the whole of a directory and its subdirectories, or individual files, or a mixture of both. There's a ice Windows Explorer-like display, which also had an icon next to each directory and filename, showing if this particular item is selected for restore. I'm quite happy with how things are turning out, and especially with the performance of the functions - there's quite a lot of work going on in the background for file selection, so it was important that these functions work quickly.

I've also implemented (for the second time...) a translation system. I didn't like any of the "solutions" I could find on the net, nor the inbuilt translation facilities of Delphi, so I devised my own. Translations are held in a simple ini-style file, and one call will load the file for the current system language, and try to translate a whole form. If the current system language is English, then nothing is done, as all texts are natively in English. Additionally, if no translation is available for a language, then the fallback is English. If not, then the system loads the file and tries to translate everything. Of course this means that translations can be added on the fly, and will just be used if available, with no code changes necessary. It also means that the only tool needed to translate the whole of the system is a simple text editor.