# Projects

Create and configure a Comvi project: source language, navigation, settings, access, and what deleting a project removes.

Canonical: https://comvi.io/docs/platform/projects

A project is one application, website or product that needs translation, and holds its
languages, namespaces, keys, API keys and Content Deploy configuration. Translation
memories and glossaries belong to the organization and are assigned to projects.

## Create a project

1. **Open the projects list**

   Sign in at [app.comvi.io](https://app.comvi.io). Create projects from
   **Organization → Overview**, or from the **Projects** page reached with
   **View all projects** at the bottom of the project switcher at the top of the sidebar.

2. **Click Add Project**

   Enter a **project name** in the *Create new project* dialog, for example the
   repository name of the app.

3. **Select the source locale**

   The source language is the one your developers write in, usually English (`en`).
   Translators work from it, and it cannot be changed after creation.

Comvi creates a `default` namespace, links the project to the organization glossary, gives
it a writable translation memory, and opens the Translations view. The free plan allows two
projects per organization; early adopter allows unlimited.

## Navigation

The project sidebar has three groups:

- **Translations**: the Translations page, plus **Import** and **Export**.
- **Resources**: **Languages**, **Glossary** and **Translation Memory**.
- **Settings**: the entries in the table under [Settings](#settings), filtered by role. Owners and Managers see all six.
Editors and Viewers see **API Keys** and **Webhooks**; Translators see **API Keys**.

Export writes JSON or i18next-v4 JSON. Import takes JSON files and ZIP archives of them and
detects i18next-v4 on its own. XLIFF 1.2, XLIFF 2.0, CSV and PO (Gettext) are listed as
coming soon on the Export page.

## Settings

| Entry | What it holds |
|---|---|
| **General** | Project name and description; **AI translation context** sent to LLM machine-translation providers, with a **Generate description** button that drafts one from existing keys; the **Source locale**, shown with a lock and "Cannot be changed after creation"; a **Danger Zone** with **Delete Project** |
| **Project Access** | Assign organization members to the project with a project role and optional language access. An organization-wide member already reaches every project at their organization role; an assignment narrows that, restricts a member to specific languages, or grants access to someone with no organization-wide membership. See [Roles & permissions](/docs/platform/roles-permissions) |
| **Machine Translation** | Which providers are enabled, the primary provider, the model per LLM provider, and whether suggestions are applied automatically. See [Machine translation](/docs/platform/machine-translation) |
| **Content Deploy** | Turn deployment on or off, pick the languages and namespaces to include, and filter by status. Once on, every write schedules a deploy about 5 seconds later. See [Content Deploy / CDN](/docs/platform/cdn) |
| **API Keys** | Project-scoped credentials for the CLI, CI and server-to-server calls against the REST API. Production apps read from the CDN and need no key. See [API keys](/docs/platform/api-keys) |
| **Webhooks** | Deliver translation, key, namespace, import, export and comment events to an HTTP endpoint you control. See [Webhooks](/docs/platform/integrations/webhooks) |

## One project or several

Access to each project comes from the member's organization role plus any project
assignment, so some projects can be open to the whole team and others scoped to a small
group. Two surfaces that share most copy, such as a customer app and its admin panel, fit
one project with [namespaces](/docs/platform/namespaces). Use separate projects when the
apps have different languages, different teams or independent release cycles.

## Delete a project

Open **Settings → General** and use **Delete Project** in the **Danger Zone**. The project
disappears with its keys, values, namespaces, languages, API keys, Content Deploy and
machine-translation settings, webhooks and project member assignments. Comments are deleted
too, and there is no undelete.

> **Export before you delete**
>
> Open the [Export](/docs/platform/import-export) page and download all languages and
> namespaces first. Nothing comes back after deletion.

## Next steps

- [Languages](/docs/platform/languages): Add target languages and read the locale-code rules.
- [Translations](/docs/platform/translations): Create keys and manage values in the editor.
- [API keys](/docs/platform/api-keys): Credentials for the CLI, CI and the REST API.
- [Import & export](/docs/platform/import-export): Bring in existing translations or export for backup.
