Subject: BCP 47 reference (was Re: Last Call: draft-nottingham-http-link-header from digest)

From: "Phillips, Addison" <[email-masked]>
Date: Fri, 24 Jul 2009 08:29:22 -0700

Hello Mark,

> Regarding hreflang - looking through the history, it's been discussed  
> in a fairly positive light a few times, but never made it in. I think  
> it does make some sense, since it's both in Atom and HTML. 

I think hreflang would be useful to add. You might want to consider calling it just 'lang', since that locution is more familiar.

I think you might want to make it more than a single language tag. The purpose of http-link-header is to provide metadata about a link in addition to the URI. This is more like providing the author's intended target audience rather than the document processing language. That is, it's like the Content-Language header and/or <meta> element, rather than like the <html> lang attribute. Cf. http://www.w3.org/International/questions/qa-http-and-lang#answer 

> I'm a bit  
> concerned about what the appropriate reference is for the value space;  
> ATM I'm thinking BCP47 directly, rather than to a specific RFC, to  
> allow it to evolve*.

Although there is a new RFC-to-be (4646bis) now in the RFC-editor's pipeline, I rather think that future changes to BCP 47 will tend to be limited to the production of extensions defined by 4646/4646bis, rather than changes to the grammar of language tags. There are some people who think that a revision might happen to use some reserved subtags for ISO 639-6 if/when that standard reaches maturity, so the possibility of revision does remain.

> ...
> * Often, a reference to an RFC is preferable, so that software can be  
> reliably written to a specific set of identifiers. My initial feeling  
> is that here that's not appropriate to do that, because language tags  
> are labels, not something that you're going to hardcode into  
> infrastructure software. Feedback appreciated, especially from the  
> i18n community.

Language tags are, as you note, labels that should not be hardcoded into infrastructure. However, BCP 47 defines the grammar for language tags themselves. Implementers need a reference to determine if the list of language tags they generate or receive is well-formed or not. That might be a good reason for a specific reference. Otherwise, I tend to recommend that people reference BCP 47 (it avoids that old chestnut "RFC WXYZ or its successor").

Best Regards,

Addison

Addison Phillips
Globalization Architect -- Lab126
Chair -- W3C Internationalization WG

Internationalization is not a feature.
It is an architecture.

---

From: Noah Slater <[email-masked]>
Date: Fri, 24 Jul 2009 16:57:20 +0100

On Fri, Jul 24, 2009 at 08:29:22AM -0700, Phillips, Addison wrote:
> I think hreflang would be useful to add. You might want to consider calling it
> just 'lang', since that locution is more familiar.

The closest (as a function of similarity and use) thing we have to this at the
moment is the <link> element in HTML. The @lang attribute of this element refers
to the language of the attributes and content, whereas the @hreflang attribute
is used to talk about the language of the target URI

Your proposal to use 'lang' to mean the same as @hreflang in HTML, when there is
also a seperate @lang HTML, is confusing. I think it is probably best if this
specification honours this historical distinction.

> I think you might want to make it more than a single language tag. The purpose
> of http-link-header is to provide metadata about a link in addition to the
> URI. This is more like providing the author's intended target audience rather
> than the document processing language. That is, it's like the Content-Language
> header and/or <meta> element, rather than like the <html> lang attribute. Cf.
> http://www.w3.org/International/questions/qa-http-and-lang#answer

Again, the closest thing we have to this is the <link> element in HTML:

  hreflang = langcode [CI]
    This attribute specifies the base language of the resource designated by
    href and may only be used when href is specified.

                  - http://www.w3.org/TR/html401/struct/links.html#adef-hreflang

I would imagine we'd want to stick to roughly the same semantics.

Best,

-- 
Noah Slater, http://tumbolia.org/nslater

---

From: "Phillips, Addison" <[email-masked]>
Date: Fri, 24 Jul 2009 09:14:55 -0700

> specification honours this historical distinction.

I don't disagree, which is why I said "consider". The problem with the historical usage is that people are confused by how to use it. They expect a 'lang' refers to the language of the item in question.

Addison

Addison Phillips
Globalization Architect -- Lab126
Chair -- W3C Internationaliation WG