Changes

Jump to: navigation, search

L20n/Features/Entities vs Variables

1,476 bytes added, 14:02, 1 March 2012
Created page with "== goal == we need to be able to recognize variables from a developer from entities located in resources == example == We decided to separate the expression syntax used to call..."
== goal ==
we need to be able to recognize variables from a developer from entities located in resources

== example ==

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) are referenced by a name, no changes here. But in order to reference another entity, a prefix ":" has to be used. It looks like this:

<pre>
<brandName {
nominative: "Firefox",
genitive: "Firefoksa"
}
_gender: { mac: 'male', win: 'female' }
accesskey: { mac: 'F', win: 'C'}
>

<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 ==
* open
* stas, gandalf - ok
* pike - ?
Canmove, confirm
1,448
edits

Navigation menu