Crowdin CLI - это консольное приложение для интеграции вашего проекта с Crowdin, позволяющее автоматизировать управление и синхронизацию ресурсных файлов и переводов:
Вы можете использовать его в терминалах Linux или MacOS X, а также в командной строке операционных системах Windows. It’s also open-source and it’s source code available at GitHub.
upload
commanddownload
commandУбедитесь, что у вас установлена Java 8 или новее. Для проверки версии Java введите команду java -version
в терминале (командная строка в Windows). Например, версия Java “1.8.0_212” означает, что у вас установлена Java 8 обновление 212.
Если у вас не установлена Java, загрузите ее с веб-сайта Oracle {:target=”_blank”}.
To install the Crowdin CLI with homebrew (the package manager for macOS):
$ brew tap crowdin/crowdin
$ brew install crowdin@3
Загрузите и запустите установщик для Windows .
Мы подписываем все наши пакеты с помощью ключа подписи 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
Мы подписываем все наши пакеты с помощью ключа подписи 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
Visit the Crowdin CLI package page on Arch Linux user repository.
Installing from the NPM repository
npm i -g @crowdin/cli
Crowdin-cli можно установить как отдельное Java-приложение.
./install-crowdin-cli.sh
in the terminal with sudo rights in order to add crowdin
command to your terminal setup-crowdin.bat
для добавления команды crowdin
в командную строку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 settings and go to API section
"api_token": "personal-access-token" #open profile settings and go to API & SSO > New Token > create Token
"base_path": "." #path to your project directory on a local machine
"base_url": "https://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 on how to configure Crowdin CLI, read the Configuration File article.
После создания файла конфигурации вы будете готовы приступить к использованию crowdin cli для управления ресурсами локализации, а также сможете автоматизировать синхронизацию ваших файлов.
Для вывода на экран справочной информации:
$ crowdin help
Чтобы создать шаблон файла конфигурации:
$ crowdin init
Чтобы проверить файл конфигурации на наличие общих ошибок:
$ crowdin lint
Чтобы отобразить список загруженных в Crowdin файлов:
$ crowdin list project
Чтобы загрузить исходные файлы в Crowdin:
$ crowdin upload sources
Чтобы загрузить один файл без конфигурации:
$ crowdin upload sources -s path/to/your/file -t file/export/pattern -T personal-token -i project-id --base-url https://crowdin.com
Используйте заполнители чтобы подставить соответствующие переменные.
Чтобы отобразить список файлов, которые будут загружены в Crowdin:
$ crowdin upload sources --dryrun
Чтобы загрузить существующие переводы в 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.
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
There is a possibility to download the latest translations from Crowdin to the specified target file (Android XML or iOS Strings) regardless of the source file format in Crowdin.
To download the latest translations from Crowdin to the target file:
$ 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, only Android XML (.xml) and iOS Strings (.strings) file formats are supported.sources
- the source files in Crowdin, 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.
There is a possibility to 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"
}
Read more about Pseudo-localization.
There is no need to run a specific command to create version branches if synchronization tool is used. The version branch will be created automatically during the files upload.
Чтобы загрузить исходные файлы в указанную версию ветки:
$ crowdin upload sources -b {branch_name}
Чтобы загрузить переводы в указанную версию ветки:
$ crowdin upload translations -b {branch_name}
Чтобы скачать переводы из указанной версии ветки:
$ crowdin download -b {branch_name}
There is a possibility to 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 create a new source string (use -h
option to see all possible command options):
$ crowdin string add
To delete source string:
$ crowdin string delete
To edit existing source string:
$ crowdin string edit
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 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.
There is a possibility to 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
There is a possibility to 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