Get Started

Project Commands

Create, configure, and manage translation projects directly from the command line.

List Projects

langctl projects list

Projects:
┌────────────────────┬─────────┬────────────┬──────────┬──────────────┐
│ Name               │ Keys    │ Languages  │ Progress │ Last Updated │
├────────────────────┼─────────┼────────────┼──────────┼──────────────┤
│ Mobile App         │ 1,850   │ en, es, fr │ 85%      │ 2 hours ago  │
│ Web Dashboard      │ 1,420   │ en, de, ja │ 92%      │ 1 day ago    │
│ Marketing Site     │ 967     │ en, es     │ 100%     │ 1 week ago   │
└────────────────────┴─────────┴────────────┴──────────┴──────────────┘

langctl projects list --verbose

langctl projects list --filter "Mobile"
langctl projects create "Mobile App" -l en,es,fr,de

✓ Created project: Mobile App
✓ Languages: en (default), es, fr, de
✓ Project ID: mobile-app-uuid

langctl projects create "Marketing Site" \
-l en,es \
-d "Landing page and marketing content"

langctl projects create "API Docs" \
-l en,es,fr \
--default-lang en
💡
Tip

Use kebab-case or lowercase names for easier CLI usage: “mobile-app” instead of “Mobile App”.

langctl projects info mobile-app

Project: Mobile App
ID: mobile-app-uuid
Description: iOS and Android translations
Created: March 15, 2024

Languages:
Default: en
Supported: en, es, fr, de, ja

Statistics:
Total Keys: 1,850
Published: 1,720 (93%)
Drafts: 130 (7%)

Translation Progress:
  en: 100% (1,850/1,850)
  es: 85% (1,573/1,850)
  fr: 78% (1,443/1,850)
  de: 65% (1,203/1,850)
  ja: 42% (777/1,850)

Modules (5):
- auth (342 keys)
- dashboard (587 keys)
- settings (234 keys)
- profile (198 keys)
- common (489 keys)

Recent Activity:
- 2 hours ago: Updated 12 keys ([email protected])
- 1 day ago: Exported Spanish translations
- 2 days ago: Published 45 keys
langctl projects update mobile-app --name "Mobile Application"

langctl projects update mobile-app --add-lang pt,ru

✓ Added languages: pt, ru
✓ Updated project configuration

langctl projects update mobile-app --remove-lang ja

⚠ Warning: This will delete all Japanese translations
? Continue? Yes
✓ Removed language: ja

langctl projects update mobile-app --default-lang es

langctl projects update mobile-app -d "Updated description"
langctl projects delete mobile-app

⚠ Warning: This will permanently delete:
- 1,850 translation keys
- All translations in 5 languages
- Version history

? Type project name to confirm: mobile-app
✓ Deleted project: mobile-app

langctl projects delete old-project --force
🚨
Important

Project deletion is permanent and cannot be undone. Always export translations before deleting.

langctl projects stats mobile-app

Statistics for: Mobile App

Overview:
Total Keys: 1,850
Published: 1,720 (93%)
Drafts: 130 (7%)

By Language:
en: 1,850 keys (100%)
es: 1,573 keys (85%)
fr: 1,443 keys (78%)
de: 1,203 keys (65%)
ja: 777 keys (42%)

By Module:
auth: 342 keys (18%)
dashboard: 587 keys (32%)
settings: 234 keys (13%)
profile: 198 keys (11%)
common: 489 keys (26%)

Activity (last 30 days):
Keys created: 145
Keys updated: 487
Keys deleted: 23
Exports: 34
Imports: 3

Contributors (last 30 days):
[email protected]: 234 edits
[email protected]: 187 edits
[email protected]: 66 edits
langctl projects clone mobile-app --name "mobile-app-v2"

✓ Cloned project structure
✓ Created 1,850 translation keys
✓ Translations not copied (use --include-translations)

langctl projects clone mobile-app \
--name "mobile-app-staging" \
--include-translations

langctl projects clone mobile-app \
--name "mobile-app-es" \
--languages es,en
langctl projects export-config mobile-app > mobile-app-config.json

cat mobile-app-config.json
{
"name": "Mobile App",
"description": "iOS and Android translations",
"languages": ["en", "es", "fr", "de", "ja"],
"default_language": "en",
"modules": ["auth", "dashboard", "settings", "profile", "common"]
}

langctl projects import-config new-project < mobile-app-config.json
langctl projects modules mobile-app

Modules in Mobile App:
┌────────────┬───────────┬────────────┐
│ Module     │ Keys      │ Progress   │
├────────────┼───────────┼────────────┤
│ auth       │ 342       │ 95%        │
│ dashboard  │ 587       │ 88%        │
│ settings   │ 234       │ 90%        │
│ profile    │ 198       │ 85%        │
│ common     │ 489       │ 92%        │
└────────────┴───────────┴────────────┘

langctl projects modules mobile-app --module auth
langctl projects batch-create < projects.json

[
{
  "name": "iOS App",
  "languages": ["en", "es", "fr"],
  "default_language": "en"
},
{
  "name": "Android App",
  "languages": ["en", "es", "de"],
  "default_language": "en"
}
]

langctl projects delete project1 project2 project3 --force
langctl projects search "mobile"

Found 2 projects:
- Mobile App (1,850 keys)
- Mobile App V2 (1,850 keys)

langctl projects search --language es --min-keys 1000

Next Steps