I actually had localization in the back of my mind when I did the error message facility for the MathObject library. There is a mechanism for replacing messages by other messages that I originally intended as a means of translating them into other languages. I never went so far as to actually put together a working example of error messages in other languages, but the framework is there.
Of course, that is only for error messages. It would do nothing about the text of the problems, the names of buttons, or the navigational links that are part of WeBWorK. All that would need additional work.