Skip to content

Commit 5223e17

Browse files
eemeliaphillips
andauthored
Add tech preview attribute recommendation (#647)
* Add tech preview attribute recommendation * Update spec/syntax.md * Add recommendation against generic options for translators Co-authored-by: Addison Phillips <[email protected]> * Update spec/syntax.md --------- Co-authored-by: Addison Phillips <[email protected]>
1 parent bb93fa6 commit 5223e17

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

spec/syntax.md

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,7 @@ markup = "{" [s] "#" identifier *(s option) *(s attribute) [s] ["/"] "}" ; open
678678
> A _message_ with one `button` markup span and a standalone `img` markup element:
679679
>
680680
> ```
681-
> {#button}Submit{/button} or {#img alt=|Cancel| /}.}
681+
> {#button}Submit{/button} or {#img alt=|Cancel| /}.
682682
> ```
683683
684684
> A _message_ with attributes in the closing tag:
@@ -699,6 +699,43 @@ on the pairing, ordering, or contents of _markup_ during _formatting_.
699699
Examples in this section are meant to be illustrative and
700700
might not match future requirements or usage.
701701
702+
> [!NOTE]
703+
> The Tech Preview does not provide a built-in mechanism for overriding
704+
> values in the _formatting context_ (most notably the locale)
705+
> Nor does it provide a mechanism for identifying specific expressions
706+
> such as by assigning a name or id.
707+
> The utility of these types of mechanisms has been debated.
708+
> There are at least two proposed mechanisms for implementing support for
709+
> these.
710+
> Specifically, one mechanism would be to reserve specifically-named options,
711+
> possibly using a Unicode namespace (i.e. `locale=xxx` or `u:locale=xxx`).
712+
> Such options would be reserved for use in any and all functions or markup.
713+
> The other mechanism would be to use the reserved "expression attribute" syntax
714+
> for this purpose (i.e. `@locale=xxx` or `@id=foo`)
715+
> Neither mechanism was included in this Tech Preview.
716+
> Feedback on the preferred mechanism for managing these features
717+
> is strongly desired.
718+
>
719+
> In the meantime, function authors and other implementers are cautioned to avoid creating
720+
> function-specific or implementation-specific option values for this purpose.
721+
> One workaround would be to use the implementation's namespace for these
722+
> features to insure later interoperability when such a mechanism is finalized
723+
> during the Tech Preview period.
724+
> Specifically:
725+
> - Avoid specifying an option for setting the locale of an expression as different from
726+
> that of the overall _message_ locale, or use a namespace that later maps to the final
727+
> mechanism.
728+
> - Avoid specifying options for the purpose of linking placeholders
729+
> (such as to pair opening markup to closing markup)
730+
> or require that such options use an implementation-specific namespace
731+
> while cautioning users that such option might be replaced or unavailable later.
732+
> - Avoid specifying generic options to communicate with translators and
733+
> translation tooling (i.e. implementation-specific options that apply to all
734+
> functions.
735+
> The above are all desirable features.
736+
> We welcome contributions to and proposals for such features during the
737+
> Technical Preview.
738+
702739
An **_<dfn>attribute</dfn>_** is an _identifier_ with an optional value
703740
that appears in an _expression_ or in _markup_.
704741

0 commit comments

Comments
 (0)