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

# Translations  (t9n) & Localization (l10n)

> Learn how the Lucca API handles translations.

<Tip>The Lucca API does not localize responses based on the client’s locale. Instead, it provides exhaustive data, allowing clients to localize content according to their own users’ preferences.</Tip>

Some resource properties in the Lucca API support translations. When they do, the response will include a reserved `t9n` object containing localized versions of those properties. This object maps translatable property names to a dictionary of translations, keyed by [IETF BCP 47](https://tools.ietf.org/html/bcp47) language tags:

```json theme={null}
{
    "name": "INVARIANT_NAME",
    "t9n": {
        "name": {
            "fr": "FRENCH-INT_NAME",
            "fr-FR": "FRENCH-FRANCE_NAME",
            "fr-CH": "FRENCH-SWITZERLAND_NAME",
            "en": "ENGLISH-INT_NAME",
            "en-US": "ENGLISH-US_NAME"
        }
    }
}
```

In this example, the name property holds the invariant (default) value. The t9n object provides localized alternatives, allowing the client to choose the most appropriate translation based on user preferences.

<Warning>Only the invariant value is guaranteed to be present. The `t9n` translations are optional and may be incomplete.</Warning>

**Client guidance**

When displaying localized values, clients should attempt to match the user’s language preferences as closely as possible. A common fallback strategy would be:

<Steps>
  <Step title="Look for a region-specific tag">
    For example: `"fr-CH"`.
  </Step>

  <Step title="Fall back to alternative language tag(s)">
    For example: `"fr-FR"`, then `"fr"`.
  </Step>

  <Step title="Finally, use the invariant value" />
</Steps>

This ensures a graceful degradation in case specific translations are not available.
