crowdin/skills

crowdin-context-cli

Documents the Crowdin CLI context commands (download, upload, status, reset) for AI enrichment.

Vedi sorgente
Documento Skill originale

Contenuto dal repository con titoli, esempi, codice, tabelle, link e immagini preservati.

Crowdin Context CLI

Use the Crowdin CLI for context download and upload. Config is read from crowdin.yml by default; override with -c, --config=<path> if needed.

crowdin context <command> [options]

context download

Download strings context to a separate file for enrichment by AI Agent.

crowdin context download [CONFIG OPTIONS] [OPTIONS]
  • --to=<path> — File path to download the context to. Default: crowdin-context.jsonl
  • -f, --file=<glob> — Filter strings by Crowdin file paths (glob). Multiple paths can be specified
  • --label=<label> — Filter strings by labels. Multiple labels can be specified
  • -b, --branch=<name> — Filter by branch name
  • --croql=<expr> — CroQL expression (cannot be combined with the other filter options)
  • --since=<YYYY-MM-DD> — Only strings created after this date
  • --status=<value> — Which kind of context a string already has: empty (none of any kind), manual (source context, no AI context), ai (AI context written). See below — this is not a filter for "still needs context"

Config options (if not using a config file): -T, --token, -i, --project-id, --base-url, --base-path. Use -c, --config=<path> to override config file (default: crowdin.yml or crowdin.yaml).

Which `--status` selects the strings needing AI context depends on the source format, so prefer omitting it. A format that carries source references into Crowdin — PO #: lines, for one — leaves every string holding manual context, so empty matches nothing and manual matches everything; a format carrying no context at all inverts that. With no --status the download covers both cases in one call, and costs nothing extra: context upload writes back only the records whose ai_context was actually filled.

context upload

Upload strings context. Only files previously downloaded by context download are supported.

crowdin context upload [CONFIG OPTIONS] [OPTIONS]
  • --from=<path> — File path to upload the context from. Default: crowdin-context.jsonl
  • --overwrite — Also update strings where ai_context is empty (removes their AI section). Default: false
  • --dryrun — Print command output without execution

context status

Show context coverage statistics — how many strings have manual, AI, or no context.

crowdin context status [CONFIG OPTIONS] [OPTIONS]
  • -f, --file=<glob> — Filter strings by Crowdin file paths (glob). Multiple paths can be specified
  • --label=<label> — Filter strings by labels. Multiple labels can be specified
  • -b, --branch=<name> — Filter by branch name
  • --croql=<expr> — CroQL expression (cannot be combined with the other filter options)
  • --since=<YYYY-MM-DD> — Only strings created after this date
  • --by-file — Break statistics down per file

context reset

Remove AI-generated context from strings; manually written context is preserved.

crowdin context reset [CONFIG OPTIONS] [OPTIONS]
  • -f, --file=<glob> — Only reset strings from matching file paths. Multiple paths can be specified
  • --label=<label> — Only reset strings with matching labels. Multiple labels can be specified
  • -b, --branch=<name> — Only reset strings from the matching branch
  • --croql=<expr> — Only reset strings matching the CroQL expression (cannot be combined with the other filter options)
  • --since=<YYYY-MM-DD> — Only reset strings created after this date
  • --dryrun — Print command output without execution
  • --all — Required safety flag when no filter is specified

JSONL format

One JSON object per line. Fields:

  • id — String ID in Crowdin
  • key — String key
  • text — Source text
  • file — Crowdin file path
  • context — Existing source context
  • ai_context — AI context to set (edit this field before uploading)

Example line:

json
{"file":"/src/locales/en.po","ai_context":"","context":"#: src/App.tsx:54","id":3125833,"text":"Click on the Vite and React logos to learn more","key":"Click on the Vite and React logos to learn more"}

Typical Workflow

  1. Check coverage (optional): crowdin context status — the split between manual, AI and no context. Read it before picking a --status filter for the next step, or skip the filter and take everything.
  2. Download: crowdin context download (writes to crowdin-context.jsonl by default) or crowdin context download --to=path/to/file.jsonl
  3. Edit the file - fill in ai_context for each string (use context-extraction to help).
  4. Upload: crowdin context upload (reads from crowdin-context.jsonl by default) or crowdin context upload --from=path/to/file.jsonl

To discard AI-generated context later (e.g. before re-running enrichment from scratch), use crowdin context reset with a filter, or crowdin context reset --all.

dallo stesso repository

Altri Skills

Tutti gli Skills
crowdin
Community

context-extraction

Writes meaningful aicontext values in Crowdin JSONL files for strings that need translator context. Use when extracting context, filling aicontext fields, adding context to ambiguous strings, or working with Crowdin JSONL context files.

installazioni
1
GitHub Stars
6
Aggiornato
10 set
crowdin
Community

croql

Helps write, fix, and optimize Crowdin CroQL expressions for strings, translations, TM segments, and glossary terms. Use whenever the user mentions CroQL, Crowdin filters, advanced editor filtering, "where" conditions for localization data, or API queries with a croql parameter, even if they do not explicitly ask for query syntax help.

installazioni
1
GitHub Stars
6
Aggiornato
10 set
crowdin
Community

glossary-generation

Generates a starting glossary for a Crowdin project from the project's own source strings and uploads it with the Crowdin CLI. Use when someone wants to create a glossary, extract key terms or terminology from an app's strings, mark product and feature names as do-not-translate, or seed a Crowdin project with consistent vocabulary - including bare phrasings like "make a glossary for my project". Terms are drafted for review and never uploaded unseen, and translations are never invented. Not for managing an existing glossary's entries one by one, and not for the full internationalize-and-connect journey (that is i18n-setup, which delegates here).

installazioni
1
GitHub Stars
6
Aggiornato
10 set
crowdin
Community

i18n-setup

Takes a project from hardcoded strings to internationalized, connected to Crowdin, and translating continuously. Use when someone wants to add i18n or multi-language support, internationalize an app, extract hardcoded strings, set up Lingui (or another i18n library), or connect Crowdin to a repository - including connect-only, "my app already uses i18next/next-intl/vue-i18n/Lingui, wire it to Crowdin". Not for individual crowdin CLI commands or crowdin.yml syntax (that is crowdin-cli), not for editing Crowdin context files or aicontext on their own (context-extraction, crowdin-context-cli), not for generating a glossary alone (glossary-generation), and not for building Crowdin apps (create-app).

installazioni
1
GitHub Stars
6
Aggiornato
10 set