CLI: Get started

Last updated: September 23, 2024Author: Jakub Pomykała

Use SimpleLocalize CLI to synchronize your local files with the Translation Editor. The CLI is available for Linux, macOS (Intel and Apple Silicon) and Windows, it does not require any additional dependencies and can be used in CI/CD pipelines. This is an open-source and codebase is available on GitHub.

Installation

You can install the CLI using the following command:

# macOS / Linux / Windows (WSL)
curl -s https://get.simplelocalize.io/2.7/install | bash

# Windows (PowerShell)
. { iwr -useb https://get.simplelocalize.io/2.7/install-windows } | iex;

The script above will download the latest version and replace the current version if installed. Troubles with CLI? See troubleshooting section.

Read Step-by-step guide on how to configure localization workflow with CLI on our blog.

Usage

simplelocalize -c config.yml [COMMAND] --apiKey <PROJECT_API_KEY> rest of parameters...

You can omit -c config.yml and provide all parameters inline, or create simplelocalize.yml file which is loaded as default configuration.

Available commands

A list of available commands can be found on project GitHub page.

Sample configuration file

By default, CLI will try to load configuration from simplelocalize.yaml file. You can override loaded file using -c parameter before command name. Below is a sample configuration file:

# Project API Key
apiKey: API_KEY

# Properties used by 'upload' command
uploadPath: ./source-translations/messages_en.json
uploadLanguageKey: en-GB
uploadFormat: single-language-json
uploadOptions:
  # by default, the 'upload' command only adds new keys and fills empty translations,
  # add this option to overwrite existing translations with values from the uploaded file
  - REPLACE_TRANSLATION_IF_FOUND

# Properties used by 'download' command
downloadPath: ./output-translations/messages_{lang}.json
downloadLanguageKey: ['de-DE', 'fr-FR', 'pl-PL']
downloadFormat: single-language-json
downloadOptions:
  - WRITE_NESTED

# Properties used by 'extract' command
searchDir: ./src
projectType: yahoo/react-intl
ignoreKeys:
  - 'WELCOME'
  - 'ABOUT-US'

# Properties used by 'pull' and 'publish' command
pullPath: ./src/hosting/
environment: '_production' # or '_latest', or 'my_custom'

See all available download and upload options

Get integration snippet

To make the CLI configuration easier, you can get the integration snippet for importing or exporting translations in the 'Data' tab.

SimpleLocalize: command-line copy integration snippet location

Authorization

Most of the CLI command needs to be authorized with --apiKey. The API Key can be found in the 'Settings > Credentials > API Key'.

SimpleLocalize: Project API Key location
Was this helpful?