Subject: Re: Language support for scope enumeration

From: Steve Hanna <[email-masked]>
Date: Fri, 9 Oct 1998 14:11:59 -0400 (EDT)

> * Replace the "scope name" in the MZAP spec with a list of 
>   (language tag, scope name) pairs.  Language tags are described
>   in RFC 1766.

Good idea!

Do we want to *require* a language tag for each scope name? It might be hard to 
force the user to enter one. And it is possible for a scope name to include more 
than one language (although I doubt this would be common). I suggest that the 
first item in the pair be a comma-separated list of language tags where the 
empty string indicates no language tag at all.

> * Each scope may have at most one name per language
>   (multiples signal a config error).

It might be useful to have more than one name per language. For instance, a 
scope might be named "Company-wide", "IBM", and "International Business 
Machines" (all with the language tag "en").

> * MAAS's will thus see all scope names.
> * MZAP message may also label a specific (language tag, scope name) 
>   pair as the "default name" to display if none matches your 
>   desired language.  Since you have the actual language tag, 
>   you can tell how to render the default name.

I assume this would also apply if you don't know which language (or languages) 
the user wants.

> * Only one language (per scope) can be tagged as the default name.  
>   (Multiples could signal a config error, such as if one router says 
>   English is default and another one says French is default).
> 
> This would allow the abstract API and MDHCP to support language 
> localization (which is required for them to get through the IESG 
> acc. to Alvestrand and RFC 2277).  Presumably the enumerate scopes 
> call would take a language tag as an input parameter and the MAAS 
> would use that to decide which names to pass back.

What if the user can speak two languages? Do you pass in two languages (like 
"en, fr")? And what if none of the language tags match exactly (user specifies 
"en", only choice is "en-US")? And what if you have many users who speak many 
different languages?

I'm somewhat reluctant to make the MAAS responsible for deciding which names to 
return. I would like to have some way to ask the MAAS for *all* names.

Thanks,

Steve

---

From: Dave Thaler <[email-masked]>
Date: Fri, 9 Oct 1998 15:40:10 -0400 (EDT)

> I assume this would also apply if you don't know which language (or 
> languages) the user wants.

Sorry, I misread your statement the first time.

Yes, you are correct.  This would apply if the API caller cannot 
determine the desired language (or has no preference).

-Dave

---

From: Dave Thaler <[email-masked]>
Date: Fri, 9 Oct 1998 15:35:48 -0400 (EDT)

> Do we want to *require* a language tag for each scope name? 

In the discussion between Pavlin, Mark, and I, one of them
stated that sometimes you cannot render a name unless you know
the language, and hence requiring a language tag may be 
required.

> It might be hard to force the user to enter one. 

It would require the abstract API caller to have one.  If it can't make 
the user enter one, then it would need to choose one itself somehow.

> And it is possible for a scope name to include more 

Offhand, this sounds too complex to me.  Using the original proposal,
this would be best represented by a single language tag, and marking
it as the default.

> Machines" (all with the language tag "en").

This is a tradeoff.  We decided that we preferred the greater
ability to diagnose misconfigurations which you gained by
forcing only one name.  However, this is something which
people can provide input on.

You have to understand that if you allow multiples, then
you can't detect collisions (one router says it's the "IBM" scope
and another says it's the "Sun" scope).  It also complicates the
abstract API, since a client wanting to enumerate scopes in
a particular language wouldn't get one name per scope.

I still prefer one name per scope (for the above reasons).
More comments on this topic would be appreciated.

> I assume this would also apply if you don't know which language (or languages)

No, the main case targetted is one where you know which language
the user wants (e.g. "Klingon"), but there's no scope name in that 
language.  So the MAAS passes back the default name in the enumerate
scopes api.

> "en", only choice is "en-US")? And what if you have many users who speak many 

Typically people configure their machine with a specific language
(in today's OS's).  If you wanted to write a tool which is tailored
for bilingual people, then I would expect that this tool would use
the abstract API by calling enumerate scopes twice, once for each
language, and then combining the results it gets.

> I'm somewhat reluctant to make the MAAS responsible for deciding which 
> names to return. 

Agree.  The proposal was that the client specify the language
in the enumerate scopes request.

> I would like to have some way to ask the MAAS for *all* names.

I'm not sure there's value in that, except for management, where
this can be supported via SNMP.  Can you provide an example
where an end-user would care?

Thanks,
-Dave