Subject: [Ltru] FW: 13th-hour WG Last Call comments‏

From: "Phillips, Addison" <[email-masked]>
Date: Wed, 3 Dec 2008 10:46:16 -0800

The email address in CE Whitehead's original email to me was damaged, so my reply didn't make it to the list. See below.

Addison Phillips
Globalization Architect -- Lab126

Internationalization is not a feature.
It is an architecture.

-----Original Message-----
From: Phillips, Addison
Sent: Wednesday, December 03, 2008 10:45 AM
To: 'CE Whitehead'; [email-masked]
Subject: RE: [Ltru] 13th-hour WG Last Call comments‏

Thank you for reposting your comments. Some replies follow.

Addison Phillips
Globalization Architect -- Lab126

Internationalization is not a feature.
It is an architecture.

====

My comments are all editorial in fact; I do not think they are wrong; almost all were attempts to write the draft more clearly.
As for the page numbers, I really do not have much time to read the draft online, so I pasted a copy of the text into notepad and printed it and somehow assumed the page numbers to be at the bottom of each page.  So the page numbers are one page off (just add one to each).  I also provided you with the section numbers and the paragraph number within each section.

AP> I make that mistake too, which I why I like to point out that the page numbers are at the tops :-).

Most of my edits were requests for clarification; I shortened pagaraph 2 in section 2.1; I found a case where two clauses appeared to be in parallel because of word choice and were not.

The white space is awful & I can't read it either; I'll try sending the comments again and also cc-ing you.

AP> Actually, your entire email was rendered into spaces with occasional non-space characters, so it wasn't just "white space" :-). John Cowan was kind enough to forward your message as text, but I will rely on your comments below.

As I said, whether or not you take my comments, you  need to correct a misspelling of the word "extension" as "extention":

AP> Corrected in editor's copy of draft-20.

// ....

{COMMENT:  please correct the spelling of "extention.".}

AP> As noted.

* * *

2.1; Page 4; par 2.

   There are different types of subtag, each of which is distinguished

   by length, position in the tag, and content: each subtag's type can

   be recognized solely by these features.  This makes it possible to

   extract and assign some semantic information to the subtags, even if

   the specific subtag values are not recog
 nized.  Thus, a language tag

   processor need not have a list of valid tags or subtags (that is, a

   copy of some version of the IANA Language Subtag Registry) in order

   to perform common searching and matching operations.  The only

   exceptions to this ability to infer meaning from subtag structure are

   the grandfathered tags listed in the productions 'regular' and

   'irregular' below.  These tags were registered under [RFC3066] and

   are a fixed list that can never change.

{COMMENTS:

1.  The above paragraph is a bit awkward, hard to read}

AP> This paragraph is the result of working group consensus, so it is not surprising that it isn't as easy to read as it might be.

>  There are several/different types of subtags.  A subtag's length and position in the language tag, as well as its content, serves to distinguish its
subtag type.  Thus it is possible to extract from and assign to the subtag some semantic information, even when the subtag's specific value is not recognized. Because of this, a language tag processor need not have a list of all valid tags or subtags (that is, a copy of the IANA Language Subtag Registry), in order to perform common searching and matching operations on the tag.  Exceptions are the 'regular' and 'irregular' grandfathered tags, listed below.  Semantic information cannot be extracted from the individual subtags that compose the grandfathered language tags because these tags are only interpretable only as wholes.  The order of and length of subtags that make up the 'irregular' grandfathered tags may !
 in fact vary from the rules governing order and length of subtags specified in this document (see below).  It is therefore possible, in an irregular grandfathered language tag, to have a variant subtag composed of fewer than four characters or a subtag denoting a region preceding one denoting a language, as in, f
 or example, "sgn-BE-fr" (which denotes Belgian French sign language, the French language as used in Belgium).  The grandfathered tags were registered under [RFC3066] and are a fixed list that can never change.

AP> (editor hat OFF) First, the editorial changes don't really add anything significant, IMO. The discussion of 'irregular' tags, however, is dead-wrong, in my opinion. Assigning a subtag type to subtags in irregular tags is, at best, arbitrary and has never been done before. I don't see a reason to do so now.

* * *
* * *
2.1; page 4; par. 3

