Skip to main content

Spreadsheet Layout (Object)

The layout enumerates the segment fields to return when retrieving segments. In the translation editor, the layout specifies the editor columns. Fields may be source text, translation(s), comments, etc.



A layout is an ordered list of columns. Each column contains specific data from a segment.

Note that all the core properties of a segment such as its ID are always returned by queries independently from the columns.

A sample layout to retrieve English and French texts would be:

"layout" : {
  "columns": [
    { "fkey": "1~en~0" },
    { "fkey": "1~fr~0" }

The "fkey" uniquely identifies a data column. It is composed as follows:


  • "ftype" is the type of the column (a number)
  • "loc" is the language of the column (if the column is specific for a language)
  • "fqualifier" is used with custom field and label columns only and corresponds to the CF/label id.

Column types

Available column types are:

Field type (ftype)Description of column contentSegment or Language

The source text or target text of a segment.

2Context of the segment.Segment
3Status of a text.Language
4Origin of current text version: Human translation, pretranslation, etc.Language
5Locked statusLanguage

Custom field. Requires specification of "fqualifier" in the "fkey". This is the ID of the custom field.

If the language is specified then the column contains the language specific CF. Otherwise it contains the CF that refers to the segment as a whole.


8Label. Requires specification of "fqualifier" in the "fkey". This is the ID of the label.Both
10Memory hits. NOT IMPLEMENTED.Language
11A column that allows a user to add a new comment. For internal use only.Language
13Error information. For example those set by a QA.Language
14TMX or extended properties.Segment


The JSON object has these properties:

nameInternal name of the layout. Can be disregarded.string

An array of ordered columns.

Each column is a JSON object and contains the "fkey" property. This property uniquely identifies the data of the column (such as a translation in a specific language).

For all properties see below.


Each column has these properties:


Uniquely identifies the content of the column. When querying data you only need to include this property. All other properties below are for information purposes only.

The format is:



1~en~0   // The English text
8~~12   // The label with ID 12 (no language required)
3~fr~0   // The status of the French translation
1~#1~0   // The text in the 2nd language of the scope


Properties for information only:
ftypeThe type of the column. It is embedded inside "fkey".int

The language code for the column. Some columns do not require a language and others do.

There are two means to specific languages:

a) Explicit language codes: "en", "fr-FR" ...

b) Language indexes: "#0", "#1", .... The system then replaces "#0" with the first language in the scope, "#1" with the second one ...

Language indexes can be used to work with generic layouts that can dynamically "adapt" to scopes. For example you could use a job layout that specifies two columns. One with the first language (source language) and another with the second language (first target language).

canEditIf false then this column is not editable by the user. Note that this is a general access right. You need to look at the access rights details sent back with each segment.bool

Used with certain data columns such as custom fields and labels. This then describes the CF or label ID.

0 if not applicable to field type.



A layout for querying data. Note that you only need to specify the "fkey" properties:

  "columns": [
      "fkey": "1~en~0"
      "fkey": "1~fr~0"
      "fkey": "1~es~0"
      "fkey": "6~fr~0"
      "fkey": "13~fr~0"
      "fkey": "12~es~0"

A layout using language indexes instead of codes:

  "columns": [
      "fkey": "1~#0~0"
      "fkey": "1~#1~0"

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.