Fixed unreviewed commit, which might lead to hard-to-spot errors
The last change assumed that "nls_language" can be hard-wired to contain most 5 characters. While this not backed by the OpenACS data model, the standard (RFC 5646) explicitly states that there is no upper limit on the size of language tags. The tree letter language codes have been standard since 2001 (RFC 4646).
The change accepts now all defined locales. When the specified locale is not enabled, it provides a log notice, when the locale is not defined at all, it provides a warning and falls back to "en_US".
The goal of these changes is to reduce the "mode" specific javascript code in the chat implementation and reduce server-side guessing of browser capabilities.
- In the MessageRelay class from xotcl-core, we rework the javascript code sent to the connection when doing scripted streaming to make less assumptions about the functions defined in the parent scope - In the chat code from xowiki, we move most of the logics to guess the mode into javascript, where we can test the actual capabilities of the browser without relying on the user agent - The previously 4 javascript files dependant on the chat mode have been made into one