Re: i18n-ISSUE-140: Multilingual q nesting [CSS21] [css3-content]

On 02/29/2012 11:01 AM, Richard Ishida wrote:
> 7.1. Inserting quotes with the 'content' property
> http://www.w3.org/TR/2003/WD-css3-content-20030514/#specifying
>
> I'm wondering whether we need a way to reset the embedding levels of quotes.
>
> Here's the reason:
>
> If you have the following CSS:
>
> :lang(en) > * { quotes: '"' '"' "'" "'"; }
> :lang(no) > * { quotes: "«" "»" '"' '"' }
>
> And you have
>
> <p lang=no>Some Norwegian text <q>more norwegian <q>more norwegian</q></q>.</p>
>
> You'd expect to see
>
> Some Norwegian text «more norwegian "more norwegian"».
>
> which perfectly fine.
>
> But if you had
>
> <p lang=en>Some English text <q lang=no>Some norwegian <q>more
> norwegian</q></q>.</p>
>
> Then I think you'd see
>
> Some English text "Some norwegian "more norwegian"".
>
> I'd have thought that the quotes surrounding the text 'more norwegian' here should be surrounded by «...». This could maybe be
> done by a rule that says that if a q element carries a lang attribute, the next embedded q attribute should use the highest
> level quote marks.
>
> Or perhaps it needs some attribute to reset the levels?

It's a good point. Or maybe a mismatch in the 'quotes' property triggers
that reset. (I doubt that'll be backwards-compatible with implementations,
but it's likely backwards-compatible with existing content.)

Quotes are a tricky thing, though; I'd defer to dbaron on this point. :)

> In addition, maybe that would also give you more control over how the quotes are used in other situations (such as to
> replicate the original text) - although perhaps that's best achieved using special class names or just by avoiding q altogether.

Not sure what you had in mind here, mind explaining? (If you want specific
quote style, you can just use :before { content: "<insertquotemarkhere>" }
instead of :before { content: open-quote; }.)

~fantasai

Received on Wednesday, 29 February 2012 20:06:43 UTC