Teneo Developers

Language Object basics


Language Objects are reusable documents or containers that holds a TLML syntax; Language Objects can be anything from lists of synonyms and figures of speech over idioms or thematically related words, and they are used to anticipate the wide variety of user inputs.

The syntax language used is Teneo Linguistic Modeling Language (TLML); an extended reference manual is available here.

Available Language Objects

From a solution, users have access to the following collections of Language Objects:

  • Language Object located in the solution, and
  • Language Objects available in any lexical resource assigned to the solution

Language Objects located in the solution are under full control of the Teneo Studio user and these can be managed and modified in any way; Language Objects from a lexical resource (e.g. Teneo Lexical Resources) can be viewed and used in TLML syntaxes but not modified.

Naming a Language Object

When naming a Language Object, it is recommended to follow the naming conventions used by the Teneo Lexical Resources, on top of that the below requisites must be followed:

  • the name must be unique within the solution
  • the name is written in upper-case
    Lower cased characters are automatically upper cased by Teneo
  • the name cannot contain any reserved characters
    Any special characters or blank spaces are automatically converted into underscore by Teneo
  • the name cannot end with .ENTITY

If a Language Object in the solution shares its name with a Language Object in an assigned lexical resource, the Language Object located in the solution is always chosen by Engine over the Language Object in the assigned lexical resource.

Syntax Editor

A Language Object's syntax or condition is written using Teneo Linguistic Modeling Language (TLML); the Language Object can contain plain words, references to other Language Objects and/or Entities and even references to annotations. The different words or references must be separated by operators to indicate how they relate to each other.

To use a Language Object in the Syntax editor (or as an entry in an Entity), its name must be preceded by the percentage sign (%) and written in capitalized letters; Teneo Studio will automatically capitalize letters written after the percentage sign.
To obtain Language Object suggestions, type % followed by the first letter(s) of the Language Object to add, then press Ctrl + space on the keyboard for suggestions and lastly select the Language Object from the suggestions menu.

Check out the Teneo Linguistic Modeling Language Manual for details on the TLML syntax.
For an overview of what the Syntax editor itself has to offer, check out this page.


To open a Language Object in read only mode, either:

  • Double-click the wanted Language Object in the Solution Explorer view
  • Select the Language Object and click Open in the top ribbon
  • Right-click the Language Object and select Open in the context menu

Activate edit in the opened Language Object by clicking Edit in the top ribbon of the Language Object

To open a Language Object in edit mode, either:

  • Press the Alt key while double-clicking the wanted Language Object in the Solution Explorer view
  • Select the Language Object and click Edit in the top ribbon
  • Right-click the Language Object and select Edit in the context menu

Open a referenced Language Object from the Syntax editor by either double-clicking the name (opens in read-only mode) or by pressing Alt while clicking to open in edit mode.
Open a referenced Language Object from the Entries editor by left-clicking and selecting Open (opens in read-only mode) or Edit (opens in edit-mode).

Note that Language Objects and Entities referenced from an assigned lexical resource always open in read-only mode.


To create a new Language Object, simply follow the below steps:

  • Go to the Solution Explorer in the main Teneo Studio window (Home tab)
  • Optionally select the folder, or create a new folder, where the Language Object should be added
  • In the top ribbon, click on the Language Object button in the New area
  • The Language Object window opens on the Properties tab, add the Name of the Language Object
  • Optionally, add an Alias and a Description
  • Click the green Play icon or the back arrow in the top left corner
  • Now, add the TLML syntax of the Language Object in the Syntax editor
  • Optionally, add NLU Variables, LO Variables and/or Examples (available in the right-hand side panels)
  • Remember to Save to preserve all the modifications.

Need to create several Language Objects (or Entities)? Consider using Bulk Import


After opening the Language Object in edit mode, the user is able to work on the Language Object below please find an overview of the available options.

Language Object: top ribbon (Home tab)

Top ribbon

The Language Object top ribbon provides a range of buttons and options for working with the Language Object, in the below table the different buttons are listed and - when relevant - links to more information provided.

SectionButtonCommentMore info
Language ObjectCloseClose the Language Object window
SaveSave the Language Object in the current state; clicking the lower part of the button allows the user to save the Language Object with or without a comment
Enable/disableEnable or disable the Language ObjectEnable or Disable documents
EditUndo/RedoUndo/redo changes performed in the Language Object
Stable VersionSet/UnsetSet the current version of the Language Object as stable or unset itVersion flag
BranchingInclude/ExcludeInclude or Exclude the Language Object from branching when working in a Localization setupLocalization setup

Language Object tab

The backstage of a Language Object (Language Object tab in the top of the Language Object window) contains the below mentioned menu items.

Menu itemCommentMore information
PropertiesAllows to edit the name and alias of the Language Object, add a description or view the Id and location
HistoryLists the history of versions created each time the Language Object was saved, comments added at save are displayed hereOpen a previous version by clicking the version number; restore a previous version by opening a specific version and clicking Restore in the top ribbonVersion history
MetadataAllows to define metadata values for the Language ObjectMetadata

Looking for tips on how to write the TLML Syntax or add Variables?
Check out the TLML Syntax section where links to relevant pages are available or visit the page about Variables


To save a Language Object with a comment follow the below steps:

  • Click Save in the top ribbon of the Language Object
  • In the dialogue box (optionally) write a comment
  • Click OK

To save directly and bypass the comment, press the Alt key while clicking the Save button.


Teneo Studio Desktop

To close a Language Object, either:

  • Click the X in the top, right corner of the Language Object window
  • Click the Close button available in the top ribbon
  • In the Language Object backstage, click Close in the left-side menu

Should there be unsaved changes, Teneo Studio prompts the user to Save or Close without saving.

Teneo Studio Web

To close a Language Object in Teneo Studio Web:

  • First, remember to Save if any changes were performed in the Language Object to preserve these; Teneo Studio will prompt the user to save if unsaved changes are detected
  • Next, simply navigate back by using the back arrow of the browser.


Teneo Studio Desktop

To delete a Language Object from the solution, follow the below steps:

  • Select the Language Object in the Solution Explorer
  • In the top ribbon of Teneo Studio, click Delete
  • A confirmation message will be displayed, click Delete again If the Language Object is in use, an Item in Use message will appear, click Select All to delete anyhow or Continue to cancel deletion (the user can also click the X in the box to cancel the deletion).

For more information, please see Delete documents.

Teneo Studio Web

To delete a Language Object from the solution, follow the below steps:

  • Navigate to the folder where the Language Object is saved
  • Hovering over the Language Object, an icon of a recycle bin appears in the right side of the browser window, click it
  • The user will be prompt to confirm the deletion of the Language Object:
    • Click Delete to perform a usage check before deletion
    • Click Delete without usage check to delete directly
    • Click Cancel to cancel the action

Note that deletion of a Language Object currently cannot be undone in Teneo Studio Web, for this action please refer to the Recycle Bin available in Teneo Studio Desktop.