Skip to content

Commit 8024b13

Browse files
committed
feat(cli): CLI usage example
1 parent e70cc9a commit 8024b13

3 files changed

Lines changed: 61 additions & 2 deletions

File tree

bin/cli.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import readline from 'node:readline';
55
import { hideBin } from 'yargs/helpers';
66
import yargs from 'yargs/yargs';
77
import pipeline, { type ArgumentVector, locale } from '../src';
8+
import { yellow } from '../src/utils';
89

910
if (process.platform === 'win32') {
1011
const rl = readline.createInterface({
@@ -89,6 +90,30 @@ pipeline(
8990
boolean: true,
9091
default: false,
9192
})
93+
.example([
94+
[yellow('translate Hello World!'), locale.CMD_USAGE_EG],
95+
[yellow('translate Hello World! --to=es'), locale.CMD_USAGE_EG_TO],
96+
[yellow('translate --show-phonetics --show-source --show-detail Hello World!'), locale.CMD_USAGE_EG_SHOW],
97+
[yellow('translate -psd Hello World!'), locale.CMD_USAGE_EG_ABBR],
98+
[yellow('cat ./README.md | translate'), locale.CMD_USAGE_EG_FILE],
99+
[
100+
yellow(
101+
'curl https://raw.githubusercontent.com/rust-lang/book/master/src/ch01-00-getting-started.md | translate',
102+
),
103+
locale.CMD_USAGE_EG_STDIN,
104+
],
105+
[yellow('npm --help | translate > npm-help.txt'), locale.CMD_USAGE_EG_HELP],
106+
[
107+
yellow(
108+
'curl example.com --stdin-timeout=5000 | translate',
109+
),
110+
locale.CMD_USAGE_EG_SLOW,
111+
],
112+
[yellow('translate --engine microsoft Hello World!'), locale.CMD_USAGE_EG_ENGINE],
113+
[yellow('export NODE_TRANSLATE_CLI_ENGINE=microsoft && translate Hello World!'), locale.CMD_USAGE_EG_ENV],
114+
[yellow('translate --timeout 3000 --retry 3 Hello World!'), locale.CMD_USAGE_EG_TIMEOUT],
115+
[yellow('translate --show-languages'), locale.CMD_USAGE_EG_LANGS],
116+
])
92117
.alias({
93118
v: 'version',
94119
h: 'help',

src/locale/en-US.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,25 @@ export default {
1616
CMD_DES_SHOW_DETAIL: 'Show translated detail information',
1717
CMD_DES_SHOW_LANGUAGES: 'Show supported languages',
1818

19+
CMD_USAGE_EG: 'Translate "Hello World!" into your language',
20+
CMD_USAGE_EG_TO: 'Translate "Hello World!" into Spanish',
21+
CMD_USAGE_EG_SHOW:
22+
'Output more information (Lang Name, Synonym, Polysemy, Sentence, ...)',
23+
CMD_USAGE_EG_ABBR: 'Make CLI simple with argument abbreviations',
24+
CMD_USAGE_EG_FILE: 'Translate file "./README.md" into your language',
25+
CMD_USAGE_EG_STDIN:
26+
'Translate "Rust-lang Book chapter 01" into your language',
27+
CMD_USAGE_EG_HELP:
28+
'Translate output of "npm --help" into your language, and save it to a file',
29+
CMD_USAGE_EG_SLOW:
30+
'If you have a time-consuming task, use `--stdin-timeout` to protect the CLI',
31+
CMD_USAGE_EG_ENGINE: 'Use "microsoft" as translation engine',
32+
CMD_USAGE_EG_ENV:
33+
'Specify the translation engine through env variable "NODE_TRANSLATE_CLI_ENGINE"',
34+
CMD_USAGE_EG_TIMEOUT:
35+
'If you are concerned about your network status, use `--timeout` to protect the CLI',
36+
CMD_USAGE_EG_LANGS: 'Show supported languages list',
37+
1938
CMD_SPIN_STDIN: 'Loading stdin...',
2039
CMD_SPIN_TRANSLATE: 'Waiting translate API...',
2140

@@ -24,7 +43,6 @@ export default {
2443
CMD_TYPO_SYNONYM: 'Synonym',
2544
CMD_TYPO_POLYSEMY: 'Polysemy',
2645
CMD_TYPO_SENTENCE: 'Sentence',
27-
CMD_TYPO_LANGUAGE: 'Language List',
2846

2947
CMD_ERR_MISSING_ARGUMENT:
3048
'Please enter the content that needs to be translated',

src/locale/zh-CN.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,23 @@ export default {
1111
CMD_DES_SHOW_DETAIL: '查看翻译后的详细信息',
1212
CMD_DES_SHOW_LANGUAGES: '显示支持的语言列表',
1313

14+
CMD_USAGE_EG: '将 "Hello World!" 翻译到你的语言',
15+
CMD_USAGE_EG_TO: '将 "Hello World!" 翻译成你的西班牙语',
16+
CMD_USAGE_EG_SHOW:
17+
'输出更多信息 (语言名称, 发音, 同近义词, 词性, 更多释义, 例句, ...)',
18+
CMD_USAGE_EG_ABBR: '用参数缩写让命令行变得简单',
19+
CMD_USAGE_EG_FILE: '将 "./README.md" 翻译成你的语言',
20+
CMD_USAGE_EG_STDIN: '将 "Rust 语言书第一章节" 翻译成你的语言',
21+
CMD_USAGE_EG_HELP:
22+
'将 "npm --help" 的输出翻译成你的语言, 并将结果保存成文件',
23+
CMD_USAGE_EG_SLOW:
24+
'如果有一个很耗时的任务, 使用 `--stdin-timeout` 参数保护命令行',
25+
CMD_USAGE_EG_ENGINE: '指定 "microsoft" 作为翻译引擎',
26+
CMD_USAGE_EG_ENV: '通过环境变量 "NODE_TRANSLATE_CLI_ENGINE" 指定翻译引擎',
27+
CMD_USAGE_EG_TIMEOUT:
28+
'如果你担忧自己的网络状况, 使用 `--timeout` 参数保护命令行',
29+
CMD_USAGE_EG_LANGS: '显示支持的语言',
30+
1431
CMD_SPIN_STDIN: '加载标准输入流...',
1532
CMD_SPIN_TRANSLATE: '等待翻译API...',
1633

@@ -19,7 +36,6 @@ export default {
1936
CMD_TYPO_SYNONYM: '同近义词',
2037
CMD_TYPO_POLYSEMY: '多义词',
2138
CMD_TYPO_SENTENCE: '例句',
22-
CMD_TYPO_LANGUAGE: '语言列表',
2339

2440
CMD_ERR_MISSING_ARGUMENT: '请输入需要翻译的内容',
2541
CMD_ERR_STDIN_TIMEOUT: '标准输入流监听超时',

0 commit comments

Comments
 (0)