Manual
CLI
API
Log in Get started free

Languages and time zones

Language codes in the API, the language of the app, and the X-Timezone header for timestamps.

Language codes #

Translation languages are identified by a code in lower case: two or three letters, optionally followed by a region, for example en, de-de or pt-br. Codes you send are lower-cased; DE-DE and de-de are the same.

The API answers with codes and not with translated text. Errors are codes too, such as not_found and invalid_request, see Errors. The API has no Accept-Language header. Translate error codes in your own client if you show them to people.

The language of the app #

Each account has an interface language for the app, one of en-GB, nl-NL, nl-BE, de-DE, fr-FR and af-ZA. It is part of Get your profile and of the user in a login response as locale, and null until the account picks one. Change it with Set your interface language.

This is a setting of the account. It does not change what the API answers.

Time zones #

Timestamps in responses are ISO 8601 with an offset, for example 2026-10-16T11:30:00+02:00. Add the X-Timezone header to get them in a time zone you choose:

HTTP
GET https://api.continuous-translations.com/org/members
Authorization: Bearer <token>
X-Timezone: Asia/Tokyo
JSON
{ "members": [ { "name": "Ada Lovelace", "joinedAt": "2026-10-16T18:30:00+09:00" } ] }
HeaderValue
X-TimezoneAn IANA time zone name, such as UTC, Europe/Amsterdam or Asia/Tokyo
  • The header changes the offset only. It is always the same moment.
  • Without the header, timestamps are written in UTC (offset +00:00).
  • An unknown name gets 422 with invalid_request and fields { "X-Timezone": "invalid" }.
  • Browsers may send the header from other origins, it is allowed by CORS.
  • It does not change fields that count minutes, such as ageMinutes.
  • The MCP server passes the header on to the routes its tools call.