We decided to separate the expression syntax used to call to other entities from the syntax used to reference developer provided variables.
Developer provided variables (either from the context or a call) Entities are referenced by a name, no changes here. But in order to reference another entity, a developer provided variable (either from the context or a call) a prefix ":$" has to be used. It looks like this:
<pre>
>
<about "About {{ :brandName.nominative }}"><update[:brandName:.._gender.win] { male: "{{ :brandName }} has been updated. The update took {{ $updateTime }} seconds." female: "{{ :brandName:..accesskey.mac }}"
}>
</pre>
The rationale here is that we expect localizers to reference developer provided variables much more often, while referencing other entities (except for a brandName like cases) will be rather an exception.
For computed calls, the syntax will look like this:
<pre>
/*
For variables:
var1 - "accesskey"
var2 - "entity2"
var3 - "win"
*/
<entity1 "value"
accesskey: "c">
<entity2 "value">
<entity3 {
win: "test",
lin: "test2"
}>
/*
This will compute to "Hello c and value and test"
*/
<title "Hello {{ :entity1:[var1] }} and {{ :[var2] }} and {{ :entity3[var3] }}">
</pre>
== status ==