- From: Felix Sasaki <fsasaki@w3.org>
- Date: Fri, 3 Aug 2012 11:56:47 +0200
- To: Shaun McCance <shaunm@gnome.org>, public-multilingualweb-lt@w3.org
- Message-ID: <CAL58czqYjy8wkyXRbPtfs-hZTjFFxUM3+ShoW8WWQ8bePgq9Kg@mail.gmail.com>
Hi Shaun, all, one more aspect about the locale filter data category. Currently we specify basic filtering http://tools.ietf.org/html/rfc4647#section-3.3.1 as the method to match locales in the localeFilter rule and in the content. Would it make sense to use extended filtering http://tools.ietf.org/html/rfc4647#section-3.3.2 and extended language ranges http://tools.ietf.org/html/rfc4647#section-2.2 instead? This allows you to specify a language range like de-*-DE , which matches e.g. de-latn-DE. I have an action item from the i18n core working group to check this. Thanks, Felix 2012/8/1 Felix Sasaki <fsasaki@w3.org> > Hi Shaun, > > that would work for me - let's just see what others think. > > Felix > > > 2012/8/1 Shaun McCance <shaunm@gnome.org> > >> Hi Felix, >> >> Sorry I've been away this past week. I actually have an alternate >> proposal to simplify things even further: Drop the filter type >> entirely. I asked back in April if anybody had a use case for the >> "negative"/"exclude" type: >> >> >> http://lists.w3.org/Archives/Public/public-multilingualweb-lt/2012Apr/0148.html >> >> I still haven't seen one, and I've had a hard time coming up with >> one for the examples. If we don't need "exclude", and if "all" and >> "none" can be accomplished otherwise, we could just drop the extra >> attribute and instead have this: >> >> <its:localeFilterRule selector="//legalnotice" >> localeFilter="en-CA,fr-CA"/> >> >> <legalnotice its:localeFilter="en-CA,fr-CA"/> >> >> So does anybody actually need to enumerate locales where content >> must be dropped? >> >> -- >> Shaun >> >> On Tue, 2012-07-31 at 22:40 +0200, Felix Sasaki wrote: >> > Hi Shaun, all, >> > >> > >> > since there wasn't any further feedback on this, I implemented my >> > change proposal on ACTION-107, see >> > >> http://www.w3.org/International/multilingualweb/lt/drafts/its20/its20.html#LocaleFilter >> > this means: only two values for filterType ("include" or "exclude"), >> > the language range list is mandatory, and it may contain the wildcard >> > "*". Comments very welcome. If people disagree with the change I'll >> > revert the edits. >> > >> > >> > Best, >> > >> > >> > Felix >> > >> > >> > 2012/7/25 Felix Sasaki <fsasaki@w3.org> >> > Hi Shaun, all, >> > >> > >> > a question, or rather proposal on this. >> > >> > >> > It seems it is possible to express the meaning of "all" and >> > "none" at >> > >> http://www.w3.org/International/multilingualweb/lt/drafts/its20/its20.html#LocaleFilter >> > via "include" and "exclude", with just the language range >> > list. >> > >> > >> > <its:localeFilterRule selector="//legalnotice" >> > localeFilterType="include" localeFilterList=""/> >> > >> > >> > = don't add the legalnotice to any local >> > >> > <its:localeFilterRule selector="//legalnotice" >> > localeFilterType="include" localeFilterList="*"/> >> > >> > = add the legalnotice to all locals >> > >> > >> > <its:localeFilterRule selector="//legalnotice" >> > localeFilterType="exclude" localeFilterList="*"/> >> > >> > >> > = don't add the legalnotice to any local >> > >> > <its:localeFilterRule selector="//legalnotice" >> > localeFilterType="exclude" localeFilterList=""/> >> > >> > >> > = don't add the legalnotice to all locals >> > >> > >> > >> > >> > The basic language range in BCP47 >> > http://tools.ietf.org/html/bcp47#section-2.1 >> > contains the "*" anyway. So if we keep "all" and "none", the >> > interaction between the four values "all", "none", "inlcude" >> > and "exclude" with "*" or the empty list or ranges gets messy. >> > >> > >> > So the idea would be >> > - get rid of "all" and "none" >> > - make clear in a note that the list may be empty and that >> > languages ranges can be just "*", with the effects described >> > above. >> > >> > >> > I'm happy to draft that if you and others are OK with this. >> > >> > >> > Felix >> > >> > 2012/7/16 Shaun McCance <shaunm@gnome.org> >> > Here's a second take on locale filter. Felix >> > recommended using >> > a language range from RFC 4647. In fact, we want a >> > priority >> > list of language ranges. RFC 4647 does not define the >> > syntax >> > for these, but it defines semantics. [Section 2.3] It >> > uses >> > a comma-separated list as an example syntax. I used >> > that. >> > >> > http://tools.ietf.org/html/rfc4647 >> > >> > Also, I've decided to use basic language ranges rather >> > than >> > extended language ranges. [Sections 2.1, 2.2, 3.3.1, >> > 3.3.2] >> > Basic ranges either match exactly or match initial >> > substrings >> > with a hyphen. You can use '*' to mean "anything", but >> > you >> > can't use it as a subtag, e.g. '*-CH'. If you want to >> > filter >> > for a region, you'll have to enumerate the languages, >> > e.g. >> > 'de-CH, fr-CH, it-CH'. >> > >> > I chose basic filtering because I think the algorithm >> > for >> > extended filtering is tricky (but not impossible) to >> > do in >> > XSLT 1.0, at least without EXSLT. Basic filtering is >> > easy. >> > If anybody feels strongly that we should use extended >> > filtering, speak up. I'm not really opposed. >> > >> > If there's no objections, I'll put together some >> > examples >> > and add this to the ODD file. >> > >> > >> > = Locale Filter >> > >> > == Definition >> > >> > The Locale Filter data category specifies that a node >> > is only >> > applicable to certain locales, or that it is not >> > applicable >> > to certain locales. >> > >> > This data category can be used for several purposes, >> > including, >> > but not limited to: >> > >> > * Include a legal notice only in locales for certain >> > regions. >> > * Drop editorial notes from all localized output. >> > >> > >> > The Locale Filter data category associates with each >> > selected >> > node a filter type and a language priority list >> > conforming to >> > RFC 4647. The language priority list is a >> > comma-separated list >> > of basic language ranges. Whitespace surrounding >> > language ranges >> > is ignored. >> > >> > The locale filter type can take the following values: >> > >> > >> > >> > * "all": The node is included in all locales. >> > * "none": The node is included in no locales. >> > * "include": The node is only included in locales >> > that match >> > at least one language range in the language >> > priority list >> > using basic filtering. >> > * "exclude": The node is included in all locales >> > except those >> > that match at least one language range in the >> > language priority >> > list using basic filtering. >> > >> > >> > If the locale filter type is "all" or "none", a >> > language priority >> > list SHOULD NOT be provided. If one is, it MUST be >> > ignored. If the >> > >> > locale filter type is "include" or "exclude", a >> > language priority >> > list SHOULD be provided. If one is not, it MUST >> > default to the >> > empty list. >> > >> > == Implementation >> > >> > The Locale Filter data category can be expressed with >> > global >> > rules, or locally on an individual element. The >> > information >> > applies to the textual content of the element, >> > including child >> > elements and attributes. The default is that the >> > locale filter >> > type is "all". >> > >> > >> > Implementations MUST NOT combine language priority >> > lists from >> > multiple rules or local attributes. >> > >> > GLOBAL: The localeFilterRule element contains the >> > following: >> > >> > * A required selector attribute. It contains an XPath >> > expression >> > which selects the nodes to which this rule applies. >> > >> > * A required localeFilterType attribute with the >> > value "all", >> > "none", "include", or "exclude". >> > >> > * An optional localeFilterList attribute with a >> > comma-separated >> > >> > language priority list. >> > >> > LOCAL: The following local markup is available for the >> > Locale >> > Filter data category: >> > >> > * A localeFilterType attribute with the value "all", >> > "none", >> > "include", or "exclude". >> > >> > >> > * A localFilterList attribute with a comma-separated >> > language >> > priority list. >> > >> > >> > >> > >> > >> > >> > >> > >> > -- >> > Felix Sasaki >> > DFKI / W3C Fellow >> > >> > >> > >> > >> > >> > >> > -- >> > Felix Sasaki >> > DFKI / W3C Fellow >> > >> > >> >> >> >> > > > -- > Felix Sasaki > DFKI / W3C Fellow > > -- Felix Sasaki DFKI / W3C Fellow
Received on Friday, 3 August 2012 09:57:18 UTC