Консольный клиент (CLI)

Crowdin CLI - это инструмент командной строки, который позволяет вам управлять и синхронизировать ресурсы локализации с вашим проектом Crowdin:

  • Автоматизируйте процесс обновления исходных файлов в вашем проекте Crowdin
  • Скачивайте переводы Crowdin и автоматически сохраняйте в нужное место
  • Отправляйте все ваши существующие переводы на Crowdin за пару минут
  • Integrate Crowdin with GIT, SVN, Mercurial, and more.

Вы можете использовать его в терминалах Linux или MacOS X, а также в командной строке операционных системах Windows. It’s also open-source and it’s source code available at GitHub.

Что нового

  • Multithreading for source and translation files upload
  • UX improvements: process indicators, loading states, emojis
  • Interactive generation of a configuration file
  • Bash/Zsh command completion
  • Improved help screen for commands
  • Improved configuration file validation
  • More import options for upload command
  • More export options for download command
  • Based on new RESTful Crowdin API v2
  • Bug fixes and other improvements

Системные требования

Убедитесь, что у вас установлена Java 8 или новее. Для проверки версии Java введите команду java -version в терминале (командная строка в Windows). Например, версия Java “1.8.0_212” означает, что у вас установлена Java 8 обновление 212.

Если у вас не установлена Java, загрузите ее с веб-сайта Oracle {:target=”_blank”}.

Установка

Homebrew для MacOS

To install the Crowdin CLI with homebrew (the package manager for macOS):

$ brew tap crowdin/crowdin
$ brew install crowdin@3

Windows

Загрузите и запустите установщик для Windows .

Debian

Мы подписываем все наши пакеты с помощью ключа подписи Crowdin.

Скачать и установить открытый ключ подписи:

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. Вы можете установить пакет Crowdin CLI Debian командой:

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

Чтобы установить Crowdin CLI вручную:

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

RPM

Мы подписываем все наши пакеты с помощью ключа подписи Crowdin.

Скачать и установить открытый ключ подписи:

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

Установка из репозитория RPM

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

