Well, first I simply added a "localized"
method on String who asks for
a property (language) in session and follow "translated" path to
translate the string, and then I modified each method in magritte who
outputs a label (they are not many, just 3 or 4).
That solves my L17N problem.
I wrote a couple of applications using Magritte in multi-lingual
environments. In Switzerland there are 4 official languages (German,
French, Italian, and Rhaeto-Romanic). English is quite prominent too.
What we did at that time was to create our own String class,
TranslatedString that responds to the same messages as String
dispatches to the correct translation in the given context. This is
similar to your approach, but does not require a change in Magritte.
But, what if I what my buttons different, or even
configurable?
Why not create your own MAFormDecoration (as a subclass or as your own
Seaside decoration)? I mean, you can add any Seaside decoration around
Magritte Forms and build something that exactly suits your needs. If
this turns out to be a better and easier to customize than the one
currently coming with Magritte, I might be interested to include in
the core.
Cheers,
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch