All Projects β†’ crowdin β†’ Crowdin Cli

crowdin / Crowdin Cli

Licence: mit
A command-line client for the Crowdin API

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Crowdin Cli

Matrix Commander
simple but convenient CLI-based Matrix client app for sending and receiving
Stars: ✭ 90 (+1.12%)
Mutual labels:  command-line-tool, cli, client
Rff Cli Example
An example of how to use 🏁 React Final Form in a CLI application with Ink
Stars: ✭ 55 (-38.2%)
Mutual labels:  command-line-tool, cli
Forge Node App
πŸ› πŸ“¦πŸŽ‰ Generate Node.js boilerplate with optional libraries & tools
Stars: ✭ 90 (+1.12%)
Mutual labels:  command-line-tool, cli
Pyinquirer
A Python module for common interactive command line user interfaces
Stars: ✭ 1,151 (+1193.26%)
Mutual labels:  command-line-tool, cli
Graphql Zeus
GraphQL client and GraphQL code generator with GraphQL autocomplete library generation ⚑⚑⚑ for browser,nodejs and react native
Stars: ✭ 1,043 (+1071.91%)
Mutual labels:  cli, client
Foxify Cli
πŸ’» Firefox Command-Line Theme Manager 🦊 Inspired by spicetify-cli πŸ”₯
Stars: ✭ 55 (-38.2%)
Mutual labels:  command-line-tool, cli
Nat
nat - the 'ls' replacement you never knew you needed
Stars: ✭ 1,129 (+1168.54%)
Mutual labels:  command-line-tool, cli
Football Cli
⚽ Command line interface for Hackers who love football
Stars: ✭ 984 (+1005.62%)
Mutual labels:  command-line-tool, cli
Hopp Doc Gen
πŸ“” API documentation generator CLI for https://hoppscotch.io
Stars: ✭ 70 (-21.35%)
Mutual labels:  command-line-tool, cli
Github Files Fetcher
Download a specific folder or file from a GitHub repo through command line
Stars: ✭ 73 (-17.98%)
Mutual labels:  command-line-tool, cli
Nexmo Cli
Nexmo CLI (Command Line Interface)
Stars: ✭ 73 (-17.98%)
Mutual labels:  command-line-tool, cli
Catage
Node package and CLI tool to convert code into an image with syntax highlighting
Stars: ✭ 44 (-50.56%)
Mutual labels:  command-line-tool, cli
Ed
A modern UNIX ed (line editor) clone written in Go
Stars: ✭ 44 (-50.56%)
Mutual labels:  command-line-tool, cli
Pypistats
Command-line interface to PyPI Stats API to get download stats for Python packages
Stars: ✭ 86 (-3.37%)
Mutual labels:  command-line-tool, cli
Sqlite Global Tool
SQLite .NET Core CLI tool that allows the user to manually enter and execute SQL statements with or without showing query result.
Stars: ✭ 37 (-58.43%)
Mutual labels:  command-line-tool, cli
Q
q - Run SQL directly on CSV or TSV files
Stars: ✭ 8,809 (+9797.75%)
Mutual labels:  command-line-tool, cli
Spam Bot 3000
Social media research and promotion, semi-autonomous CLI bot
Stars: ✭ 79 (-11.24%)
Mutual labels:  command-line-tool, cli
Ecsctl
Command-line tool for managing AWS Elastic Container Service and Projects to run on it.
Stars: ✭ 15 (-83.15%)
Mutual labels:  command-line-tool, cli
Moviescore
A cli tool to get movie ratings and reviews directly to your terminal!
Stars: ✭ 35 (-60.67%)
Mutual labels:  command-line-tool, cli
Sync Glitch Cli
🎏 Sync changes in your GitHub repository to glitch.com
Stars: ✭ 69 (-22.47%)
Mutual labels:  cli, sync

Crowdin CLI Tweet

