Localization Keys

Get i18next resources for a language

  • Sandbox: available
  • Staging: available
  • Production: unknown
GET
/localization/i18next/{language}

Returns all localizations of one language as a nested i18next resource object. Apps load it to initialise i18next.

Auth: bearer token. Scope: the caller's project (from the token). Localizations are read and written with your token.

Behaviour

  • language must be one of the languages in your project's locale settings (GET /locales).
  • Dot-separated keys are turned into nested objects: home.screen.title becomes { "home": { "screen": { "title": "..." } } }.
  • If a key is both a value and the parent of other keys, for example home and home.title, the nested object wins and the value of home is left out.
  • At most 10,000 entries are included.
  • The result per project and language is cached. A PATCH to this language becomes visible only after its background job has finished.

Example

curl -X GET 'https://api.sandbox.ovok.com/localization/i18next/en-US' \  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'

Authorization

bearer
headerAuthorizationBearer <JWT>

Path Parameters

language*string
Value in"Cy-az-AZ""Cy-sr-SP""Cy-uz-UZ""Lt-az-AZ""Lt-sr-SP""Lt-uz-UZ""aa""ab""ae""af""af-ZA""ak""am""an""ar""ar-AE""ar-BH""ar-DZ""ar-EG""ar-IQ""ar-JO""ar-KW""ar-LB""ar-LY""ar-MA""ar-OM""ar-QA""ar-SA""ar-SY""ar-TN""ar-YE""as""av""ay""az""ba""be""be-BY""bg""bg-BG""bh""bi""bm""bn""bo""br""bs""ca""ca-ES""ce""ch""co""cr""cs""cs-CZ""cu""cv""cy""da""da-DK""de""de-AT""de-CH""de-DE""de-LI""de-LU""div-MV""dv""dz""ee""el""el-GR""en""en-AU""en-BZ""en-CA""en-CB""en-GB""en-IE""en-JM""en-NZ""en-PH""en-TT""en-US""en-ZA""en-ZW""eo""es""es-AR""es-BO""es-CL""es-CO""es-CR""es-DO""es-EC""es-ES""es-GT""es-HN""es-MX""es-NI""es-PA""es-PE""es-PR""es-PY""es-SV""es-UY""es-VE""et""et-EE""eu""eu-ES""fa""fa-IR""ff""fi""fi-FI""fj""fo""fo-FO""fr""fr-BE""fr-CA""fr-CH""fr-FR""fr-LU""fr-MC""fy""ga""gd""gl""gl-ES""gn""gu""gu-IN""gv""ha""he""he-IL""hi""hi-IN""ho""hr""hr-HR""ht""hu""hu-HU""hy""hy-AM""hz""ia""id""id-ID""ie""ig""ii""ik""io""is""is-IS""it""it-CH""it-IT""iu""ja""ja-JP""jv""ka""ka-GE""kg""ki""kj""kk""kk-KZ""kl""km""kn""kn-IN""ko""ko-KR""kr""ks""ku""kv""kw""ky""ky-KZ""la""lb""lg""li""ln""lo""lt""lt-LT""lu""lv""lv-LV""mg""mh""mi""mk""mk-MK""ml""mn""mn-MN""mr""mr-IN""ms""ms-BN""ms-MY""mt""my""na""nb""nb-NO""nd""ne""ng""nl""nl-BE""nl-NL""nn""nn-NO""no""nr""nv""ny""oc""oj""om""or""os""pa""pa-IN""pi""pl""pl-PL""ps""pt""pt-BR""pt-PT""qu""rm""rn""ro""ro-RO""ru""ru-RU""rw""sa""sa-IN""sc""sd""se""sg""si""sk""sk-SK""sl""sl-SI""sm""sn""so""sq""sq-AL""sr""ss""st""su""sv""sv-FI""sv-SE""sw""sw-KE""ta""ta-IN""te""te-IN""tg""th""th-TH""ti""tk""tl""tn""to""tr""tr-TR""ts""tt""tt-RU""tw""ty""ug""uk""uk-UA""ur""ur-PK""uz""ve""vi""vi-VN""vo""wa""wo""xh""yi""yo""za""zh""zh-CHS""zh-CHT""zh-CN""zh-HK""zh-MO""zh-SG""zh-TW""zu"

Response Body

All localizations of the language as a nested i18next resource object.

application/json
  1. response

Nested i18next resource object. Each leaf is a string value; each branch is one segment of a dot-separated key.

[key: string]?unknown
Example Request
curl -X GET 'https://api.sandbox.ovok.com/localization/i18next/Cy-az-AZ'
Example Response
{  "property1": null,  "property2": null}

Set project locales PATCH

Sets the languages enabled for your project and its default language. Creates the locale settings if the project has none. **Auth:** bearer token. You need `List:create`, `List:read`, `List:update`, `List:delete` and `List:search` access, or be a project admin. **Scope:** the caller's project (from the token). ## Behaviour - The body replaces the whole setting. `languages` needs at least one language, and `defaultLanguage` must be one of them. - For each language that is new compared with the previous setting, background jobs create AI translations of all localization keys and content items from the previous default language. Existing translations are not changed. - Removing a language does not delete its localizations or content. - Changing `defaultLanguage` does not move or translate anything by itself. ## Example ```bash curl -X PATCH 'https://api.sandbox.ovok.com/locales' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \ -H 'Content-Type: application/json' \ -d '{ "languages": ["en-US", "de-DE", "fr-FR"], "defaultLanguage": "en-US" }' ```

Write i18next resources for a language PATCH

Writes many localizations of one language at once from a nested i18next resource object. The write runs in the background. **Auth:** bearer token. **Scope:** the caller's project (from the token). Localizations are read and written with your token. ## Behaviour - `language` must be one of the languages in your project's locale settings (`GET /locales`). - The body is a nested object. Keys may contain only letters, digits, `_` and `-`; nesting builds dot-separated keys. Each value is either a string of 1 to 4,096 characters or another nested object. - Keys in the body are created or overwritten. Keys that are not in the body are not changed. Nothing is deleted. - The route answers `202 Accepted` with no body as soon as the job is queued. The values are written by a background job, and the cache for the language is cleared when it finishes. - A second background job per project language creates AI translations of the default-language values for keys that have no translation in that language yet. Existing translations are not changed. ## Example ```bash curl -X PATCH 'https://api.sandbox.ovok.com/localization/i18next/en-US' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \ -H 'Content-Type: application/json' \ -d '{ "home": { "title": "Home", "subtitle": "Welcome back" } }' ```