> ## Documentation Index
> Fetch the complete documentation index at: https://docs.smartsend.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Localization

> Translate customer-facing strings in API responses using the Accept-Language header.

The Smart Send API can return customer-facing strings in several languages. Use the `Accept-Language` header to tell the API which language you prefer, and the API will negotiate the best available match.

## What gets translated

Only strings that are likely to be shown to an end user in a UI are translated. Examples include service display names, addon descriptions, and human-readable status messages.

Identifiers, keys, enum values, and other machine-readable fields are **not** translated. Their values are stable across languages so your integration can rely on them for logic and storage.

For example, a shipping service might be returned as:

```json theme={null}
{
  "carrier": "postnord",
  "service": "mypack_collect",
  "name": "MyPack Collect"
}
```

The `carrier` and `service` keys remain identical regardless of the requested language, while `name` is translated to match the `Accept-Language` header.

## Accept-Language header

Set the `Accept-Language` header on each request to indicate your preferred languages. The header follows [RFC 9110](https://datatracker.ietf.org/doc/html/rfc9110#name-accept-language) and supports quality values for ranking preferences.

```bash Example theme={null}
Accept-Language: da-DK, da;q=0.9, en;q=0.5
```

If you do not send an `Accept-Language` header, the API falls back to its default language.

## Language negotiation

The API picks the best available translation by matching your `Accept-Language` preferences against the languages it supports:

1. The most preferred language that the API supports is used.
2. If no preferred language is supported, the API falls back to its default language.
3. If a specific string has not been translated into the negotiated language, the default language is used for that string.

This means you will always receive a usable response, even if your preferred language is not fully supported for every field.
