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

# Locales

> Add project languages, choose the default, and connect them to your application routes.

Locales define the languages available for labels and localized content. Your application still decides how language appears in its URLs and how visitors switch languages.

## Manage languages

```bash theme={null}
fimo locales list
fimo locales add es
fimo locales set-default es
fimo locales remove es
```

The commands update the selected environment and its `.fimo/config.json`. They also keep the matching local branch synchronized when it is safe to fast-forward.

<Warning>
  Removing a locale permanently deletes its localized entries and labels in the selected environment. Set another
  language as the default before removing the current default.
</Warning>

You can make the same changes in **Settings → Languages** in Studio. A new language starts empty. Changing the default does not translate or copy existing content.

## Add translated values

Write labels and content for each language:

```bash theme={null}
fimo labels set nav.home --locale es --value Inicio
fimo entries create BlogPost \
  --locale es \
  --document-id <documentId> \
  --body '{"data":{"title":"Hola"}}'
```

Fields that should remain identical in every language, such as a SKU or price, can be marked as shared in the schema. Ask your coding agent to load the `fimo-code` content reference before changing that setting on existing content.

## Connect locale URLs

Fimo does not create application routes. Your application resolves the locale from its route or another application-owned setting, then passes it to the Fimo adapter.

New React Router, Astro, and SvelteKit projects include a locale-ready boundary. New Next.js projects start with an ordinary root route, so you add a locale route only when the site needs one. A single-language project does not need a language prefix or switcher.

If you use Studio Pages, route metadata can describe a `:locale` segment. An optional locale leaves the default language unprefixed, while a required locale prefixes every language. See [Pages](/docs/cli/pages).

Run `fimo validate` after changing locale configuration or routing.

For synchronization recovery, route metadata, and every locale option, see the [CLI reference](/docs/reference/cli).

## What's next

<Columns cols={3}>
  <Card title="Labels" icon="language" href="/docs/cli/labels">
    Translate interface copy.
  </Card>

  <Card title="Content" icon="database" href="/docs/cli/content">
    Create localized entries.
  </Card>

  <Card title="Frameworks" icon="code" href="/docs/cli/frameworks">
    Connect locale resolution to Fimo.
  </Card>
</Columns>
