Multi-Lingual Support

Translate API

post
Translation API

<Cinchy-URL>/API/Translate
Pass in a list of literal GUIDs, along with a language and region. If translations are found in that language, they will be returned.
Request
Response
Request
Body Parameters
debug
optional
boolean
Defaults to false if not specified. Debug true will explain why that string was returned as the translation.
region
optional
string
Subtag from the Regions table. User's preferences will be used if not specified.
guids
required
array
Array of strings. Guids from the Literals table.
language
optional
string
Subtag from the Languages table. User's preferences will be used if not specified.
Response
200: OK
This shows a response with debug = true. Without debug = true, only the translation would return within the object.
{
"data": {
"button.create": {
"translation": "Create",
"language": "en",
"region": "US",
"defaultText": false
},
"button.cancel": {
"translation": "Cancel",
"language": null,
"region": null,
"defaultText": true
},
"button.favorite": {
"translation": "Favourite",
"language": "en",
"region": "CA",
"defaultText": false
},
"button.delete": {
"translation": "button.delete",
"language": null,
"region": null,
"defaultText": false
}
}
}

Logic

If the translation exists in the language and region specified, it will be returned.

If the translation exists in the language but not the specified region, it will still be translated and returned.

If the GUID exists but it is not available in the specified language, the default text in the Literals table will return.

If the GUID does not exist or you do not have permission to it, it will return the GUID back as the translation.

System Tables

There are 3 tables in Cinchy to provide language support. [Cinchy].[Literal Groups], [Cinchy].[Literals], and [Cinchy].[Literal Translations].

Literal Groups

This table can optionally be used to group the translations. The default Cinchy strings belong to the Cinchy literal group. We recommend you create one literal group per applet or UI so you can retrieve the full list of GUIDs required for that page/applet easily.

Literals

This table defines all the strings that you want to translate.

Default Text

String that displays if no translation is found for the language specified.

GUID

GUID used to refer to the literal. A UUID will be generated by default, but can be overrode using the Guid Override field to something more human-readable.

Literal Group

As mentioned above, this can be used to group your strings so they can be easily retrieved. Note that this is a multi-select so you can use a single literal for multiple applets (including using the default Cinchy literals and translations for custom applets).

Literal Translations

This is the table where the translations are stored.

Translated Text

This is the translated string that is returned.

Literal

This is the literal the translation is for.

Language and Region

A language must be specified for a translation. Region can also be optionally specified for region specific words (ex. color vs colour).