[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

Чтобы установить Crowdin CLI вручную:

$ 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

Installing from the NPM repository

npm i -g @crowdin/cli

Автономная версия

Crowdin-cli можно установить как отдельное Java-приложение.

Установка на Linux и MacOS

  1. Скачайте crowdin-cli.zip используя кнопку выше
  2. Распакуйте его
  3. Run ./install-crowdin-cli.sh in the terminal with sudo rights in order to add crowdin command to your terminal

Установка на Windows

  1. Скачайте crowdin-cli.zip используя кнопку выше
  2. Извлеките его содержимое в место, где вы хотите хранить Crowdin CLI
  3. Откройте командную строку от имени Администратора
    1. Нажмите Пуск
    2. In the Start Search box, type cmd, and then press Ctrl+Shift+Enter
    3. Если появится диалоговое окно Контроль учетных записей, убедитесь, что отображаемое действие соответствует желаемому, и нажмите Продолжить.
  4. Запустите скрипт setup-crowdin.bat для добавления команды crowdin в командную строку
  5. Перезапустите Командную строку

Using Crowdin CLI with Proxy Server

Crowdin CLI provides a possibility to work with a proxy server. Each time you run a command, Crowdin CLI checks whether the operating system has the configured environment variables.

Supported environment variables:

HTTP_PROXY_HOST – the name or the IP address of the host at which the proxy server is located
HTTP_PROXY_PORT – the port used by the proxy server for listening
HTTP_PROXY_USER – the username used for authentication on a proxy server
HTTP_PROXY_PASSWORD – the password used for authentication on a proxy server

Запуск приложения

Используйте следующую команду для запуска приложения:

$ crowdin

Альтернативный метод:

$ java -jar crowdin-cli.jar

Интерфейс командной строки

Файл конфигурации

To use Crowdin CLI you need to have a configuration file. We recommend to name it crowdin.yml. You can create it running the command:

$ crowdin init

When calling Crowdin CLI in terminal you should be in your project root directory. Otherwise, you will have to specify a configuration file path using the --config option:

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

Запустите crowdin help чтобы получить более подробную информацию о других командах.

Пример файла конфигурации:

"project_id": "projectId"                 #open project and go to Resources > Integrations & API > Integration tool
"api_token": "personal-access-token"      #open project and go to Resources > Integrations & API > Integration tool
"base_path": "."                          #path to your project directory on a local machine
"base_url": "https://{organization-name}.crowdin.com"
"preserve_hierarchy": true

"files": [
  {
      "source": "/en/**/*.json",                                          #source files filter
      "translation": "/%two_letters_code%/**/%original_file_name%"        #where translations are stored
  }
]

For more information how to configure Crowdin CLI, read the Configuration File article.

Использование

После создания файла конфигурации вы будете готовы приступить к использованию crowdin cli для управления ресурсами локализации, а также сможете автоматизировать синхронизацию ваших файлов.

Общие команды

To show help information about Crowdin CLI:

$ crowdin help

Чтобы создать шаблон файла конфигурации:

$ crowdin init

Чтобы проверить файл конфигурации на наличие общих ошибок:

$ crowdin lint

Чтобы отобразить список загруженных в Crowdin файлов:

$ crowdin list project

Uploading Sources

Чтобы загрузить исходные файлы в Crowdin:

$ crowdin upload sources

To specify the target languages the source files shouldn’t be translated into:

$ crowdin upload sources --excluded-language uk fr

Чтобы загрузить один файл без конфигурации:

$ crowdin upload sources -s "..." -t "..." -T personal-token -i project-id --base-url 'your-organization-url'

Use placeholders to put appropriate variables.

Чтобы отобразить список файлов, которые будут загружены в Crowdin:

$ crowdin upload sources --dryrun

To delete obsolete files from a Crowdin project:

$ crowdin upload sources --delete-obsolete

Чтобы загрузить существующие переводы в Crowdin (переводы будут синхронизированы):

$ crowdin upload translations

Чтобы показать подробную информацию о команде upload:

$ crowdin upload --help

To add existing or new labels to the source strings:

$ crowdin upload sources -s "..." -t "..." --label "main-menu" --label "application"

Read more about Labels.

Downloading Sources

To download source files from Crowdin:

$ crowdin download sources

Скачивание переводов

Чтобы загрузить последние версии переводов из Crowdin:

$ crowdin download

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

$ crowdin download -l {language_code}

Чтобы отобразить список последних переводов из Crowdin:

$ crowdin download --dryrun

Чтобы показать подробную информацию о команде download:

$ crowdin download --help

Downloading Translations to a Target File

Regardless of the initial source file format, you can download translation files in the Android XML, iOS Strings, and XLIFF formats.

It’s beneficial when localizing mobile app content or when the final translation file format differs from the initial source format. You can use beforehand generated source files or send strings to your Crowdin project directly from design tools. When translations are finished, you can download them in the needed format and easily integrate them into the codebase.

To launch custom exporters and download files in the necessary format:

$ crowdin download targets <name>

Файл конфигурации

Add the targets section to your crowdin.yml configuration file with the following structure:

targets: [
  {
    name: "android",
    files: [
      {
        file: "targets/%two_letters_code%/android.xml",
        sources: [
            "file.xlsx"
        ],
        labels: [
            "mobile",
            "ui"
        ]
      }
    ]
  }
]
  • name - the name of your target. Will be used for downloading specific targets.
  • files - the section that describes the resulting files that appear in your system after the download. Each target supports the downloading of multiple files.
  • file - the resulting file pattern. Currently supported file formats are the following: Android XML (.xml), iOS Strings (.strings), and XLIFF. New file formats are coming soon.
  • sources - the source files in Crowdin Enterprise, whose translations should be exported. Alternatively, you can specify either branches or directories.
  • labels - Labels for the strings filtering (Optional).

As a result, the file.xlsx translations (filtered by labels mobile and ui) will be downloaded to targets/%two_letters_code%/android.xml file.

Downloading Pseudo-localization

You can configure and download pseudo-localized translation files.

To download an archive with pseudo-localized translation files:

$ crowdin download --pseudo

Файл конфигурации

Add the pseudo_localization section to your crowdin.yml configuration file with the following structure:

pseudo_localization: {
  length_correction: 25,
  prefix: "",
  suffix: "",
  character_transformation: "cyrillic"
}

Управление версиями

You can manage (add, delete) version branches in a project.

To create a new version branch:

$ crowdin branch add {branch_name}

To delete a version branch:

$ crowdin branch delete {branch_name}

Also, you can create version branches during the file upload.

Чтобы загрузить исходные файлы в указанную версию ветки:

$ crowdin upload sources -b {branch_name}

Чтобы загрузить переводы в указанную версию ветки:

$ crowdin upload translations -b {branch_name}

Чтобы скачать переводы из указанной версии ветки:

$ crowdin download -b {branch_name}

Source Strings Management

You can manage (add, edit, delete) source strings for the following file types: CSV, RESX, JSON, Android XML, iOS strings, PROPERTIES.

To show a list of source strings in the current project (use the --verbose option to see more information):

$ crowdin string list

To show a list of source strings for a specified version branch in a project:

$ crowdin string list --branch {branch_name}

To create a new source string (use --label to add labels to the strings you’re creating):

$ crowdin string add

To delete source string:

$ crowdin string delete

To edit existing source string (use --label to add labels to the strings you’re editing):

$ crowdin string edit

Use the -h option to see all possible command options.

Translation and Proofreading Progress

You can check the translation and proofreading progress for a project using the following commands.

To show both translation and proofreading progress for a project:

$ crowdin status

To show both translation and proofreading progress for a specified version branch in a project:

$ crowdin status --branch {branch_name}

To show translation progress for a project:

$ crowdin status translation

To show proofreading progress for a project:

$ crowdin status proofreading

Also, you can use the --verbose option to see more information. Use -h option to see all possible command options.

Glossary Management

You can upload and download glossaries.

To show a list of glossaries (use the --verbose option to show term lists for glossaries):

$ crowdin glossary list

To upload glossary from a file (in TBX file format) either to the specified glossary or to a new one:

$ crowdin glossary upload

To upload glossary from a file (in CSV or XLS/XLSX file format) either to the specified glossary or to a new one:

$ crowdin glossary upload <file> --scheme term_en=0 --scheme description_en=1 --scheme partOfSpeech_en=2 --first-line-contains-header

To form the scheme for your CSV or XLS/XLSX glossary file, use the following constants:

term_{language_code} – Column contains terms.
{column_number} – Column number. Numbering starts from 0. description_{language_code} – Column contains term descriptions.
partOfSpeech_{language_code} – Column contains part of speech for terms.
where {language_code} – Language code for the specified language. See the full list of Supported Languages.
--first-line-contains-header – Used to skip the import of the first row (header).

To download glossary to a file (in TBX, CSV, or XLS/XLSX file format) from the specified glossary:

$ crowdin glossary download

Translation Memory Management

You can upload and download translation memories.

To show a list of translation memories:

$ crowdin tm list

To upload translation memory from a file (in TMX file format) either to the specified translation memory or to a new one:

$ crowdin tm upload

To upload translation memory from a file (in CSV or XLS/XLSX file format) either to the specified translation memory or to a new one:

$ crowdin tm upload <file> --scheme en=0 --scheme fr=1 --first-line-contains-header

To form the scheme for your CSV or XLS/XLSX translation memory file, use the following constants:

{language_code} – Column contains translation memory elements for the specified language.
{column_number} – Column number. Numbering starts from 0. where {language_code} – Language code for the specified language. See the full list of Supported Languages.
--first-line-contains-header – used to skip the import of the first row (header).

To download translation memory to a file (in TMX, CSV, or XLS/XLSX file format) from the specified translation memory:

$ crowdin tm download

Предварительный перевод

You can pre-translate source files that match the wild-card pattern and are stored in the current Crowdin project. You can use the pre-translation via TM or MT.

To run pre-translation via TM:

$ crowdin pre-translate --method tm

To run pre-translation via MT:

$ crowdin pre-translate --method mt --engine-id=...

Use -h option to see all possible command options.

List Project Target Languages

You can list target languages that are used in the current project.

To display a list of target languages:

$ crowdin list languages

Use -h option to see all possible command options.

Полезная информация

Была ли эта статья полезной?