[Jabber-IETF] internationalization/localization

David Waite mass at akuma.org
Thu Oct 17 17:42:21 CDT 2002

On Tuesday, Oct 15, 2002, at 14:55 America/Denver, Peter Saint-Andre 

> On Tue, 15 Oct 2002, David Waite wrote:
>>> Can we just make this a more general assertation then? An xml:lang
>>> attribute SHOULD appear on the stream:stream header, otherwise an
>>> implementation/installation specific default will be used. If an
>>> xml:lang attribute appears on an info-query or message element, its
>>> value supersedes the default of the stream. Does this make sense, or 
>>> am
>>> I missing the point?
>> Thats fine, but it means three things:
>> 1. A compliant server implementation will have to understand the
>> xml:lang attribute on each XML chunk and add them between the parsing 
>> of
>> the client input and redirection out over an interserver connection,
>> since the default stream:stream language may not be the same.
> Are you saying that a server would need to add the xml:lang attribute 
> to
> every chunk? Under what circumstances? The only sense I can make of 
> your
> statement is that I may have one default xml:lang on the stream to my
> server whereas my server has a different xml:lang setting on its
> connection to another server. But would a server-to-server stream have 
> an
> xml:lang attribute? If so, why? If it did, would that xml:lang 
> override in
> all instances? Am I missing something here?

The xml:lang requested by a user, be it per stream or per packet, has 
to be preserved across server boundaries. If I request a japanese 
locale, this should apply to all entities I communicate with, not just 
with the ones on my locale network.

So yes, every chunk which does not match the xml:lang for the 
containing document needs to have the xml:lang attribute appended. A 
simplistic server implementation might just always add them, while a 
more complicated server implementation might try to choose a default 
locale for a server to server location that matches the largest 
percentage of the traffic over that connection, and remove xml:lang 
stamps from chunks which match the default locale.

One way around this really is to say that there is a single, 
standardized, default locale which is incapable of being overridden. 
This would probably be (US) English based on legacy systems. Then the 
lack of an xml:lang attribute always means the exact same thing, and 
there is no addition or removal of this attribute based on differing 
default locales across delivery hops.

>> 3. The server may stamp its default locale in its stream:stream header
>> to the client. If it does not, it would need to indicate the locale of
>> every XML chunk sent to the client, or the client would have no way of
>> knowing this default locale.
> Then it might be best for the server to indicate its default locale and
> for the client to indicate its default locale, in the respective 
> streams
> from server to client and client to server.

-David Waite

More information about the xmppwg mailing list