Dashboard guide
Managing Projects
Projects are the top-level containers for your translations. Each project represents an application or website with its own set of languages and translation keys.
Creating a New Project
From the Dashboard
- Click New Project on Projects (or Create project in the sidebar or the
Cmd/Ctrl + Kpalette) - Fill in the project details:
- Project Name: Descriptive name (e.g., “Mobile App”, “Marketing Site”), at least 3 characters
- Project Slug: Generated from the name - this is the identifier the CLI and
langctl.jsonuse - Description: Optional details about the project
- Default Language: The language you write source text in (usually English)
- Target Languages: The languages you translate into
- Click Create Project
Members, admins and owners can create projects. Every member of the organization has access to every project.
From the CLI
langctl projects create "Mobile App" --languages en,es,fr --default-language en See Project Commands for all options.
Naming Convention
Use clear, descriptive names for projects. Good examples: “iOS App”, “Web Dashboard”, “Marketing Website”. Renaming a project later never changes its slug, so CLI setups keep working.
Project Overview
Click a project to open its overview:
- Total keys and Missing translations
- Published and Draft key counts
- Language completion - Progress per language
- Recent translation keys - With a link to view all keys
- Shortcuts to add a key, import a file, or push from the CLI
Note
Progress counts non-empty translations. A key with no value for a language counts as missing for that language.
Languages
Open Languages in the sidebar to manage the selected project’s languages. The table shows each language’s text direction, how many keys are translated and missing, and how many AI translations are waiting for review.
Adding a language:
- Click Add Language
- Search for the language and select it
Other actions (from a language’s actions menu):
- Make default - Use this language as the source language
- Remove - Removes the language and permanently deletes all of its translations in this project
Warning
Removing a language is permanent and deletes all translations for that language. The default language can’t be removed.
The dashboard offers a list of common languages. To use other codes, such as regional variants like pt-BR, add them with the CLI:
langctl projects add-language my-app pt-BR zh-Hant See Supported Languages for language codes.
Project Settings
Open Project settings in the sidebar:
| Setting | Description |
|---|---|
| Project Name | Display name |
| Description | Optional project description |
| Default Language | Source language for translations and AI translation |
| Project Slug | Shown for reference - the CLI uses it, and it never changes |
Delete Project
- Open Project settings
- In the Danger Zone, click Delete Project
- Type the project name to confirm
Only owners and admins can delete projects.
Important
This action can’t be undone from the dashboard. The project and all its translation keys are removed.
Modules in Projects
Modules group related keys within a project (for example auth, checkout, settings). Set a key’s module when you create or edit it, then filter by module on the Translations page, in exports, or with langctl pull --module. The project’s list of modules is kept up to date automatically. Learn more ->
Project Limits by Plan
| Plan | Projects | Languages per Project | Keys per Project |
|---|---|---|---|
| Free | 2 | 3 | 1,000 |
| Starter | 5 | 10 | 3,000 |
| Pro | Unlimited | Unlimited | 10,000 |
| Team | Unlimited | Unlimited | 50,000 |
| Enterprise | Unlimited | Unlimited | Unlimited |
Warning
When you reach a limit, delete projects, languages or keys you no longer need, or move to a plan with higher limits.
Best Practices
Organize Projects Logically
Create separate projects for:
- Different applications (Web app, iOS app, Android app)
- Different brands or white-label products
Don’t create separate projects for:
- Different languages (use one project with multiple languages)
- Different modules (use module organization within one project)
- Staging vs production (use the publish workflow instead)
Choose the Right Default Language
Select the language your team writes source text in:
- Typically English for international projects
- Your local language for regional projects
Tip
The default language is the source for AI translations and the language langctl push uploads by default, so keep it the most complete and accurate.
Plan Language Sets
Before adding languages, consider:
- Target markets and user base
- Maintenance capacity (more languages = more work)
- Start with core languages, add more later
Troubleshooting
Can’t Create New Project
“Project limit reached”:
- You’ve hit your plan’s project limit (2 on Free)
- Delete a project you no longer need, or move to a plan with more projects
“Invalid language code”:
- Use lowercase ISO 639 codes, optionally with a region or script (e.g.
en,pt-BR), not names like “english” - Check supported languages
Can’t Delete Project
- Only owners and admins can delete projects
- Ask an owner or admin of your organization
Next Steps
Now that you understand project management, learn how to work with translations:
- Translation Management - Create and edit translation keys
- AI Translation - Use AI to translate keys
- Export Translations - Generate files for your app
- Module Organization - Organize keys with modules