-
-- <?=s,$var1,$var2,$var3,...,$varn,This %s is, %s free.?>
- Translate the last string. Output $var1,...,$varn sprintf-ed into the translated string.
-
-- <? if($variable) { ?>
- Output/execute the text until "<? } ?>" only if $variable is boolean and true.
+ Text may not contain "?>".
+ If the text contains "$" or "!'" it is interpreted as "advanced replacement".
+ - ${variablename} is interpreted as "output this variable at this point"
+ - $!{variablename} is interpreted as "output this variable unescaped at this point"
+ - !(/link) is interpreted as "output an opening <a>-tag to '/link' at this point" (which must be closed, e.g. using !'</a>', see below)
+ - !'literal content' output "literal content" here and do not translate or escape. (literal content may not contain any of: {}'$ )
+ Then the whole text than also may not contain "{" and "}".
+
+- <? if($variable) { ?> ... <? } ?>
+ Output/execute the text until "<? } ?>" only if $variable is Boolean.TRUE (<=> !Boolean.FALSE) or not null.
+- <? if(...) { ?> ... <? } else { ?> ... <? } ?>
+
+- <? foreach($variable) { ?> ... <? } ?>
+ If $variable is an "IterableDataset"
+ Output/execute the text until "<? } ?>" repeated as $variable suggests.
+ Special variables that $variable defines can be used in the inner text.
+