> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/cloud/project/settings/languages.md).

# Languages

Change the project's default language and the languages it supports.

**Where:** Project → Settings → **Languages** · `/projects/<project>/settings?tab=Languages`

The languages of a project decide which translations its templates (email, SMS, push) can have and which language is used when a user has none.

## Before you start

* An account role that may update the project settings.

## Steps

1. Open **Settings → Languages**. **Default Language** shows one code (for example `en`), **Supported languages** shows one badge per language.

   <figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-b276973ba129817e85723005986c8ec40c4003d7%2Flanguages-1.png?alt=media" alt="Default Language en and Supported languages EN with Change links"><figcaption><p>One language.</p></figcaption></figure>
2. To add a language, press **Change** next to **Supported languages**, type in **Search...** — for example `German` — and pick **German (de)**. It is saved at once.

   <figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-d4830aafe7ef245983efc6547bbb9b187eb750c5%2Flanguages-2.png?alt=media" alt="Language picker with German typed and German (de) highlighted"><figcaption><p>The language picker.</p></figcaption></figure>
3. To change the default, press **Change** next to **Default Language**, pick the language in **Default Project Language** and press **Submit**.

   | Field               | Required | What it does                                                                                      | Example    |
   | ------------------- | -------- | ------------------------------------------------------------------------------------------------- | ---------- |
   | Supported languages | yes      | The languages templates may be written in.                                                        | `en`, `de` |
   | Default Language    | yes      | Used for new content and for users without a language. It must be one of the supported languages. | `en`       |

## Result

The new badge (**DE**) appears next to **EN** and Cloud shows **Project settings updated**. Templates can now get a German translation.

<figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-1ca48e56bc8570a2b8499d0e595c166e1cddc372%2Flanguages-3.png?alt=media" alt="Supported languages EN and DE"><figcaption><p>English and German.</p></figcaption></figure>

Before it saves, Cloud checks your active templates. If the change would leave a template without any project language, the dialog **Templates missing a project language** lists them (**Show templates** / **Hide templates**) and asks whether to save anyway.

## Change or remove it later

* **Remove a language** — press **Remove** on its badge (the same check runs first).
* **Default language** — **Change** again.

## Do it from code

```ts
await norbix.hub.account.updateProjectLanguages({ projectId: 'pr_7FUKofhEBNMnISkqust2De', languages: ['en', 'de'] });
```

```sh
norbix project set-languages en de --project pr_7FUKofhEBNMnISkqust2De
```

The client setup is on the [Account page](/codemash/cloud/account.md#use-it-from-code). API: [Update Project Languages](/codemash/api-reference/account/projects/update-project-languages.md) · [Update Project Default Language](/codemash/api-reference/account/projects/update-project-default-language.md) · [Check Project Languages](/codemash/api-reference/account/projects/check-project-languages.md)
