User:Benwing2/test-labels-demo

Examples
Some examples to demonstrate the range of current functionality:
 * A single ad hoc context with no supporting template:


 * A single context with supporting template (for categorization and custom label-text):


 * Multiple contexts, with or without supporting templates:


 * Multiple contexts, with special built-in separator pseudo-contexts that replace the comma:


 * Qualifier/modifier pseudo-contexts whose supporting templates suppress following comma (by adding a  parameter):

Language-specific labels
An example of a language-specific label:

The label is only linked when the language code is  (representing Ancient Greek).

Redirecting labels
Certain labels are aliases that "redirect" to other labels, or are displayed as them.

If the wrong language code is used, in this case lua (German), the label will not be redirected.

Double angle bracket notation
Complex cases involving multiple contexts, especially those that involve pseudo-contexts, are often easier to format using double angle bracket notation. The following shows an example, first using pseudo-contexts and then the equivalent using double angle brackets:

Comma-separated arguments inside of double angle brackets are split if the comma is not followed by a space. You can also mix regular and double angle bracket arguments. For example, the following are all equivalent:

Suppressing canonicalization of labels
Labels are normally converted to their canonical forms, for consistency. For example, automatically displays as Australia rather than Australian. In some circumstances, however, this is undesirable. To suppress this, precede the label with an exclamation point. For example:

Forcing a label to display a particular way
An extension of the previous notation,, allows you to display as  in place of how it would normally display. This works both in regular and double angle bracket notation, for example: