- From: L. David Baron <notifications@github.com>
- Date: Wed, 27 Sep 2017 08:57:21 -0700
- To: w3ctag/design-reviews <design-reviews@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3ctag/design-reviews/issues/178/332569369@github.com>
@cynthia and I just had a breakout discussion of this. I think one conclusion that we came to is that the option of having a lang that applies to multiple strings is a little weird, e.g., in: ```json { "title": "Nice", "description": "Une ville française", "lang": "fr", "postcode": "06000" } ``` it feels weird that the `"lang"` applies to both the `"title"` and the `"description"` but not the `"postcode"`. That just doesn't feel to me like the way JSON works. In other words, I think we lean towards the solutions that have the language information of the `"title"` to be inside the value of `"title"`. So then given the options that we've talked about so far, I think that only leaves two options, one of which is to say that we'd require what I'll call (A): ```json { "title": { "text": "Nice", "lang": "fr" }, "description": { "text": "Une ville française", "lang": "fr" }, "postcode": "06000" } ``` where only the `"text"` property would be mandatory, i.e., where you could write this (B): ```json { "title": { "text": "Nice" }, "description": { "text": "Une ville française" }, "postcode": "06000" } ``` if you didn't have language information, but that would forbid (C): ```json { "title": "Nice", "description": "Une ville française", "postcode": "06000" } ``` The alternative remaining option would instead allow (C) as an equivalent to (B). ----- @cynthia also brought up the issue of how this extends to when you have text in multiple languages. For example: ```json { "name": [ {"lang": "fr", "text": "Nice"}, {"lang": "ja", "text": "ニース"} ] } ``` or perhaps more JSON-ish: ```json { "name": { "fr": {"text": "Nice"}, "ja": { "text": "ニース"} } } ``` although the latter doesn't allow the specific strings to be passed around without creating a new object. But the former has slow search. Here you'd now have to test whether the value of `"name"` is an object or an array (are those the right JSON terms?). In theory the alternative could be to force a list, but that feels like we're going down a very different use case. ----- So another question for the folks who raised this issue is that it might help us to have a better idea of what the range of use cases where this comes up looks like. Are there a few representative examples we can look at to make this a little more concrete? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3ctag/design-reviews/issues/178#issuecomment-332569369
Received on Wednesday, 27 September 2017 15:57:45 UTC