Skip to content

kabeep/node-translate-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

76 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

logo

A powerful, secure and feature-rich command line via Google Translation.

NodeJS License NPM Codecov Codacy CircleCI

English | ็ฎ€ไฝ“ไธญๆ–‡

Alt

usage-png

๐Ÿ“– Introduction

Using the node-translate API in the terminal.

The API bypasses token restrictions. If it is used in large quantities or for business, please support the work of Google Translation, which provides a lot of free credits.

[11/25/2025] I add the Microsoft translation engine in the 1.4.0 version to deal with the problem that Google Translate does not provide services to the newtworks of some countries or regions. Although there is no rich output, at least users in these regions can use it. Enjoy it ;)

Besides simple text translation, it also provides:

  • Auto-detect system language as target language
  • Spell autocorrect
  • Getting source text from stdin
  • Polysemous translation results
  • Synonyms of the source text
  • Example sentences of the source text
  • Phonetic transcription of the source and translated text
  • Stable output and error prompts
  • Beautiful terminal styling
  • Internationalized prompt for terminal

โš™๏ธ Installation

npm install @kabeep/node-translate-cli --save
yarn add @kabeep/node-translate-cli
pnpm add @kabeep/node-translate-cli

๐Ÿš€ Usage

translate <text> [options]

options๏ผš
  -f, --from            The source language (language to be translated from)
                        specified as language name or ISO 639-1 code
                                                           [string] [default: "auto"]
  -t, --to              The target language (language to be translated to)
                        specified as language name or ISO 639-1 code
  -e, --engine          Select translation engine
                        [string] [choices: "google", "microsoft"] [default: "google"]
                                                           [string] [default: "auto"]
      --timeout         Timeout duration for the translation request in
                        milliseconds                       [number] [default: 30000]
      --stdin-timeout   You can use this parameter to avoid timeouts if stdin
                        takes too long (ms)                [number] [default: 5000]
  -r, --retry           Retry attempts for the translation request in case of
                        failure                            [number] [default: 0]
  -p, --show-phonetics  Show the pronunciation of the translated word
                                                           [boolean] [default: false]
  -s, --show-source     Show source text information       [boolean] [default: false]
  -d, --show-detail     Show translated detail information [boolean] [default: false]
  -l, --show-list       Show supported language list       [boolean] [default: false]
      --show-code       Show supported language code list  [boolean] [default: false]
      --show-adaptive   Show adaptive language             [boolean] [default: false]
  -v, --version         Show version                       [boolean]
  -h, --help            Show help info                     [boolean]

Environment Variables

Name Description
NODE_TRANSLATE_CLI_ENGINE Specify the translation engine through env variable

๐Ÿช„ Examples

Using stdin

echo "test" | translate -f en -t zh

Using iso-639-1 and text parameters

translate "test" --from=en --to=zh

Using language name and capitalized correction

translate "test" --from="ENGLISH" --to="chinese"

Adaptive source language

translate "test" -t zh

Self-detection of native language

translate "test" -f en

Autocorrect source text

translate "Thunk you"

Translate words and show synonyms, polysemy explanations and examples

translate "test" -d

Translate a word, phrase or sentence and show the source text and phonetic symbols

translate "test" -s -p

Set API timeout

translate "test" --timeout=60000

Set the timeout for the standard input stream

npm view node-translate-cli description | translate --stdin-timeout=30000

Set the number of retries when an API request fails

translate "test" -r 2

Show supported languages

translate -l

Show supported language codes

translate --show-code

Show supported adaptive languages

translate --show-adaptive

Show help information

translate -h

Show the version of current

translate -v

๐Ÿง™๐Ÿฝโ€โ™‚๏ธ Advanced

Using another npm package

npm install -g clipboard-cli

# Use the clipboard-cli to copy translation results to the clipboard
translate 'Translate this sentence to your clipboard' | clipboard

Using the static accessor $() method

git commit -m "$(translate 'feat: your commit content' -t zh)"

Alt

Using the pipe | symbol

npm info npm description | translate -t zh

Alt

Using the redirection > symbol

translate "่ฟ™ๆ˜ฏไธ€ๆฎตๆต‹่ฏ•ๆ–‡ๆœฌใ€‚" -t en > usage.txt

Alt

Translate The Rust-lang Book into your language

curl https://raw.githubusercontent.com/rust-lang/book/master/src/ch01-00-getting-started.md | translate

Alt

๐Ÿ”ง Autocorrect

Default: white background

Correct Spelling: yellow background

Detect Language: red background

Alt

๐Ÿข Network anomaly

When the network is abnormal, the terminal will change as shown in the figure below (they actually come from the same line).

Alt

โŒจ๏ธ Automatic line wrapping

When a single line of content is too long, the terminal will automatically wrap the line after the title.

Alt

๐ŸŒ i18n

Quickly contribute your language via ease-to-use node-translate-i18n in locale file are welcome, or notify me via Issues for handling.

Alt

๐Ÿ”— Related

๐Ÿค Contribution

Contributions via Pull Requests or Issues are welcome.

๐Ÿ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

Packages

No packages published

Contributors 2

  •  
  •