lang ID for "*" (any language)

Peter Constable petercon at
Wed Jun 13 21:21:22 CEST 2012

But in our proposed usage, “zzz” wouldn’t be used in a query request; it would only ever be used to qualify an available resource in the resource collection.

If one could argue that “und” wouldn’t have any meaning or use for qualifying resources, then I suppose you could say there are mutually exclusive contexts (qualification of information objects versus query requests) in which “und” could be used in different ways. But clearly there _is_ use of “und” for qualifying information objects—that probably predates ISO 639-2. So, that wouldn’t work in the fully general context; but potentially it could work in particular application contexts in which there wasn’t potential for conflict of usage.

In software application localization, it seems pretty unlikely that anyone would have resources hanging around qualified as “und” with the meaning ‘some language we haven’t identified’. So, it could perhaps be used for the meaning ‘no language is specified’. But if one has a need to differentiate two distinct variations on that concept, then there might be a problem. We’re thinking that there can be use in distinguishing the concept ‘neutral (no information)’ from ‘can match any request with no better matching resource (else)’.


From: mark.edward.davis at [mailto:mark.edward.davis at] On Behalf Of Mark Davis ?
Sent: June-13-12 10:48 AM
To: Gordon P. Hemsley
Cc: Peter Constable; ietf-languages at; Doug Ewell
Subject: Re: lang ID for "*" (any language)

* doesn't work, because it isn't a valid language tag.

> The proposal here is for a subtag to encode the "elsewhere" condition: "if there is no more specific language code, use 'zzz'".

We use 'und' to signal, in a query, that the language is unspecified and should be filled in. It is not like 'und', in a query, is needed for any other purpose. The addition of 'zzz' would just mean that we'd map it to 'und' in all processing, so it would not be a useful addition.


— Il meglio è l’inimico del bene —

On Wed, Jun 13, 2012 at 8:03 AM, Gordon P. Hemsley <gphemsley at<mailto:gphemsley at>> wrote:
FWIW, I think it is important to be able to make the distinction
between "we don't *know* what the language is" ('und' for
"Undetermined") and "we don't *care* what the language is" (the
proposed 'zzz' for "Any").

In my understanding of the matter, both CLDR and Java (as you've
described them) are using 'und' for the appropriate purpose (though
I'm not sure I necessarily agree with the fallback choice—an
orthogonal issue, in any case).

As for Google, it seems to me like *querying* for "any language" would
be better off using the asterisk rather than a particular subtag. The
proposal here is for a subtag to encode the "elsewhere" condition: "if
there is no more specific language code, use 'zzz'".

So I support Peter's proposal. I think the usecase he mentions could
actually be a common one in localized software development.


On Wed, Jun 13, 2012 at 10:52 AM, Mark Davis ☕ <mark at<mailto:mark at>> wrote:
> We use 'und' in CLDR when doing lookups, for example. The best patch for
> "und-Cyrl" in the absence of other information is "ru-Cyrl-RU".
> Java also uses 'und' in the BCP47 way, but also as a "replace bad input"
> (like FFFD for Unicode).
> At Google, we used to try to distinguish between these different senses of
> "unknown" vs "any", but found that people too often just mixed them up, so
> we ended up just settling on a single subtag. It just has slightly different
> nuances when used as a query vs used as a result (or content tag). But
> that's the case anyway for locale/language matching.
> ________________________________
> Mark
> — Il meglio è l’inimico del bene —
> On Wed, Jun 13, 2012 at 7:27 AM, Peter Constable <petercon at<mailto:petercon at>>
> wrote:
>> Thanks, Doug, for the reminder of that text, which is interesting.
>> Root, which is totally unqualified--I.e., 'neutral'-is different. In a
>> matching mechanism that seeks the best match against a preference list, a
>> neutral resource might be chosen in the absence of any other matching
>> resource. This could be used to qualify a resource as a positive match for
>> any entry in the preference list if there isn't a stronger match for that
>> entry.
>> Mark, you mentioned using 'und' for some time. Has that been in private or
>> public contexts? (We're looking at something that would be part of the
>> Windows SDK.) And would you say the use was comparable to "root" (which I
>> think is different)?
>> Peter
>> Sent from my Windows Phone
>> ________________________________
>> From: Doug Ewell
>> Sent: 6/12/2012 5:15 PM
>> To: ietf-languages at<mailto:ietf-languages at>
>> Subject: Re: lang ID for "*" (any language)
>> I tend to agree with Mark that 'und' is the best choice for this.
>> The passage in Section 4.1 seems to start off otherwise:
>> "The 'und' (Undetermined) primary language subtag identifies linguistic
>> content whose language is not determined.  This subtag SHOULD NOT be
>> used unless a language tag is required and language information is not
>> available or cannot be determined.  Omitting the language tag (where
>> permitted) is preferred."
>> but then goes on to give reasonable use cases:
>> "The 'und' subtag might be useful for protocols that require a language
>> tag to be provided or where a primary language subtag is required (such
>> as in "und-Latn").  The 'und' subtag MAY also be useful when matching
>> language tags in certain situations."
>> On the list we've often talked about, for example, "und-Cyrl" to
>> indicate text in the Cyrillic script. In a case like this, it might not
>> be that the language cannot be determined, but that it doesn't matter.
>> I think CLDR uses 'root' for a purpose similar to this.
>> --
>> Doug Ewell | Thornton, Colorado, USA
>> | @DougEwell ­
>> _______________________________________________
>> Ietf-languages mailing list
>> Ietf-languages at<mailto:Ietf-languages at>
>> _______________________________________________
>> Ietf-languages mailing list
>> Ietf-languages at<mailto:Ietf-languages at>
> _______________________________________________
> Ietf-languages mailing list
> Ietf-languages at<mailto:Ietf-languages at>

Gordon P. Hemsley
me at<mailto:me at>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Ietf-languages mailing list