### Install Crowdin CLI on Windows (Standalone) Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Extract the crowdin-cli.zip, open Command Prompt as Administrator, and run the setup script to add the crowdin command. ```batch setup_crowdin.bat ``` -------------------------------- ### Install Project Dependencies Source: https://github.com/crowdin/crowdin-cli/blob/main/website/README.md Installs all necessary dependencies for the project. Run this command in the project's root directory. ```bash $ npm i ``` -------------------------------- ### Install Crowdin CLI with NPM Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Install the Crowdin CLI globally using NPM. ```bash npm i -g @crowdin/cli ``` -------------------------------- ### Install Crowdin Skills Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2026-02-23-context-enrichment/index.md Installs all Crowdin skills, including those for context enrichment, with a single command. Ensure you have Node.js and npm installed. ```bash npx skills add crowdin/skills ``` -------------------------------- ### Start Documentation Development Server Source: https://github.com/crowdin/crowdin-cli/blob/main/CONTRIBUTING.md Build the documentation, watch for file changes, and start a local development server to preview the documentation at http://localhost:3000/. ```sh npm start ``` -------------------------------- ### Start Local Development Server Source: https://github.com/crowdin/crowdin-cli/blob/main/website/README.md Starts a local development server and automatically opens the website in your browser. Changes are reflected live without a server restart. ```bash $ npm start ``` -------------------------------- ### Install Crowdin CLI with Homebrew Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Tap the Crowdin Homebrew repository to install the Crowdin CLI. ```bash brew tap crowdin/crowdin ``` ```bash brew install crowdin@4 ``` -------------------------------- ### Install Documentation Dependencies Source: https://github.com/crowdin/crowdin-cli/blob/main/CONTRIBUTING.md Install the necessary Node.js dependencies for the Docusaurus documentation site. ```sh npm install ``` -------------------------------- ### Crowdin Configuration File Example Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2024-01-23-files-management/index.md Example configuration file for Crowdin CLI, specifying project ID, API token, base URL, and file mappings with source and translation patterns. ```yaml "project_id": "" "api_token": "" "base_path": "." "base_url": "https://api.crowdin.com" "preserve_hierarchy": true files: [ { "source": "locales/en/*.xml", "translation": "locales/%two_letters_code%/%original_file_name%" } ] ``` -------------------------------- ### Configuration Priority Example Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/configuration.md Demonstrates how explicit configuration values take precedence over environment variable mappings. ```yml "project_id_env": "CROWDIN_PROJECT_ID" # Low priority "api_token_env": "CROWDIN_PERSONAL_TOKEN" # Low priority "base_path_env": "CROWDIN_BASE_PATH" # Low priority "base_url_env": "CROWDIN_BASE_PATH" # Low priority "project_id": "project-id" # High priority "api_token": "personal-access-token" # High priority "base_path": "/project-base-path" # High priority "base_url": "https://api.crowdin.com" # High priority ``` -------------------------------- ### Install Crowdin CLI with Chocolatey Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Install the Crowdin CLI using the Chocolatey package manager. ```bash choco install crowdin-cli ``` -------------------------------- ### Usage examples for list languages Source: https://github.com/crowdin/crowdin-cli/wiki/List-project-target-languages Common usage patterns including help, specific code formats, and plain output. ```console crowdin list languages -h crowdin list languages crowdin list languages --code two_letters_code crowdin list languages --plain ``` -------------------------------- ### crowdin app install Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-app-install.adoc Installs applications via the Crowdin CLI. This command is used to manage application installations within your Crowdin projects. ```APIDOC ## crowdin app install ### Description Installs applications via the Crowdin CLI. ### Method CLI Command ### Endpoint N/A (CLI Command) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```bash crowdin app install ``` ### Response #### Success Response (0) - **message** (string) - Confirmation of successful installation. #### Response Example ```json { "message": "Application installed successfully." } ``` ### Error Handling - **1**: General error during installation. - **2**: Invalid configuration or parameters. - **3**: Network or API related error. ``` -------------------------------- ### Install Crowdin CLI with Nix Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Install the Crowdin CLI using the Nix package manager. This command temporarily modifies the PATH. ```bash nix-shell -p crowdin-cli ``` -------------------------------- ### Install Crowdin CLI on RPM-based Systems Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Install the Crowdin CLI using either yum or dnf package managers. ```bash sudo yum install crowdin ``` ```bash sudo dnf install crowdin ``` -------------------------------- ### Install Crowdin CLI Manually on RPM Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Download and install the Crowdin CLI RPM package manually. ```bash wget https://artifacts.crowdin.com/repo/rpm/crowdin.rpm -O crowdin.rpm sudo rpm -U crowdin.rpm ``` -------------------------------- ### Generate CLI Command Documentation Source: https://github.com/crowdin/crowdin-cli/blob/main/CONTRIBUTING.md Execute the prepare-docs.sh script to generate Manpage Ascii Docs for CLI commands, convert them to Markdown, and perform necessary formatting. Ensure asciidoctor and pandoc are installed. ```sh ./prepare-docs.sh ``` -------------------------------- ### Install Crowdin CLI on Debian Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Update package lists and install the Crowdin CLI Debian package. ```bash sudo apt-get update && sudo apt-get install crowdin ``` -------------------------------- ### Install Crowdin CLI on Linux/macOS (Standalone) Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Unpack the downloaded crowdin-cli.zip and run the install script with sudo rights to add the crowdin command to your terminal. ```bash ./install-crowdin-cli.sh ``` -------------------------------- ### Install Crowdin CLI Manually on Debian Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Download and install the Crowdin CLI Debian package manually. ```bash wget https://artifacts.crowdin.com/repo/deb/crowdin.deb -O crowdin.deb sudo dpkg -i crowdin.deb ``` -------------------------------- ### Manage Crowdin CLI with WinGet Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Commands to install, upgrade, and uninstall the Crowdin CLI using WinGet. ```bash winget install Crowdin.CrowdinCLI ``` ```bash winget upgrade Crowdin.CrowdinCLI ``` ```bash winget uninstall Crowdin.CrowdinCLI ``` ```bash winget search crowdin ``` -------------------------------- ### Conventional Commits Examples Source: https://github.com/crowdin/crowdin-cli/blob/main/CONTRIBUTING.md Examples of commit messages following the Conventional Commits specification for various types of changes. ```text chore: update dependencies ``` ```text feat: add pagination to files list ``` ```text fix: resolve issue with config validation ``` ```text docs: add documentation for commands ``` ```text refactor: extract component logic into separate module ``` -------------------------------- ### GitHub Actions Workflow for Crowdin CLI Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/ci-cd.md This workflow demonstrates how to install Crowdin CLI via NPM and run a basic command within a GitHub Actions job. Ensure Node.js is available on the runner. Credentials can be automatically picked up from environment variables. ```yml name: Run crowdin cli command on: workflow_dispatch: jobs: cli: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Crowdin CLI run: npm i -g @crowdin/cli - name: Run command run: crowdin -V ``` -------------------------------- ### Pre-translate for Specific Languages Source: https://github.com/crowdin/crowdin-cli/wiki/Pre-Translation Applies pre-translation to files for the specified languages (French and German in this example). Multiple --language flags can be used. ```console crowdin pre-translate --method tm --language "fr" --language "de" ``` -------------------------------- ### Update String Commands for CLI 4.0 Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2024-05-28-cli-v4/index.md Examples of syntax changes for adding, editing, and deleting strings in Crowdin CLI 4.0 compared to previous versions. ```diff -crowdin string add Download --file main/src/strings.xml --identifier "download" +crowdin string add Download --file src/strings.xml --branch main --identifier "download" -crowdin string edit --id 12 --text new +crowdin string edit 12 --text new -crowdin string delete --id 12 +crowdin string delete 12 ``` -------------------------------- ### Crowdin CLI Distribution Release Command Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-distribution-release.adoc This section provides detailed information about the `crowdin-distribution-release` command, including its purpose, arguments, options, and examples. ```APIDOC ## crowdin distribution release ### Description This command is used to manage and release distributions through the Crowdin CLI. ### Method Not applicable (CLI command) ### Endpoint Not applicable (CLI command) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```bash crowdin-distribution-release --help ``` ### Response #### Success Response (0) Execution of the command without errors. #### Response Example ``` [Output of the command execution] ``` ### Commands This command does not have sub-commands. ### Options * **--help** (boolean) - Display help information * **--version** (boolean) - Display version information * **--verbose** (boolean) - Enable verbose output * **--quiet** (boolean) - Disable all output * **--no-color** (boolean) - Disable colorized output * **--config** (string) - Path to the configuration file * **--identity** (string) - Path to the identity file * **--project-id** (string) - Crowdin project ID * **--api-token** (string) - Crowdin API token * **--base-url** (string) - Custom API base URL * **--distribution-id** (string) - Required. The ID of the distribution to release. * **--release-notes** (string) - Release notes for the distribution. * **--wait-completion** (boolean) - Wait for the distribution release to complete. * **--timeout** (integer) - Timeout in seconds for waiting for completion. ### Arguments None ``` -------------------------------- ### Initialize Crowdin project with parameters Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-init.adoc Use this command to initialize a project configuration file by providing parameters directly instead of using the interactive mode. ```bash crowdin init \ --base-path "." \ --base-url "https://api.crowdin.com" \ -i "1" \ -T "personal-access-token" \ -s "/locales/**/*" \ -t "/%two_letters_code%/%original_file_name%" \ --preserve-hierarchy ``` -------------------------------- ### Sample Configuration File Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/configuration.md A standard YAML configuration defining project credentials and file mapping rules. ```yml "project_id": "12" "api_token": "54e01--your-personal-token--2724a" "base_path": "." "base_url": "https://api.crowdin.com" "preserve_hierarchy": true "files": [ { "source" : "/locales/**/*", "translation" : "/%two_letters_code%/%original_file_name%" } ] ``` -------------------------------- ### Navigate to Website Directory Source: https://github.com/crowdin/crowdin-cli/blob/main/CONTRIBUTING.md Change the current directory to the 'website' folder to manage documentation. ```sh cd website ``` -------------------------------- ### Configure Crowdin APT Repository Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Create the crowdin.list file to configure the APT repository for Crowdin packages. ```bash echo "deb https://artifacts.crowdin.com/repo/deb/ /" > /etc/apt/sources.list.d/crowdin.list ``` -------------------------------- ### Show Help for Pre-translate Command Source: https://github.com/crowdin/crowdin-cli/wiki/Pre-Translation Use this command to display detailed help information and all available options for the pre-translate command. ```console crowdin pre-translate -h ``` -------------------------------- ### Initialize Crowdin CLI Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/configuration.md Generates the default crowdin.yaml configuration file in the current directory. ```bash crowdin init ``` -------------------------------- ### Initialize Crowdin Configuration Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2024-01-23-files-management/index.md Initializes the Crowdin configuration file by prompting for project ID and API token. Use this to set up source and translation file patterns. ```bash crowdin init -s "locales/en/*.xml" -t "locales/%two_letters_code%/%original_file_name%" ``` -------------------------------- ### Download all translations Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-download-translations.adoc Use the --all flag to download all translations regardless of whether the source files exist locally. ```bash crowdin download translations --all ``` -------------------------------- ### CLI Command: crowdin glossary download Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-glossary-download.adoc Downloads a glossary from a Crowdin project to the local machine. ```APIDOC ## CLI Command: crowdin glossary download ### Description Downloads a glossary from your Crowdin project. This command is part of the Crowdin CLI toolset. ### Synopsis crowdin glossary download [OPTIONS] ### Options - **--id** (string) - Required - The ID of the glossary to download. - **--format** (string) - Optional - The format in which to download the glossary (e.g., TBX, CSV, XLSX). - **--destination** (string) - Optional - The local path where the glossary file should be saved. ### Request Example crowdin glossary download --id 12345 --format TBX --destination ./glossaries/ ### Response - **status** (string) - Indicates if the download was successful. - **file_path** (string) - The path to the downloaded glossary file. ``` -------------------------------- ### Update init command Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2024-05-28-cli-v4/index.md Replaces the generate alias with the init command. ```diff -crowdin generate +crowdin init ``` -------------------------------- ### Download Translations with Branch Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/faq.md When all source files are in a branch, specify the branch name during download to avoid "Downloaded translations don't match the current project configuration" warnings. Example for GitHub Actions. ```bash crowdin download -b main ``` ```yaml crowdin_branch_name: main ``` -------------------------------- ### Add a new string with labels Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-string-add.adoc Adds a string to a file and assigns multiple labels to it. ```bash crowdin string add "Hello world" --file strings.xml --identifier "app.hello" --label app --label home ``` -------------------------------- ### Specify Configuration File Source: https://github.com/crowdin/crowdin-cli/wiki/Pre-Translation Uses a specific configuration file for the command. If not provided, the CLI looks for 'crowdin.yml' or 'crowdin.yaml'. ```console crowdin pre-translate -c=... ``` -------------------------------- ### Execute list languages command Source: https://github.com/crowdin/crowdin-cli/wiki/List-project-target-languages Run the command to display project languages. ```console crowdin list languages ``` -------------------------------- ### Add Distribution with Default Export Mode, Branch, and File Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-distribution-add.adoc Add a distribution using the 'default' export mode, specifying a particular branch and file for export. ```bash crowdin distribution add "Android" --export-mode default --branch main --file src/values/strings.xml ``` -------------------------------- ### CLI Command: crowdin download sources Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-download-sources.adoc Downloads source files from the Crowdin project to the local environment. ```APIDOC ## CLI COMMAND: crowdin download sources ### Description Downloads source files from the Crowdin project to the local machine. It replicates the source files and folder structure defined in Crowdin. ### Notes - This command relies on the source files and folder structure in Crowdin. - It is highly recommended to use `"preserve_hierarchy": true` in your configuration to ensure files are downloaded to the expected locations. - If `preserve_hierarchy` is set to `false`, directories may be skipped, resulting in a different local file structure. ``` -------------------------------- ### Build Static Website Content Source: https://github.com/crowdin/crowdin-cli/blob/main/website/README.md Generates the static content for the website into the 'build' directory. This output can be hosted on any static content hosting service. ```bash $ npm run build ``` -------------------------------- ### Check Project Status via CLI Source: https://github.com/crowdin/crowdin-cli/wiki/Translation-and-proofreading-progress Commands to display translation and proofreading progress for a Crowdin project. ```console crowdin status ``` ```console crowdin status translation ``` ```console crowdin status proofreading ``` -------------------------------- ### Run Crowdin Pre-translate Command Source: https://github.com/crowdin/crowdin-cli/wiki/Pre-Translation This is the base command to initiate the pre-translation process. ```console crowdin pre-translate ``` -------------------------------- ### Provide Plain Output Source: https://github.com/crowdin/crowdin-cli/wiki/Pre-Translation Outputs results in a plain, processable format, without any additional styling or progress indicators. Useful for piping to other tools. ```console crowdin pre-translate --plain ``` -------------------------------- ### Specify Labels as Command Parameters Source: https://github.com/crowdin/crowdin-cli/wiki/Attach-labels-to-the-uploaded-strings Attach labels to uploaded sources by providing them as command-line arguments using the `--label` flag. This allows for dynamic label assignment during upload. ```bash crowdin upload sources -s "..." -t "..." --label "main-menu" -- label "application" ``` -------------------------------- ### Import Crowdin Signing Key for RPM Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Import the Crowdin public signing key for RPM package management. ```bash sudo rpm --import https://artifacts.crowdin.com/repo/GPG-KEY-crowdin ``` -------------------------------- ### Download Source Files Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2024-01-23-files-management/index.md Downloads source files from your Crowdin project to your local directory. ```bash crowdin download sources ``` -------------------------------- ### Download Pseudo-localized Files with Crowdin CLI Source: https://github.com/crowdin/crowdin-cli/wiki/Pseudo-localization-download Use this command to download pseudo-localized files. Ensure the pseudo-localization feature is enabled in your configuration. ```console crowdin download --pseudo ``` -------------------------------- ### Filter Strings for Context Download Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2026-02-23-context-enrichment/index.md Demonstrates filtering strings for context download based on file path. Other filters like labels, status, date, and branch are also available. ```bash crowdin context download -f "src/ui/**" ``` -------------------------------- ### crowdin-context-download Command Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-context-download.adoc The crowdin-context-download command exports project strings to a local .jsonl file, which is a line-delimited format suitable for AI enrichment. Each JSON object in the file contains details about the string, including its ID, key, text, file path, and context. ```APIDOC ## crowdin-context-download ### Description Exports the project's strings to a local `.jsonl` file, ready for AI enrichment. JSONL is a line-delimited format that is easy to parse and write, making it suitable for AI agents. ### Method CLI Command ### Endpoint N/A (Local CLI command) ### Parameters #### Options - `--croql` (string) - Required - Use Croql to filter strings. Cannot be used with other filter options. ### Request Body N/A ### Response #### Success Response (File Output) - A `.jsonl` file containing string data. #### JSONL File Structure Each JSON object in the file includes the following fields: - `id` (String) - String ID in Crowdin - `key` (String) - String key - `text` (String) - Source text - `file` (String) - Crowdin file path - `context` (String) - Existing source context - `ai_context` (String) - AI context to set ### Notes The `--croql` option cannot be used together with other filter options. ``` -------------------------------- ### Filter Strings by Date for Context Download Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2026-02-23-context-enrichment/index.md Downloads strings created after a specific date. Useful for processing newly added strings. ```bash crowdin context download --since 2026-01-01 ``` -------------------------------- ### Specify User Credentials Source: https://github.com/crowdin/crowdin-cli/wiki/Pre-Translation Provides a path to user-specific credentials for authentication. Replace '...' with the actual path. ```console crowdin pre-translate --identity=... ``` -------------------------------- ### Command options reference Source: https://github.com/crowdin/crowdin-cli/wiki/List-project-target-languages Configuration options available for the list languages command. ```text -c, --config=... Specify a path to the configuration file. Default: crowdin.yml or crowdin.yaml --code=... Specify language code. Available values: two_letters_code, three_letters_code, locale, android_code, osx_code, osx_locale. Default: two_letters_code -h, --help Show this help message and exit --identity=... Specify a path to user-specific credentials --no-colors Disable colors and styles --no-progress Disable progress on executed command --plain Provide plain, processable output -v, --verbose Provide more information on the command execution -V, --version Print version information and exit ``` -------------------------------- ### Run Crowdin CLI with default credentials Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/configuration.md Executes the command using credentials found in the default location at $HOME/.crowdin.yml. ```bash crowdin upload sources ``` -------------------------------- ### Add Distribution with Default Export Mode and File Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-distribution-add.adoc Use this command to add a new distribution with the 'default' export mode, specifying the file to be exported. ```bash crowdin distribution add "Android" --export-mode default --file src/values/strings.xml ``` -------------------------------- ### Filter Strings by Branch for Context Download Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2026-02-23-context-enrichment/index.md Downloads strings from a specific branch. This is essential for managing context in different development branches. ```bash crowdin context download -b main ``` -------------------------------- ### Download Translations with Targets Source: https://github.com/crowdin/crowdin-cli/wiki/Download-translations-from-Crowdin-to-the-specified-target-file Use this command to download translation files based on predefined targets. Ensure the target name matches your configuration. ```bash crowdin download targets ``` -------------------------------- ### Filter Strings by Status for Context Download Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2026-02-23-context-enrichment/index.md Downloads only strings that are missing context. This helps in prioritizing context enrichment efforts. ```bash crowdin context download --status empty ``` -------------------------------- ### crowdin-bundle-download Command Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-bundle-download.adoc This section details the crowdin bundle download command, including its description, synopsis, arguments, options, and related commands. ```APIDOC ## crowdin bundle download ### Description Downloads files from a bundle to your local directory. ### Method CLI Command ### Endpoint N/A (CLI Command) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```bash crowdin bundle download ``` ### Response #### Success Response (0) Files are downloaded to the specified local directory. #### Response Example ``` [Download progress and completion messages] ``` ### See also * link:https://support.crowdin.com/bundles/[Target File Bundles] * link:/crowdin-cli/commands/crowdin-bundle[`crowdin bundle` command] ``` -------------------------------- ### Configure Crowdin RPM Repository Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Create the crowdin.repo file to configure the RPM repository for Crowdin packages. ```ini [crowdin] name=Crowdin repository baseurl=https://artifacts.crowdin.com/repo/rpm gpgcheck=1 gpgkey=https://artifacts.crowdin.com/repo/GPG-KEY-crowdin enabled=1 autorefresh=1 ``` -------------------------------- ### Enable Verbose Output Source: https://github.com/crowdin/crowdin-cli/wiki/Pre-Translation Provides detailed information during the command execution, which can be helpful for debugging. ```console crowdin pre-translate -v ``` -------------------------------- ### crowdin project browse Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-project-browse.adoc The project browse command provides a way to list available projects associated with the user's Crowdin account. ```APIDOC ## CLI Command: crowdin project browse ### Description Lists all projects available in the Crowdin account associated with the current configuration. ### Synopsis crowdin project browse [OPTIONS] ### Options - **-h, --help** - Show help message and exit. - **-V, --version** - Print version information and exit. - **--config** (path) - Optional - Path to the configuration file. - **--plain** - Optional - Output in plain text format. ### Request Example crowdin project browse --config ./crowdin.yml ### Response Returns a list of projects including their ID, name, and status. ``` -------------------------------- ### Add a new string with identifier Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-string-add.adoc Adds a string with a specific key to a target file. ```bash crowdin string add Home --file src/values/strings.xml --identifier "app.home" ``` -------------------------------- ### Crowdin App Command Documentation Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-app.adoc Detailed documentation for the crowdin-app command, generated from picocli. ```APIDOC ## crowdin app ### Description [Description of the crowdin app command will be here, extracted from the generated documentation.] ### Synopsis [Synopsis of the crowdin app command will be here, extracted from the generated documentation.] ### Arguments [Arguments for the crowdin app command will be here, extracted from the generated documentation.] ### Commands [Sub-commands for the crowdin app command will be here, extracted from the generated documentation.] ### Options [Options for the crowdin app command will be here, extracted from the generated documentation.] ``` -------------------------------- ### Pre-translate using Translation Memory (TM) Source: https://github.com/crowdin/crowdin-cli/wiki/Pre-Translation Initiates pre-translation using the Translation Memory method. Ensure TM is configured and available for the project. ```console crowdin pre-translate --method tm ``` -------------------------------- ### View Help for Status Commands Source: https://github.com/crowdin/crowdin-cli/wiki/Translation-and-proofreading-progress Displays available options and usage information for status-related commands. ```console crowdin status -h ``` ```console crowdin status translation -h ``` ```console crowdin status proofreading -h ``` -------------------------------- ### Download All Translations with Crowdin CLI Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-download.adoc The --all flag downloads all available translations, regardless of whether corresponding source files exist locally. This ensures you have the complete set of translations. ```bash crowdin download --all ``` -------------------------------- ### Download Strings Context with Crowdin CLI Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2026-02-23-context-enrichment/index.md Exports project strings to a local .jsonl file for AI enrichment. By default, creates 'crowdin-context.jsonl'. This command can be executed by the AI agent. ```bash crowdin context download ``` -------------------------------- ### Filter Strings by Label for Context Download Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2026-02-23-context-enrichment/index.md Targets strings with a specific label for context download. This is useful for incremental updates or focusing on specific string categories. ```bash crowdin context download --label needs-context ``` -------------------------------- ### Upload Source File to String-Based Project Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2024-01-23-files-management/index.md Uploads a source file to a string-based project. The --branch option is required. Optional flags include --cleanup-mode to remove obsolete strings and --update-strings to update existing ones. ```bash crowdin file upload locales/en/messages.xml --branch main --cleanup-mode --update-strings ``` -------------------------------- ### crowdin bundle browse Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-bundle-browse.adoc Lists bundles available in the project using the Crowdin CLI. ```APIDOC ## crowdin bundle browse ### Description Lists all bundles configured in the Crowdin project. This command allows users to view the structure and contents of defined bundles. ### Usage `crowdin bundle browse [options]` ### Options - **--config** (string) - Optional - Path to the configuration file. - **--plain** (boolean) - Optional - Output in plain text format. - **--verbose** (boolean) - Optional - Display detailed information. ### See also - [Target File Bundles](https://support.crowdin.com/bundles/) - [crowdin bundle command](/crowdin-cli/commands/crowdin-bundle) ``` -------------------------------- ### Add Distribution with Bundle Export Mode and Bundle ID Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-distribution-add.adoc Use this command to add a new distribution with the 'bundle' export mode, referencing a specific bundle ID. ```bash crowdin distribution add "iOS Bundle" --export-mode bundle --bundle-id 19 ``` -------------------------------- ### Upload Enriched Context to Crowdin Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2026-02-23-context-enrichment/index.md Uploads an AI-enriched JSONL file back to Crowdin. Use the `--from` option if a custom path was specified during download. ```bash crowdin context upload ``` -------------------------------- ### Download multiple languages Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-download-translations.adoc Use the -l or --language flag multiple times to specify specific target languages for translation download. ```bash crowdin download translations -l de -l fr -l it crowdin download translations --language=de --language=fr --language=it ``` -------------------------------- ### Crowdin TM Command Overview Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-tm.adoc Provides an overview of the crowdin tm command, including its description, synopsis, arguments, sub-commands, and options. ```APIDOC ## crowdin tm ### Description Manages Translation Memory. ### Synopsis ```bash crowdin tm [command] ``` ### Commands This command supports various sub-commands for specific Translation Memory operations. Refer to the detailed documentation for each sub-command. ### Options Refer to the detailed documentation for available options. ### See also * link:https://support.crowdin.com/translation-memory/[Translation Memory Management] ``` -------------------------------- ### Print Version Information Source: https://github.com/crowdin/crowdin-cli/wiki/Pre-Translation Displays the current version of the Crowdin CLI. This option is globally available for most commands. ```console crowdin pre-translate -V ``` -------------------------------- ### Specify Configuration Path Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/configuration.md Overrides the default configuration file location when running commands outside the project root. ```bash crowdin upload sources --config /path/to/your/config/crowdin.yml ``` -------------------------------- ### Configure Environment Variables Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/configuration.md Maps configuration parameters to environment variable names to avoid hardcoding sensitive credentials. ```yml "project_id_env": "CROWDIN_PROJECT_ID" "api_token_env": "CROWDIN_PERSONAL_TOKEN" "base_path_env": "CROWDIN_BASE_PATH" "base_url_env": "CROWDIN_BASE_URL" ``` -------------------------------- ### Add Crowdin Signing Key for Debian Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/installation.md Download and add the Crowdin public signing key for Debian package management. ```bash wget -qO - https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add - ``` -------------------------------- ### Download Translations Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2024-01-23-files-management/index.md Downloads all available translations from Crowdin to your local project directory based on the configuration. ```bash crowdin download translations ``` -------------------------------- ### crowdin file command Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-file.adoc Documentation for the crowdin file command, covering its usage, arguments, and available options. ```APIDOC ## crowdin file ### Description This command is used to manage project files within the Crowdin CLI environment. ### Synopsis crowdin file [COMMAND] [OPTIONS] ### Arguments - **COMMAND** (string) - Required - The specific file-related subcommand to execute. ### Options - **-h, --help** (boolean) - Optional - Show help message and exit. - **-V, --version** (boolean) - Optional - Print version information and exit. ``` -------------------------------- ### Crowdin Context Command Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-context.adoc This section provides a comprehensive overview of the crowdin-context command, including its description, synopsis, arguments, commands, and options. ```APIDOC ## crowdin context ### Description [Details about the crowdin-context command's purpose and functionality, typically including information on how it helps manage context for Crowdin projects.] ### Synopsis [The command's synopsis, showing the general structure and available subcommands or options.] ### Arguments [A list of arguments that the crowdin-context command accepts, with their types and descriptions.] ### Commands [A list of subcommands available under crowdin-context, with brief descriptions.] ### Options [A list of options that can be used with the crowdin-context command, detailing their purpose and syntax.] ### Links * Context Enrichment with AI Agents: /blog/2026/02/23/context-enrichment * Share feedback on the context commands: https://github.com/crowdin/crowdin-cli/discussions/992 ``` -------------------------------- ### Upload Source Files and Translations Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2024-01-23-files-management/index.md Uploads source files to Crowdin. Use the '-l' flag to specify a language for uploading existing translations. ```bash crowdin upload sources ``` ```bash crowdin upload translations -l fr ``` -------------------------------- ### Add a new string with branch Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-string-add.adoc Adds a string to a specific file within a designated project branch. ```bash crowdin string add Download --file src/values/strings.xml --identifier "app.download" --branch main ``` -------------------------------- ### Load CLI Arguments from File Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/advanced.md Use the `@filename` syntax to load command-line arguments from a text file. This is useful for long option lists, reusing configurations, or avoiding shell escaping issues. ```bash crowdin string list @args.txt ``` ```powershell crowdin string list "@args.txt" ``` -------------------------------- ### crowdin project add Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-project-add.adoc Command to add a new project to Crowdin via the CLI. ```APIDOC ## crowdin project add ### Description Adds a new project to your Crowdin account using the CLI. ### Synopsis crowdin project add [OPTIONS] ### Options - **--name** (string) - Required - The name of the project to be created. - **--source-language** (string) - Required - The source language code for the project. - **--target-languages** (list) - Optional - A list of target language codes for the project. - **--type** (string) - Optional - The type of the project (e.g., software, documentation). ### Footer For more information, visit the official Crowdin CLI documentation. ``` -------------------------------- ### Run Crowdin CLI with a custom credentials file Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/configuration.md Use the --identity flag to specify a custom path for the credentials file when executing commands. ```bash crowdin upload sources --identity 'path/to/user/credentials/file.yml' ``` -------------------------------- ### List Strings with CroQL Query (cmd.exe) Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-string-list.adoc For cmd.exe, escape double quotes within the CroQL query by doubling them (""). ```cmd crowdin string list --croql "identifier CONTAINS ""label""" ``` -------------------------------- ### Download Source File Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2024-01-23-files-management/index.md Downloads a source file from Crowdin. The -d option specifies the local path where the file should be stored. ```bash crowdin file download messages.xml -d locales/en/messages.xml ``` -------------------------------- ### crowdin bundle clone Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-bundle-clone.adoc The `crowdin bundle clone` command allows you to clone an existing bundle configuration. When cloning, the current bundle's configuration is used as a base. Any parameters provided via the command line will override the corresponding values from the original configuration. ```APIDOC ## crowdin bundle clone ### Description Clones an existing bundle configuration, using it as a base for a new configuration. Command-line parameters can override original configuration values. ### Method CLI Command ### Endpoint N/A (CLI Command) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```bash crowdin bundle clone --bundle-id "your-bundle-id" --output-path "./new-bundle-config" ``` ### Response #### Success Response (0) Indicates successful execution of the clone operation. #### Response Example ``` Bundle configuration cloned successfully. ``` ### Error Handling - **Non-zero exit code**: Indicates an error during the cloning process. - Specific error messages will be printed to stderr. ``` -------------------------------- ### Crowdin CLI Status Command Documentation Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-status.adoc Detailed documentation for the 'crowdin status' command, including its purpose, arguments, and options. ```APIDOC ## crowdin status ### Description This command displays the status of translations for your project. ### Method Not Applicable (CLI Command) ### Endpoint Not Applicable (CLI Command) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```bash crowdin status ``` ### Response #### Success Response (0) - **Output** (string) - The status of translations. #### Response Example ``` [Translation status information will be displayed here] ``` ### Error Handling - **Non-zero exit code**: Indicates an error occurred during execution. - **Specific error messages**: Will be printed to stderr detailing the issue. ``` -------------------------------- ### Update list commands Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2024-05-28-cli-v4/index.md Replaces legacy list commands with their new command structures. ```diff -crowdin list branches +crowdin branch list -crowdin list project +crowdin file list -crowdin list sources +crowdin config sources -crowdin list translations +crowdin config translations -crowdin list languages +crowdin language list ``` -------------------------------- ### Check Context Coverage Status Source: https://github.com/crowdin/crowdin-cli/blob/main/website/blog/2026-02-23-context-enrichment/index.md Provides an overview of the project's context coverage, showing the total strings, strings with AI context, and strings without AI context. Use `--by-file` for a per-file breakdown. ```bash crowdin context status ``` -------------------------------- ### crowdin label add Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-label-add.adoc Documentation for the CLI command used to add labels to a project. ```APIDOC ## CLI COMMAND: crowdin label add ### Description Adds a new label to the Crowdin project. This command is part of the Crowdin CLI toolset. ### Usage crowdin label add [OPTIONS] ### Arguments - **label-name** (string) - Required - The name of the label to be added to the project. ### Options - **-h, --help** - Show help message and exit. - **-V, --version** - Print version information and exit. - **--config** (path) - Path to the configuration file. - **--identity** (path) - Path to the identity file. - **--project-id** (integer) - The ID of the Crowdin project. - **--token** (string) - Crowdin API token. ``` -------------------------------- ### Pre-translate with Machine Translation and Branch Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-pre-translate.adoc Pre-translate files using machine translation, specifying the target language, engine ID, branch, and file. ```bash crowdin pre-translate -l fr --method mt --engine-id 5 --branch main --file src/values/strings.xml ``` -------------------------------- ### crowdin app list Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-app-list.adoc Lists all available applications in Crowdin that can be integrated with your projects. ```APIDOC ## crowdin app list ### Description Lists all available applications in Crowdin. ### Method CLI Command ### Endpoint N/A (CLI Command) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```bash crowdin app list ``` ### Response #### Success Response (200) - **applications** (array) - A list of available applications. - **id** (string) - The unique identifier of the application. - **name** (string) - The name of the application. - **description** (string) - A brief description of the application. #### Response Example ```json { "applications": [ { "id": "app123", "name": "Translation Service", "description": "Integrates with a third-party translation service." }, { "id": "app456", "name": "Quality Assurance Tool", "description": "Automates quality checks for translations." } ] } ``` ``` -------------------------------- ### crowdin file download Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-file-download.adoc Command to download files from your Crowdin project to your local machine. ```APIDOC ## crowdin file download ### Description Downloads files from your Crowdin project. This command allows you to synchronize your local project files with the latest translations from Crowdin. ### Synopsis crowdin file download [OPTIONS] ### Options - **-c, --config** (string) - Optional - Path to the configuration file. - **-T, --token** (string) - Optional - Crowdin API token. - **-b, --branch** (string) - Optional - Branch name to download files from. - **--dry-run** (boolean) - Optional - Simulate the download process without actually saving files. - **-v, --verbose** (boolean) - Optional - Enable verbose output. ``` -------------------------------- ### Download Multiple Languages with Crowdin CLI Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-download.adoc Use the -l or --language flags to specify which translations to download. This is useful for targeting specific language versions of your project. ```bash crowdin download -l de -l fr -l it ``` ```bash crowdin download --language=de --language=fr --language=it ``` -------------------------------- ### crowdin file upload Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-file-upload.adoc Command-line interface documentation for uploading files to Crowdin projects. ```APIDOC ## crowdin file upload ### Description Uploads files to your Crowdin project. This command facilitates the synchronization of local files with the Crowdin platform. ### See also - [List of file types](https://developer.crowdin.com/api/v2/#operation/api.projects.files.post) ``` -------------------------------- ### crowdin bundle add Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-bundle-add.adoc Adds a new bundle configuration to the project. ```APIDOC ## crowdin bundle add ### Description Adds a new bundle configuration to your Crowdin project. This command is used to define how files should be bundled when exported from Crowdin. ### Usage crowdin bundle add [OPTIONS] ### Options - **--name** (string) - Required - The name of the bundle to be added. - **--source** (string) - Required - The source pattern for the files to be included in the bundle. - **--ignore** (string) - Optional - Patterns to ignore when creating the bundle. ### See also - [Target File Bundles](https://support.crowdin.com/bundles/) - [crowdin bundle download](/crowdin-cli/commands/crowdin-bundle-download) ``` -------------------------------- ### Enable Bash Autocompletion Source: https://github.com/crowdin/crowdin-cli/blob/main/website/docs/autocompletion.md Run this command in your bash shell to enable command suggestions via the Tab key. ```bash source <(crowdin completion) ``` -------------------------------- ### Crowdin Task Command Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-task.adoc Detailed documentation for the crowdin-task command. ```APIDOC ## crowdin task ### Description [Description of the crowdin-task command will be inserted here from the included file.] ### Synopsis [Synopsis of the crowdin-task command will be inserted here from the included file.] ### Arguments [Arguments for the crowdin-task command will be inserted here from the included file.] ### Commands [Subcommands for the crowdin-task command will be inserted here from the included file.] ### Options [Options for the crowdin-task command will be inserted here from the included file.] ### Footer [Footer information for the crowdin-task command will be inserted here from the included file.] ``` -------------------------------- ### Configure Download Targets in `crowdin.yml` Source: https://github.com/crowdin/crowdin-cli/wiki/Download-translations-from-Crowdin-to-the-specified-target-file Define download targets in your `crowdin.yml` file to specify source files, output formats, and filtering options. This configuration allows for automated downloads of translations in formats like Android XML. ```yaml targets: [ { name: "android", files: [ { file: "targets/%two_letters_code%/android.xml", sources: [ "file.xlsx" ], labels: [ "mobile", "ui" ] } ] } ] ``` -------------------------------- ### Crowdin Project Command Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-project.adoc This section describes the main 'crowdin-project' command and its functionalities. ```APIDOC ## crowdin project ### Description Manages Crowdin projects. ### Method Not applicable (CLI command) ### Endpoint Not applicable (CLI command) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```bash crowdin project --help ``` ### Response #### Success Response (200) Output of the command execution. #### Response Example ``` [Command output] ``` ``` -------------------------------- ### Pre-translate with Translation Memory Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-pre-translate.adoc Use this command to pre-translate files using translation memory. Specify target languages and the file to process. ```bash crowdin pre-translate -l fr -l uk --method tm --file src/values/strings.xml ``` -------------------------------- ### Pre-translate with Machine Translation Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-pre-translate.adoc Use this command to pre-translate files using machine translation. Specify target languages, the translation engine ID, and the file. ```bash crowdin pre-translate -l fr --method mt --engine-id 5 --file src/values/strings.xml ``` -------------------------------- ### Add a new plural string Source: https://github.com/crowdin/crowdin-cli/blob/main/website/mantemplates/crowdin-string-add.adoc Adds a plural string to a file, specifying the 'one' form. ```bash crowdin string add Cats --file strings.xml --identifier "ui.cats" --one "cat" ```