The syntax of the language tag in ABNF [RFC5234] is:

{COMMENTS:

1.  It is confusing to have the whole list that follows with no real introduction; what about a short definition of the syntax first?}

>  The language tag (referred to below as langtag) in ABNF [FRC5234] is composed of one (1) language (or macrolanguage?) subtag, followed by--in order--zero or one extended language subtag,
  zero or one script subtag, zero or one region subtag, sero or more variant subtags, and zero or more singletons (single character prefixes) for extension language subtags, with each singleton followed by one or more extension language subtags.
The language tag may be interrupted anywhere in the tag (including initial position) by private use subtags.  These are introduced by the singleton x.  The singleton x indicates that all content that follows is governed by private agreement only, and that its meaning and arrangement is not covered in this document!
  (see section 2.2.7 and 4.6 below for more information on private use subtags).

AP> (editor hat OFF) (confused) The introduction you propose appears directly after an introduction that defines what a subtag is. The document goes on, after the ABNF, to describe what all these things are. Reorganizing the document now would seem a large-ish task.

Rules governing the length of the various types of subtags are specified below and in Section 2.2.

As noted above, grandfathered language tags are not governed by all of the above rules of syntax (for more on grandfathered tags, see 2.2.8, below).

AP> (editor hat OFF) Of course they are! That's because the syntax *includes* the grandfathered tags as part of itself. Note that we previously had a more "expression-like" syntax, rather than just the lists of tags, in RFC 4646.

* * *
* * *

2.1, pages 4-6
{COMMENTS:

1.  My main comment on the section below is that I find it very distracting and bizarre to use the asterisk [*] to indicate a variable number of letters and numbers, for example 5*8 indicates 5 to 8 letters in a variant subtag beginning with a letter;

AP> (editor hat OFF) RTF RFC5234.

2.1, p. 6, par 5
The
 re is a subtlety in the ABNF

   production 'variant':
{COMMENTS:

1.  ???  Do you need this comment about 'subtlety'?; the information that follows this--see below--is sufficient!}
> {NULL, nothing here needed.}

AP> (editor hat OFF) IMO, it is useful to point out in the text near to the syntax any weird tricks one has used in it. Many developers focus strictly on the ABNF and will not read the details elsewhere.

1.  last sentence is awkward and wordy; change.}

> This allows tags to be parsed and processed without reference to either the latest version of the underlying standards or the IANA registry, and simplifies exception handling associated with the parsing of language tags.

AP> (editor hat ON) This is a minor stylistic change and has no impact. Not done.

{CLARIFICATION??

NEED CLARIFICATION of the first sentence in the paragraph below:

What about the reserved sequences for private language subtags ranging from '
 qaa' to 'qtz,' and the reserved sequences for private region subtags including 'AA,' 'QM'-'QZ,' 'XA-XZ,' and 'ZZ?'

These do not follow the singleton x and so occur in their normal position in the language tag, right?

}

  Sequences of private use and extension subtags MUST occur at the end

   of the sequence of subtags and MUST NOT be interspersed with subtags

   defined elsewhere in this document.  These sequences are introduced

   by single-character subtags, which are reserved as follows:

