# Languages available today

Watch the video above for a quick overview, then use this list as the current source of truth for languages supported in the app:

- English (`en`)
- Japanese (`ja`)
- Simplified Chinese (`zh`)
- Vietnamese (`vi`)
- Portuguese (Brazil) (`pt-BR`)
- Thai (`th`)
- French (`fr`)
- Catalan (`ca`)
- Spanish (`es`)

## Improve current translations

If you want to improve an existing translation, start in [`apps/app/src/i18n/locales`](https://github.com/different-ai/openwork/tree/dev/apps/app/src/i18n/locales). Each language lives in its own file, so most fixes are simple copy updates inside one locale file such as `apps/app/src/i18n/locales/fr.ts` or `apps/app/src/i18n/locales/es.ts`.

## Add a new language

If you want to add a new language to OpenWork, the basic file changes are:

- Create a new locale file in `apps/app/src/i18n/locales/<language-code>.ts`.
- Register that locale in `apps/app/src/i18n/index.ts` by adding the import, language code, language option, and translation map entry.
- Re-export the locale from `apps/app/src/i18n/locales/index.ts`.
- Add the new locale code to `scripts/i18n-audit.mjs` so the audit script checks it.

After that, run the audit script to spot missing keys:

```
node scripts/i18n-audit.mjs --missing
```

If you want to follow broader localization work, language requests, or upcoming improvements, check the [i18n roadmap](https://github.com/different-ai/openwork/issues/1385).
