
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@mollie/crowdin-cli
Advanced tools
A helper tool to sync translation messages with [Crowdin](https://crowdin.com/), using [`@formatjs/cli`](https://formatjs.io/docs/tooling/cli/) for message extraction.
A helper tool to sync translation messages with Crowdin, using @formatjs/cli
for message extraction.
npm install @mollie/crowdin-cli
# or
yarn add @mollie/crowdin-cli
The CLI now supports only three commands: sync
, delete-branch
, and delete-stale-branches
.
Create a .env
file in your project root and add your Crowdin personal access token:
CROWDIN_PERSONAL_ACCESS_TOKEN=your-token
Add these scripts to your package.json
(replace <your-project-id>
with your actual Crowdin project ID):
{
"crowdin:sync": "mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id>",
"crowdin:upload": "mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id> --skip-download",
"crowdin:download": "mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id> --skip-upload",
"crowdin:delete-branch": "mollie-crowdin delete-branch --project-id <your-project-id>",
"crowdin:delete-stale-branches": "mollie-crowdin delete-stale-branches --project-id <your-project-id>"
}
--skip-download
to only upload messages.--skip-upload
to only download translations.sync <glob>
Scan the directory for new messages and upload them to Crowdin, optionally downloading translations and running pre-translation.
Common options:
--typescript
— Write to TypeScript files (.ts
)--skip-upload
— Skip the upload step (download only)--skip-download
— Skip the download step (upload only)--branch-name, -b <name>
— Crowdin branch name (defaults to current Git branch)--project-id, -pi <id>
— Required. Crowdin project ID--languages, -l <languages>
— Comma-separated list of target languages (e.g. de,fr,nl
). If not provided, all enabled languages are used (i.e., all languages enabled in your Crowdin project).--pre-translate, -pt
— Whether to generate pre-translations for the uploaded files--pre-translate-languages, -ptl <languages...>
— Comma-separated list of languages to pre-translate. If not provided, all enabled languages are used (i.e., all languages enabled in your Crowdin project).--pre-translate-method, -ptm <method>
— Pre-translate method to use. Options: 'ai'
, 'mt'
, 'tm'
--pre-translate-engine-id, -ptei <id>
— Engine ID for machine pre-translation--pre-translate-prompt-id, -ptpi <id>
— AI prompt ID for pre-translation--create-tasks, -t
— Type of tasks to createdelete-branch
Delete a branch in Crowdin.
--branch-name, -b <name>
— Crowdin branch to be deleted--delete-tasks, -dt
— Whether to delete any associated tasks--project-id, -pi <id>
— Required. Crowdin project IDdelete-stale-branches
Delete branches in Crowdin older than a specified number of days.
--days, -d <number>
— Number of days to consider a branch stale (required)--delete-tasks, -dt
— Whether to delete any associated tasks--project-id, -pi <id>
— Required. Crowdin project ID--languages
and --pre-translate-languages
--languages
/ -l
:
Controls which languages are downloaded from Crowdin or targeted for operations.
Example:
mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id> --languages de,fr
Only German and French translations will be processed.
--pre-translate-languages
/ -ptl
:
Controls which languages will receive pre-translation when uploading or syncing.
Example:
mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id> --pre-translate --pre-translate-languages de,fr
Only German and French will be pre-translated.
If not provided, both options default to all enabled languages in your Crowdin project.
By default, @mollie/crowdin-cli
uses the current Git branch name for Crowdin.
Override with --branch-name
or -b
:
mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id> --branch-name custom-branch
To write downloaded messages to TypeScript files, use the --typescript
flag:
mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id> --typescript
Version 4 of @mollie/crowdin-cli
introduces a simplified CLI and changes to configuration and commands. Here’s what you need to know to upgrade:
Commands:
Only three commands remain: sync
, delete-branch
, and delete-stale-branches
.
The previous upload
, download
, and collect
commands are now handled by sync
with flags.
Environment Variables:
CROWDIN_PROJECT_ID
or CROWDIN_LANGUAGES
in your .env
file.--project-id
or -pi
option.--languages
/-l
and --pre-translate-languages
/-ptl
flags for language selection.Scripts:
Replace old scripts with the new unified sync
command and flags:
{
"crowdin:sync": "mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id>",
"crowdin:upload": "mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id> --skip-download",
"crowdin:download": "mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id> --skip-upload",
"crowdin:delete-branch": "mollie-crowdin delete-branch --project-id <your-project-id>",
"crowdin:delete-stale-branches": "mollie-crowdin delete-stale-branches --project-id <your-project-id>"
}
--skip-download
to only upload messages.--skip-upload
to only download translations.Branch Name:
The CLI now defaults to the current Git branch name.
Override with --branch-name
or -b
.
TypeScript Output:
To write downloaded messages to TypeScript files, use the --typescript
flag with sync
.
Old v3 scripts:
{
"crowdin:download": "mollie-crowdin download",
"crowdin:upload": "mollie-crowdin upload './src/**/!(*.{d,test})*.ts*'",
"crowdin:delete-branch": "mollie-crowdin delete-branch"
}
New v4 scripts:
{
"crowdin:sync": "mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id>",
"crowdin:upload": "mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id> --skip-download",
"crowdin:download": "mollie-crowdin sync './src/**/!(*.{d,test})*.ts*' --project-id <your-project-id> --skip-upload",
"crowdin:delete-branch": "mollie-crowdin delete-branch --project-id <your-project-id>"
}
Old environment variables:
CROWDIN_PERSONAL_ACCESS_TOKEN=your-token
CROWDIN_PROJECT_ID=your-project-id
CROWDIN_LANGUAGES=nl,en-US,fr,fr-BE
New environment variables:
CROWDIN_PERSONAL_ACCESS_TOKEN=your-token
(Provide project ID and languages via CLI options.)
Install dependencies and set up your environment:
nvm install
FAQs
A helper tool to sync translation messages with [Crowdin](https://crowdin.com/), using [`@formatjs/cli`](https://formatjs.io/docs/tooling/cli/) for message extraction.
The npm package @mollie/crowdin-cli receives a total of 223 weekly downloads. As such, @mollie/crowdin-cli popularity was classified as not popular.
We found that @mollie/crowdin-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.