[The following is not refering to the current version of TM; it's just a general discussion.]
To break it down, you could say that there are four levels on which to change settings:
- Globally.
- Per language.
- Per project.
- Per file or document.
...and two modes: A. Permanent changes. B. Temporary changes.
The_most flexible_ system would then be the ability to change on all levels, in both modes. In pratice, this is probably not desirable as it would bloat the interface almost no matter how it is done.
While it is possible to describe the universe of preference possibilities in this way, I think what's being advocated (at least by Andrew, and myself) is much more simple:
1. Global, permanent. This amounts to being a default language, like #2 next.
2. Per language, permanent. A "default" language could take the place of #1, previous.
3. Per *window*, temporary. These are changes from the permanent settings that affect a document, which you might enable via the menus, and which last only until you close the window. Opening the same document again will revert to the permanent, per-language settings.
I can certainly see the value in a per project settings scope, too, but I'd suggest it makes sense to see 1-3 above implemented first, since that would likely cover 80% of what people seem to be advocating here.
And, it's also simpler to do 1-3 (really, 2-3 with a default language), because they don't involve saving settings per document; all permanent settings are for the application, even though there are different settings sets that apply to different documents.
Michael