Background: S2 layers are applied in this order:
Core: defines all the basic classes and functions.
i18nc: language specific overrides to the core
Layout: also on top of core, can add more functions specific to that layout.
Theme: color/image specific overrides to the layout
i18n: language specific overrides to the layout
User: any last overrides the user wants to change.
Now, I want a user to be able to make the user layer with a wizard. But, when they change their layout, their user layer for that style is destroyed, since a user layer is specific to a layout.
So, I want a way for users to save their current user layer as a theme.
But, as a theme, that means i18n settings will then override their choices, which seemed to work before (in a user layer) but no longer (in a theme layer).
So, I propose switching the priority order between theme and i18n.
A well-designed theme won't ever touch the i18n properties/functions, unless it's a user theme.
Perhaps we should also define a meta-data flag for i18n properties, so if we ever have a "submit your theme as public" tool, we can verify the theme they're submitting doesn't trample i18n settings. (but, this is way future. for awhile we'll just process incoming themes by hand.)
Anyway... objections to swapping theme and i18n priority? I'm not forgetting anything important, am I?