Conjugations
@a-or-an
parameter: some text (a word)
returns: that word, preceded by either “a” or “an”
This function inserts the undefined article “a” or “an” before an English word. For example, when passing “house” it will return “a house”, while if passing “animal” it will return “an animal”.
Please note that, while this special function uses a reasonably advanced algorithm and takes into account many different exceptions, there exists no exhaustive list of words and their undefined article, so in a few edge-cases errors may occur.
@acc
any type of parameter
returns: that same parameter, but flagged as requesting the accusative case
see also: @case
This function causes its parameter to be flagged as requiring the accusative case. Currently, the only scenario where this is supported, is for durations in Lithuanian. (Please contact us if you would have your own use cases).
This function has no effect in languages that do not support cases (such as English, French and Dutch).
@art-undef
parameter: a concept
returns either nothing (if no undefined articles apply in the language) or text representing the correct undefined article
For example, in French, @art-undef(#buyer)
would return un
if the conceptlabel would be set to “acheteur”.
This special function operates in exactly the same way as @art-def
, except that it returns an undefined article.
@in-language
first parameters: either a datafield or a #concept
second parameter: a two-character string referring to the language (“en”, “nl”, “fr”, “lt”, “de”, …)
returns text (or nothing)
see also: @multi-language
When a text-datafield (#concept^datafield
) is passed as a parameter, this function will return the value of that datafield in the specified language.
When a #concept
is passed as a parameter, this function will return the current concept-label for that concept in the specified language.
For example, assume that your main language is French and that you want to translate the French clauses to English, whereby the concept-label #president gets outputted as “Président” in French and “Chairman” in English. In the signature box — which should obviously not get translated — you can then insert the following text in the French version:
This would then output as “Président / Chairman”. When you would change the concept-label, it would immediately get updated as well.
Similarly, if the function of a certain person would get stored in a multi-language text-datafield, you could use @in-language(#signatory^function, "en")
in the uni-language signature box to pull the English data from the datafield.
@is-plural
parameter: a defined term (#concept)
returns true or false
see also: @is-singular
Returns true if the preferred number for the defined term is plural; otherwise returns false.
For example, @is-plural(#employee)
will return true if the conceptlabel used for concept “employee” defaults to the plural form.
Tip: you can easily invert the behaviour of this special function: not(@is-plural(#employee))
will return true if concept “employee” is not currently set to a plural word.
@is-singular
parameter: a defined term (#concept)
returns true or false
see also: @is-plural
Returns true if the preferred number for the defined term is singular; otherwise returns false.
For example, @is-singular(#employee)
will return true if the conceptlabel used for concept “employee” defaults to the singular form.
Tip: you can easily invert the behaviour of this special function: not(@is-singular(#employee))
will return true if concept “employee” is not currently set to a singular word.
@is-female
parameter: a defined term (#concept)
returns true or false
see also: @male-female and @is-male / @is-neutral
Returns true if the current conceptlabel of the specified concept is set to female.
For example, @is-female(#employee)
will return true if the conceptlabel used for concept “employee” is currently set to a word with female gender.
Tip: you can easily invert the behaviour of this special function: not(@is-female(#employee))
will return true if concept “employee” is currently set to a word with neutral or male gender.
@is-male
parameter: a defined term (#concept)
returns true or false
see also: @male-female and @is-female / @is-neutral
Returns true if the current conceptlabel of the specified concept is set to male.
For example, @is-male(#employee)
will return true if the conceptlabel used for concept “employee” is currently set to a word with male gender.
Tip: you can easily invert the behaviour of this special function: not(@is-male(#employee))
will return true if concept “employee” is currently set to a word with neutral or female gender.
@is-neutral
parameter: a defined term (#concept)
returns true or false
see also: @male-female and @is-female / @is-male
Returns true if the current conceptlabel of the specified concept is set to neutral gender (for those languages that support it, such as Dutch).
For example, @is-neutral(#employee)
will return true if the conceptlabel used for concept “employee” is currently set to a word with neutral gender.
Tip: you can easily invert the behaviour of this special function: not(@is-neutral(#employee))
will return true if concept “employee” is currently set to a word with male or female gender.
@male-female
parameter: a defined term (#concept), some second parameter, and some third parameter
returns either the second parameter or the third parameter
see also: @is-male and @is-female
Returns the second parameter if the specified concept is currently set to a male conceptlabel, and returns the third parameter if the specified concept is currently set to a female conceptlabel. Returns nothing if no conceptlabel is set, or the conceptlabel is set to the neutral form (in languages that have a neutral form, such as Dutch).
For example, @male-female(#employee, 5, 6)
will return 5 if the current conceptlabel of #employee is set to male, and returns 6 if set to female. Similarly, @male-female(#employee, "Mr", "Ms")
will return either Mr or Ms
@multi-language
no parameters
returns true or false
see also: @in-language
Returns true
if the current document contains multiple languages at once (i.e., is printed with multiple columns). Note that this will never be the case when a document is shown within the browser.
Tip: you can easily invert the behaviour of this special function: not(@multi-language)
will return true only one single language is being outputted.
@case
parameters:
a concept or reference
text, with the first letter(s) of the required grammatical case
returns the parameter (e.g., if a concept was specified, it will return a concept) with the grammatical case applied to it
@art-def
parameter: a concept
returns either nothing (if no defined articles apply in the language) or text representing the correct defined article
For example, in French, @art-def(#buyer)
would return l'
if the conceptlabel would be set to “acheteur”.
This special function can be useful for situations where you need to split the article from the concept — as would for example be the case when you want the defined term to be bold, but not its article. For languages such as English (where the defined article is always the same), you can simply write something like the ~#-employer~
. In German, however, the article will change depending on the gender and grammatical function of the noun (concept), so you do not necessarily know which article will apply. In such cases, @art-def
is crucial, as it allows you to write @art-def(#employer) ~#-employer~
.
Tip: you can force a certain grammatical case by combining @art-def
with @case
. In the previous example, you could for example write @art-def(@case(#employer, "g")) ~#-@case(employer, "g")~
to force both the article and the conceptlabel into genitive.
@one-else
first parameter: a whole number (or a duration, for which the number will then be extracted)
second and third parameter: text
returns text
see also: @one-else-nr
Returns the second parameter if the first parameter is equal to 1 or -1. In all other cases, returns the third parameter.
This function is typically used as a shortcut form — see the examples below.
Examples:
@one-else(1, "unit", "units")
will result in “unit”. It would be similar to writing {#some^datafield = 1: unit | else: units}@one-else(3, "unit", "units")
will result in “units”
@one-else-nr
first parameter: a whole number (or a duration, for which the number will then be extracted)
second and third parameter :text
returns the number, followed by the text
see also: @one-else
Returns the number, followed by:
the second parameter if the first parameter is equal to 1 or -1;
in all other cases, returns the third parameter.
This function is typically used as a shortcut form — see the examples below.
Examples:
@one-else-nr(1, "unit", "units")
will result in “1 unit”. It would be similar to writing {#some^datafield = 1: 1 unit | else: #some^datafield units}@one-else-nr(3, "unit", "units")
will result in “3 units”
@possessive
parameter: text (or some parameter that can be converted to text)
returns the text with either
's
or'
appended
Only supported in Danish, Dutch, English and Swedish. In all other languages, the word is returned as-is (unmodified).
In the supported languages, this function returns the word with either only an apostrophe, or both an apostrophe and the letter “s” appended. The idea is to return the possessive (genitive) form.
For example, in English, this adds both apostrophe and the letter “s” when the original word does not end on the letter “s” — e.g., house
becomes house's
, while series
becomes series'
. Slightly different rules apply for Dutch, Danish and Swedish.
Do note that the algorithm used is not perfect, and does not perform a lookup in the dictionary. A minority of words will therefore be incorrect in the possessive form.
@plural
parameter: #concept
returns text (label of the concept)
see also: @singular
Returns the label of the passed concept, in plural form if possible.
@singular
parameter: #concept
returns text (label of the concept)
see also: @plural
Returns the label of the passed concept, in singular form if possible.
@singular-plural
first parameter: a whole number
second parameter: a defined term (#concept)
see also: @one-else
Returns the singular form of the specified concept if the first parameter is equal to one; otherwise returns the plural form of the specified concept.
For example, @singular-plural(1, #concept)
will return the singular form of the conceptlabel assigned to #concept.
Last updated