Crowdin CLI is a command line tool that allows you to manage and synchronize your localization resources with your Crowdin project. Using CLI, you can:

  • automate the process of updating your source files in your Crowdin project
  • download translations from Crowdin and automatically save them in the correct locations
  • upload all your existing translations to Crowdin in minutes
  • integrate Crowdin with GIT, SVN, Mercurial, and other software

This is a cross-platform and it runs in a terminal on Linux based and macOS operating systems or in Command Prompt on Windows.

Status

Build Status Docker Pulls npm homebrew downloads GitHub contributors GitHub

Azure DevOps tests (branch) codecov

Table of Contents


Features

  • Interactive generation of a configuration file
  • Upload source files and existing translations to a Crowdin project
  • Download latest translations from Crowdin to the specified place
  • Show translation and proofreading progress for a project
  • Manage source strings in a Crowdin project
  • Manage glossaries and translation memories
  • Show a list of source files and branches in the current project
  • List information about the source files or translations that match the wild-card pattern contained in the current project
  • Multithreading for source and translation files upload
  • Bash/Zsh command completion
  • Process indicators, loading states, emojis
  • HTTP Proxy support including authorization
  • To explore more features, visit the Wiki, KB article and Configuration File article.

Installation

Requirements

Check if you have Java 8 or newer installed. Type java -version command in the terminal (Command Prompt on Windows) to check Java version.

For example, java version "1.8.0_212" means that you have Java 8 Update 212 installed.

Homebrew for macOS To install the Crowdin CLI with homebrew (the package manager for macOS):
brew tap crowdin/crowdin
brew install [email protected]
Windows

Download and run installer for Windows.

Debian

We sign all our packages with the Crowdin Signing Key.

Download and install the public signing key:

wget -qO - https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add -

Using the following command, create the crowdin.list file in the /etc/apt/sources.list.d directory:

echo "deb https://artifacts.crowdin.com/repo/deb/ /" > /etc/apt/sources.list.d/crowdin.list

And your repository is ready for use. You can install the Crowdin CLI Debian package with:

sudo apt-get update && sudo apt-get install crowdin3

To install the Crowdin CLI manually:

wget https://artifacts.crowdin.com/repo/deb/crowdin3.deb -O crowdin.deb
sudo dpkg -i crowdin.deb
RPM

We sign all our packages with the Crowdin Signing Key.

Download and install the public signing key:

rpm --import https://artifacts.crowdin.com/repo/GPG-KEY-crowdin

Installing from the RPM repository

Create a file called crowdin.repo in the /etc/yum.repos.d directory containing:

/etc/yum.repos.d/crowdin.repo:

[crowdin]
name=Crowdin repository
baseurl=https://artifacts.crowdin.com/repo/rpm
gpgcheck=1
gpgkey=https://artifacts.crowdin.com/repo/GPG-KEY-crowdin
enabled=1

And your repository is ready for use. You can now install Crowdin CLI with one of the following commands:

sudo yum install crowdin3
sudo dnf install crowdin3

To install the Crowdin CLI manually:

wget https://artifacts.crowdin.com/repo/rpm/crowdin3.rpm -O crowdin.rpm
sudo rpm -U crowdin3.rpm
Arch Linux

Visit the Crowdin CLI package page on Arch Linux user repository.

NPM

npm i -g @crowdin/cli

Docker

docker pull crowdin/cli

Standalone Version

Crowdin CLI can be installed as a stand-alone Java application.

Download for MacOS, Linux and Windows

Installation on Linux and macOS

  • Download crowdin-cli.zip using the button above
  • Unpack it
  • Run ./install-crowdin-cli.sh in the terminal with sudo rights in order to add crowdin command to your terminal

Installation on Windows

  • Download crowdin-cli.zip using the button above
  • Extract it's content to the place where you want Crowdin CLI to be stored
  • Open Command Prompt as an Administrator
    • Click Start
    • In the Start Search box, type cmd, and then press CTRL+SHIFT+ENTER
    • If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue
  • Run setup-crowdin.bat script in order to add crowdin command to the Command Prompt
  • Restart your Command Prompt

