Languages
Every language a message can be sent in. No parameters, no cursor, no scope.
Runs the real call against your workspace, with your own key.
GET /languages
Every language a message can be sent in. No parameters, no cursor, no scope.
List them
Two hundred rows, whole, in one response. Fetch it once and keep it. A client that hardcodes the list or scrapes it out of the OpenAPI document goes stale the day a row is added.
curl "$OE/languages" -H "$AUTH"{ "object": "list", "data": [ { "code": "en", "label": "English", "native": "English", "flag": "🇬🇧", "rtl": false }, { "code": "de", "label": "German", "native": "Deutsch", "flag": "🇩🇪", "rtl": false }, { "code": "ar", "label": "Arabic", "native": "العربية", "flag": "🇸🇦", "rtl": true }, { "code": "ja", "label": "Japanese", "native": "日本語", "flag": "🇯🇵", "rtl": false } ]}Behind a key like everything else and needing no scope: it names no data belonging to anybody, and a scope guarding a constant only makes the consent screen longer.
rtl is always a boolean here. Sixteen rows are true (Arabic, Hebrew, Persian, Urdu and the rest), and a body translated into one of them is composed right to left.
A language
Response
codestring- The BCP-47 code, and the form to store. `translate.to` accepts the other two as well and always answers with this one.
labelstring- The English name: "Brazilian Portuguese". The muted second line in a picker.
nativestring- What the language calls itself: "Português (Brasil)". Show this FIRST: it is the word somebody looking for their own language is actually looking for.
flagstring- Two regional-indicator codepoints. A scanning aid beside the native name and never an identifier or a label on its own. A flag is a country, a country is not a language, and Spanish is not Spain any more than English belongs to England.
rtlboolean- Whether the language is written right to left. Always present, where the underlying table omits it when false.
The order is the answer
The rows arrive in picker order and should not be re-sorted by default: the languages people are most likely to be emailed in first, then regional variants, then the rest by region. Alphabetical by English name opens a picker on Abkhaz.
Search over native, label and code together, and render the list as it arrives until somebody types. translate.to takes any of the three, so a picker that stores code and searches all three cannot produce a value the send will refuse.