> Sequences of private use (excepting those sequences reserved for language subtags--ranging from 'qaa' to 'qtz', those reserved for script subtags--ranging from 'Qaaa' to 'Qabx', and those reserved for region subtags--including 'AA', 'QM'-'QZ', 'XA'-XZ', and 'ZZ') and extension subtags

MUST occur at the end of the sequence of subtags and MUST NOT be interspersed with subtags defined elsewhere in this document.

AP> (editor hat OFF) I don't think this is sufficiently confusing to warrant a change.

2.2.1.  Primary Language Subtag, p. 10, par 1, item 5

// ...

{ COMMENT:

1.  A transition--such as "However," "The above notwithstanding," etc, is needed to go the second paragraph in item 5 above.}

AP> (editor hat OFF) Not really.

2.2.1, p. 11, par. 6

{COMMENT/CLARIFICATION?:

What is the
 reference for "these" in the first sentence of the paragraph below?

AP> (editor hat OFF) The paragraph in question immediately follows several paragraphs listing problems with subtag choice and versioning between ISO 639 parts. I think it is clear enough. This text is actually quite old.

* * *

      "A language code already in ISO 639-2 at the point of freezing ISO

AP> (editor hat OFF) NB> ISO 639-1 is not frozen.

2.2.2.  Extended Language Subtags; p. 11, par 1

{COMMENT:  I think the fourth sentence of this paragraph should say "REQUIRED" not "RECOMMENDED;" this is not the same as capitalization rules, which are simply recommendations; I assume that a language tag without a primary language subtag will not be parsed properly.}
Extended language subtags are used to identify certain specially-

   selected languages that, for various historical and compatibility

   reasons, are closely identified with or tagged using an existing

   primary language subtag.  Extended language subtags are always used

   with their enclosing primary language subtag (indicated with a

  'Prefix' field in the registry) when used to form the language tag.

   All languages that have an extended language subtag in the registry

   also have an identical primary language subtag record in the

   registry.  This primary language subtag is RECOMMENDED for forming

   the language tag.  The following rules apply to the extended language

   subtags:
> This primary language subtag is REQUIRED.

AP> (editor hat OFF) "REQUIRED" is not what it intended here. The key thing you are missing is that it says "**THIS** primary language subtag...". Please read the paragraph again.

* * *
* * *
2.2.2. p. 11; par 1; item 4.
{ CLARIFICATIO??  Item 4 is confusing to me' does this mean that while 3 extended language sub!
 tags are permitted in theory, only one is permitted in fact?

AP> (editor hat OFF) Exactly so.

Or does this mean that three extended language subtags are permitted in fact when they have the same language subtag for a prefix & that they must all share that one prefix.
Does this ever happen?   It would be nice to clarify this in the draft.}

AP> (editor hat OFF) Actually, it says it in the paragraph, in the sentence beginning with "That is..."

 Although the ABNF production 'extlang' permits up to three

       extended language tags in the language tag, extended language

       subtags MUST NOT include another extended language subtag in

       their Prefix.  That is, the second and third extended language

       subtag positions in a language tag are permanently reserved and

       tags that include subtags in that position are inv
 alid.
* * *
* * *
2.2.2; page 12; par 2.

// ...

{CLARIFICATION??:  are there ever instances where zh-cmn might be preferable?  For example, with written Chinese, targeting primarily a Mandarin-speaking audience?}

AP> (editor hat OFF) Yes. We say so elsewhere.

* * *

* * *

2.2.3.  Script Subtag; page 12; par 1; item 4.

   4.  There MUST be at most one script subtag in a language tag, and

       the script subtag SHOULD be omitted when it adds no

       distinguishing value to the tag or when the primary or extended

       language subtag's record in the subt
 ag registry includes a

       'Suppress-Script' field listing the applicable script subtag.

   For example: "sr-Latn" represents Serbian written using the Latin

   script.
{ COMMENT:  I want to add a second example here that would not be appropriate, so it will be clearer to readers--might even prefer to replace the first example.  Or is the ex. getting too detailed?}
INSERT > The tag, "uk-Latn" similarly represents Ukrainian written in the Latin script.  The tag, "uk", on the other hand, indicates Ukrainian written in Cyrillic script.  On the other hand, the tag, "uk-Cyrl", is not a well-formed tag as a suppress-script of Cyrillic is registered for Ukrainian, and so the script subtag should not be used;

AP> (editor hat OFF) "uk-Cyrl" is a well-formed tag!!! It is also a valid tag! Suppress-Script is merely an informative field. But I don't really think we need more examples here. We discuss it at length elsewhere.

2.2.4. Region Subtag; page 12; par 1; item 2

   2.  Two-letter region subtags were defined according to the

       assignments found in [ISO3166-1] ("Codes for the representation

       of names of countries and their subdivisions -- Part 1: Country

       codes") using the list of alpha-2 country codes, or using

       assignments subsequently made by the ISO 3166-1 maintenance

       agency or governing standardization bodies.  In addition, the

       codes that are "exceptionally reserved" (as opposed to

       "assigned") in ISO 3166-1 were also defined in the registry, with

       the exception of '
 UK', which is an exact synonym for the assigned

       code 'GB'.

{COMMENT:
First,  elsewhere you use the present tense with "defined;" these subtags are still so defined, right?  If so I think the present tense is best, as you use it elsewhere.

AP> (editor hat OFF) This is not correct. Look again: all of the "were defined [in the registry]" sentences use the same tense as this one. Note that present tense would not be technically correct. The subtags that appear in the registry were all defined in the past. Current circumstances, in some cases, may have caused the assignments in the registry to be different from those in the ISO standard.

Second,  I inserted "in the registry" after defined; it seems more explicit;

AP> (editor hat OFF) It is more explicit. But it is not used this way in all cases. I think it is clear enough.

* * *

2.2.4; page 13; par 1; item 4C
     C.  When ISO 3166-1 reassigns a code formerly used for one

           country or area to another country or area and that code

           already is present in the registry, the UN numeric code for

           that country or area MUST be registered in the registry as

           described in Section 3.4 and MUST be used to form language

           tags that represent the country or region for which it is

           defined (rather than the recycled ISO 3166-1 code).
{COMMENT:  the wording is a bit confusing; insert "to which the code has been reassigned;" change the order a bit so that "rather than the recycled ISO 3166-1 code" is next to the info. on the U.N. numeric code. }

AP> (editor hat OFF) I don't think this is necessary.

2.2.5.  Variant Subtags; p. 15; par 1,; item 1

   Variant subtags are used to indicate additional, well-recognized

   variations that define a language or its dialects that are not

   covered by other available subtags.  The following rules apply to the

   variant subtags:

   1.  Variant subtags MUST follow any primary language, extended

       language, script, or region subtags, and MUST precede any

       extension or private use subtag sequences

{COMMENTS: again, I think you only mean those private-use subtags preceded by the singleton x; you might insert at end the following}

INSERT > (agai
 n, private use subtags does not include those reserved codes 'qaa'- . . .).

AP> (editor hat OFF) The phrase "private use subtag sequences" is not the same as "subtags whose meaning is reserved for private use".

// ...

* * *

2.2.9; page 20; par 4

   reference [RFC3066].  A wider array of tags was considered 'well-

   formed' under that document.  Any tags that were valid for use under

   RFC 3066 are both 'well-formed' and 'valid' under this document's

   syntax; only invalid or illegal tags were well-formed by the early

   definition but no longer are.  The language tag syntax under RFC 3066

   was:

       obs-language-tag = primary-subtag *( "-" subtag )

       primary-subtag   = 1*8ALPHA

       subtag           = 1*8(ALPHA / DIGIT)

                  Figure 2: RFC 3066 Language Tag Syntax

{CLARIFICATION?:  I'm still not clear as to what tags were well-formed but no longer are; I personally do not see the need of this comment; I guess though that you mean that these tags used subtags that were not in the registry but were otherwise well-formed???  If that's what you mean it's not clear.}

AP> (editor hat OFF) Tags that were well-formed but no longer are were never *VALID*. They used subtags that were not legal. For example, using the obs-language-tag syntax, the tag "taiwan" or the tag "taiwan-big5" would both be "well-formed". But neither has ever been "valid". Under the new syntax, note that "taiwan" is still "well-formed", but "taiwan-big5" is NOT. It is important to know the formal meaning we assign to each of those words when using them in regards to language tagging.

_______________________________________________
Ltru mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/ltru

---

From: "Randy Presuhn" <[email-masked]>
Date: Wed, 3 Dec 2008 12:49:00 -0800

Hi -

> From: "Phillips, Addison" <[email-masked]>
> To: "LTRU Working Group" <[email-masked]>
> Sent: Wednesday, December 03, 2008 10:46 AM
> Subject: [Ltru] FW: 13th-hour WG Last Call comments‏
>
...

As co-chair:

If there are any strenuous objections to Addison's proposed resolutions,
on this thread, please speak up NOW.

As a technical contributor:
I'm ok with Addison's proposed resultions to CE Whitehead's comments.

Randy

---

From: John Cowan <[email-masked]>
Date: Wed, 3 Dec 2008 16:19:09 -0500

> on this thread, please speak up NOW.

[I sent a copy of this to Addison directly due to flakiness at ccil.org.]

Now that my attention has been brought to it, I have to agree that there
is the potential for user confusion between private-use subtag such as
(such as x-foobar) and subtags of other types reserved for private use
such as 'Qaaa'.

Consistently using the phrases "private-use subtags" and "subtags
reserved for private use" everywhere (almost but not quite true: 2.2.9
says "designated for private use") and explaining what the difference
is would IMO go a long way to subduing this confusion.  Here's proposed
additional text for 2.2.7:

Private-use subtags should not be confused with what this document refers
to as "subtags reserved for private use".  These are subtags such as
'qaa', 'Qaaa', or 'AA' that are designated as private-use codes by
the underlying ISO standards.  Although their purpose is very similar,
subtags reserved for private use are syntactically language, script,
or region subtags, not private-use subtags.

-- 
John Cowan    http://ccil.org/~cowan    [email-masked]
[T]here is a Darwinian explanation for the refusal to accept Darwin.
Given the very pessimistic conclusions about moral purpose to which his
theory drives us, and given the importance of a sense of moral purpose
in helping us cope with life, a refusal to believe Darwin's theory may
have important survival value. --Ian Johnston
_______________________________________________
Ltru mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/ltru

---

From: "Mark Davis" <[email-masked]>
Date: Wed, 3 Dec 2008 13:21:26 -0800

+1
Mark

---

From: "Randy Presuhn" <[email-masked]>
Date: Wed, 3 Dec 2008 13:29:55 -0800

Hi -

> From: "John Cowan" <[email-masked]>
> To: "Randy Presuhn" <[email-masked]>
> Cc: "LTRU Working Group" <[email-masked]>
> Sent: Wednesday, December 03, 2008 1:19 PM
> Subject: Re: [Ltru] FW: 13th-hour WG Last Call commentsâ??
...
> or region subtags, not private-use subtags.

As a technical contributor...
This proposed addition seems reasonable and helpful.

Randy

---

From: "Phillips, Addison" <[email-masked]>
Date: Wed, 3 Dec 2008 13:32:57 -0800

(editor hat ON)

In incorporating John's suggested text, I made a change (to add the point I made earlier about their presence in the registry). The text now reads:

--
<t hangText="Note:">Private-use subtags should not be confused with what this document refers
to as "subtags reserved for private use".  These are subtags such as
'qaa', 'Qaaa', or 'AA' that are designated as private-use codes by
the underlying ISO standards.  Although their purpose is very similar,
subtags reserved for private use are each represented by a record of the appropriate 
type in the registry and, thus, are syntactically "language", "script", or "region" 
subtags, rather than "private-use" subtags.</t>
--

Addison Phillips

> From: [email-masked] [mailto:[email-masked]] On
> Behalf Of Randy Presuhn
> Sent: Wednesday, December 03, 2008 1:30 PM
> To: LTRU Working Group

---

From: "Mark Davis" <[email-masked]>
Date: Wed, 3 Dec 2008 13:56:56 -0800

+1
Mark

On Wed, Dec 3, 2008 at 13:32, Phillips, Addison <[email-masked]> wrote:

> (editor hat ON)
>
> In incorporating John's suggested text, I made a change (to add the point I
> made earlier about their presence in the registry). The text now reads:
>
> --

---

From: Peter Constable <[email-masked]>
Date: Wed, 3 Dec 2008 16:17:26 -0800

John's proposed wording seems OK to me.

Peter

---

From: Kent Karlsson <[email-masked]>
Date: Thu, 04 Dec 2008 20:42:17 +0100

> (such as x-foobar) and subtags of other types reserved for private use

"x-foobar" is not a private-use subtag. Indeed, it is not a subtag. However,
the "foobar" is a subtag, and by virtue of the "x" subtag before it (which I
assume to be the first "x" subtag in the tag, otherwise the "x" itself would
be a private-use subtag), the "foobar" is a private-use subtag.

> made earlier about their presence in the registry). The text now reads:

Even though "These" normally refer to the latest referent, I'd prefer being
extra clear here and say "The latter" instead of just "These" since the
preceding sentence introduces two possible referents.

> type in the registry and, thus, are syntactically "language", "script", or
> "region" subtags, rather than "private-use" subtags.</t>

I agree that this is helpful, but I don't like that the terms are as similar
as they are (now that the issue has been pointed out). But I guess it is too
late to change now, and I have no great new alternative term to suggest.

    /kent k