Running

Use the following method to run the app:

crowdin

Alternative method:

java -jar crowdin-cli.jar

Configuration

Crowdin CLI uses a YAML configuration file that contains a description of the resources to manage: files to be uploaded into Crowdin and the locations of the corresponding translations.

To use Crowdin CLI, you should first generate your configuration file and then run the tool. By default, Crowdin CLI looks for a configuration file named crowdin.yaml or crowdin.yml (so you don’t have to specify the file name unless it’s different from crowdin.yaml).

To create the configuration file run the following command:

crowdin init

When calling Crowdin CLI in terminal make sure you are in your project root directory. Otherwise, you need to specify a configuration file path using --config option:

crowdin upload sources --config /path/to/your/config/file

Sample configuration file:

"project_id": "12"
"api_token": "54e01--your-personal-token--2724a"
"base_path": "."
"base_url": "https://api.crowdin.com" # https://{organization-name}.crowdin.com

"preserve_hierarchy": true

"files": [
  {
    "source" : "/resources/**/*",
    "translation" : "/%two_letters_code%/%original_file_name%"
  }
]

πŸ“ For more information how to configure Crowdin CLI, check Configuration File article.

Usage

Once the configuration file is created, you can use Crowdin CLI to manage your localization resources and automate file synchronization.

General Commands

To display help information:

crowdin -h
crowdin <command> -h

To generate skeleton configuration file:

crowdin init

To check configuration file for general mistakes:

crowdin lint

To display a list of files uploaded to Crowdin:

crowdin list project

Uploading Resources

To upload source files to Crowdin:

crowdin upload sources

To upload single file without a configuration:

crowdin upload sources \
    -s path/to/your/file \
    -t file/export/pattern \
    -T personal-access-token \
    -i project-id \
    --base-url https://api.crowdin.com

Use placeholders to put appropriate variables.

To display a list of files that will be uploaded to Crowdin:

crowdin upload sources --dryrun

To upload existing translations to Crowdin (translations will be synchronized):

crowdin upload translations

To show detailed information about the upload command:

crowdin upload --help

Downloading Translations

To download the latest translations from Crowdin:

crowdin download

To download the latest translations for the specific language (language codes):

crowdin download -l {language_code}

To display a list of the latest translations from Crowdin:

crowdin download --dryrun

To show detailed information about the download command:

crowdin download --help

Versions Management

There is no need to run specific command to create version branches if you use synchronization tool. The version branch is created automatically during the files upload.

To upload source files to the specified version branch:

crowdin upload sources -b {branch_name}

To upload translations to the specified version branch:

crowdin upload translations -b {branch_name}

To download translations from the specified version branch:

crowdin download -b {branch_name}

Advanced Usage

Visit the Crowdin CLI Wiki to read more about CLI advanced features (like pseudo-localization, translations downloading to the specified file, etc.)

Seeking Assistance

If you find any problems or would like to suggest a feature, please read the How can I contribute section in our contributing guidelines.

Need help working with Crowdin CLI or have any questions? Contact Customer Success Service.

Contributing

If you want to contribute please read the Contributing guidelines.

Contributors ✨


Barabash

πŸ’» ⚠️ πŸ‘€
🚧 πŸ“† πŸš‡
Ihor Popyk

πŸ’»

MrAndersonn

πŸ’»

Yevheniy Oliynyk

πŸ’»
🚧
Hakanai

πŸ’»
πŸ“¦
Vasyl Khomko

⚠️

Christian Oder

πŸ’»

Mykhailo Rohalskyy

πŸ“–

nazar-1

πŸ’»

License

The Crowdin CLI is licensed under the MIT License. 
See the LICENSE.md file distributed with this work for additional 
information regarding copyright ownership.

Except as contained in the LICENSE file, the name(s) of the above copyright
holders shall not be used in advertising or otherwise to promote the sale,
use or other dealings in this Software without prior written authorization.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].