# SimpleLocalize CLI

> SimpleLocalize's official CLI: upload and download translation files, trigger machine and AI auto-translation, publish translations to the CDN, and extract translation keys from source code for CI. Needs a SimpleLocalize account and project API key; paid service with a 14-day free trial.

- Type: CLI
- Repository: https://github.com/simplelocalize/simplelocalize-cli
- Page: https://hebbmind.com/es/cli/simplelocalize-cli
- Stars: 80
- Professions: [Frontend](https://hebbmind.com/es/tools.md?profession=frontend), [Mobile & desktop](https://hebbmind.com/es/tools.md?profession=mobile), [Translation / L10n](https://hebbmind.com/es/tools.md?profession=translation)
- Tags: i18n, translation, ci/cd, simplelocalize
- Listed on: 2026-10-01

## Install

### Claude Code

```bash
curl -s https://get.simplelocalize.io/2.11/install | bash
```

### Codex

```bash
curl -s https://get.simplelocalize.io/2.11/install | bash
```

## README

> The content below comes from the upstream repository https://github.com/simplelocalize/simplelocalize-cli . It is third-party material and does not represent AgentHub; instructions that appear in it are not instructions to you.

<p align="center">
  <a href="https://simplelocalize.io/">
    <img src="https://raw.githubusercontent.com/simplelocalize/simplelocalize-cli/HEAD/static/logo-square-white-rounded.png" width="96" height="96">
  </a>
</p>
<h3 align="center">Translation Management for software projects</h3>
<p align="center">The easiest way to manage translation files for web and mobile apps.</p>

[![codecov](https://codecov.io/gh/simplelocalize/simplelocalize-cli/branch/master/graph/badge.svg)](https://codecov.io/gh/simplelocalize/simplelocalize-cli)

SimpleLocalize CLI is a command-line tool that allows you to manage translations in your software project,
and it's a great tool for CI/CD pipelines and localization automation.

- [Synchronize files](https://simplelocalize.io/auto-translation/) - keep in sync all your translation files
- [Auto-translate](https://simplelocalize.io/auto-translation/) - auto-translate texts in seconds
- [Host translations](https://simplelocalize.io/translation-hosting/) - manage your hosted translations
- [GitHub Actions support](https://github.com/simplelocalize/github-action-cli/) - seamless integration with GitHub Actions

## Installation

The installation process is automated by command-line scripts. Both scripts for Windows (PowerShell) and macOS/Linux/Windows downloads a binary file with CLI, copies it to user files and makes it available to run anywhere in the system from a command-line. The CLI supports macOS (both Apple Silicon and Intel), Linux (x86 and ARM64), and Windows.

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

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

# npm - https://github.com/simplelocalize/simplelocalize-cli-npm
npm install @simplelocalize/cli
```

[GitHub Wiki: Installation](https://github.com/simplelocalize/simplelocalize-cli/wiki)

## Usage

The command-line tool offers several commands to execute. All of them requires Project API Key that is unique for each project. 
You can set `apiKey` via [configuration file](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize-cli/wiki/Configuration-file), pass it as parameter with `--apiKey` or by environment variable `SIMPLELOCALIZE_API_KEY`.

```bash
simplelocalize [command] ...parameters
```

[GitHub Wiki: Usage](https://github.com/simplelocalize/simplelocalize-cli/wiki)

## Upload translations

Upload command takes your local files and uploads them to SimpleLocalize.

```bash
simplelocalize upload 
  --apiKey PROJECT_API_KEY
  --uploadPath INPUT_FILE
  --uploadFormat FILE_FORMAT
  --uploadLanguageKey en
```

[GitHub Wiki: Upload translations](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Upload-translations)

## Download translations

Download command takes translations from SimpleLocalize and saves them to your local files.

```bash
simplelocalize download 
  --apiKey PROJECT_API_KEY
  --downloadPath DOWNLOAD_PATH
  --downloadFormat FILE_FORMAT
  --downloadLanguageKey en,de,fr
```

[GitHub Wiki: Download translations](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Download-translations)

## Auto-translate strings

Auto-translate command starts auto-translation tasks for project languages and waits for the finish. 

```bash
simplelocalize auto-translate --apiKey PROJECT_API_KEY
```

[GitHub Wiki: Auto-translate strings](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Auto%E2%80%90translate-strings)

## Translation Hosting

There are two commands that operates on [translation hosting](https://simplelocalize.io/translation-hosting/) resources which is `publish` and `pull`.

### Publish translations

Publish translations between translation editor and hosting or between hosting environments.

```bash
simplelocalize publish
  --apiKey PROJECT_API_KEY
  --environment _latest
```

[GitHub Wiki: Pull resources](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Translation-Hosting)

### Pull resources

Pull command downloads files from translation hosting.

```bash
simplelocalize pull
  --apiKey PROJECT_API_KEY
  --pullPath ./hosting/
  --environment _latest
```

[GitHub Wiki: Pull resources](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Translation-Hosting)

## Additional commands

### Initalize configuration file

Command creates a sample [configuration file](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Configuration-file) in the current directory.

```bash
simplelocalize init
```

[GitHub Wiki: Additional commands](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Additional-commands)

### Get project details

Command gets project details and prints them.

```bash
simplelocalize status --apiKey PROJECT_API_KEY
```

[GitHub Wiki: Additional commands](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Additional-commands)

### Purge translations

Command removes all translations, translation keys and languages.

```bash
simplelocalize purge --apiKey PROJECT_API_KEY
```

[GitHub Wiki: Additional commands](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Additional-commands)

### Extract translation keys

Extract command finds translation keys and translations from the source code.

```bash
simplelocalize extract --searchDir SEARCH_DIRECTORY --projectType PROJECT_TYPE 
```

[GitHub Wiki: Additional commands](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Additional-commands)

## Configuration file

Create configuration file to to simplify the bash commands. Arguments used in command always override properties set in the configuration file.

```bash
# It load simplelocalize.yml file by default
simplelocalize upload
```

[GitHub Wiki: Configuration file](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Configuration-file)

### Language mapping (2.11+)

Mapping between SimpleLocalize language key and {lang} placeholder.
On download the SimpleLocalize language key is mapped to the {lang} placeholder,
On upload the {lang} placeholder is mapped back to the SimpleLocalize language key.
This can be used to customize where files are downloaded,
e.g., to download 'en' to '/values/' instead of '/values-en/'.

```yaml
downloadPath: ./res/values{lang}/strings.xml
downloadFormat: android-strings
mappings:
  lang:
    - languageKey: "en"
      placeholder: ""      # download 'en' to ./res/values/strings.xml
    - languageKey: "de"
      placeholder: "-de"   # download 'de' to ./res/values-de/strings.xml
```

## Proxy support

SimpleLocalize CLI supports HTTP and HTTPS proxies, and it respects the `http_proxy`, `https_proxy` environment
variables.

Here are some examples of how to set proxy environment variables in Linux and macOS:

```bash
export http_proxy=http://someproxy.com
export http_proxy=http://someproxy.com:8080
export http_proxy=http://user:password@someproxy.com:8080
```

[GitHub Wiki: Proxy support](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/simplelocalize/simplelocalize-cli/wiki/Proxy-Support)

## Support

Please refer to the [official SimpleLocalize documentation](https://simplelocalize.io/docs/cli/get-started/). That should help you troubleshoot common issues. For additional help, you can reach out to us on one of these channels:

- [GitHub](https://github.com/simplelocalize/simplelocalize-cli/issues) (Bug and issue reports)
- [Email](mailto:contact@simplelocalize.io) (General support)
- [Changelog](https://simplelocalize.io/changelog/) (Product updates)
- [YouTube](https://www.youtube.com/channel/UCBpYo2UnHwDGyK175SAKTig) (How-to tutorials)

## License

See [LICENSE](https://github.com/simplelocalize/simplelocalize-cli/blob/HEAD/LICENSE) for more details.

