Skip to content

Commit

Permalink
feat:增加 url 参数并更新文档
Browse files Browse the repository at this point in the history
  • Loading branch information
Dnzzk2 committed Dec 11, 2024
1 parent 4969cf0 commit bc3a2a4
Show file tree
Hide file tree
Showing 3 changed files with 221 additions and 56 deletions.
115 changes: 62 additions & 53 deletions README-zh.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
# ai-markdown-translator

[![NPM 版本](https://img.shields.io/npm/v/ai-markdown-translator.svg?style=flat)](https://www.npmjs.org/package/ai-markdown-translator)
[![NPM version](https://img.shields.io/npm/v/ai-markdown-translator.svg?style=flat)](https://www.npmjs.org/package/ai-markdown-translator)
[![CI](https://github.com/h7ml/ai-markdown-translator/actions/workflows/ci.yml/badge.svg)](https://github.com/h7ml/ai-markdown-translator/actions/workflows/ci.yml)
![NPM 下载量](https://img.shields.io/npm/dw/ai-markdown-translator)
![GitHub 许可证](https://img.shields.io/github/license/h7ml/ai-markdown-translator)
![NPM Downloads](https://img.shields.io/npm/dw/ai-markdown-translator)
![GitHub License](https://img.shields.io/github/license/h7ml/ai-markdown-translator)

ai-markdown-translator 是一个命令行工具,使用 OpenAI 的语言模型将 Markdown 文件从一种语言翻译成另一种语言。它在翻译内容的同时保留了 Markdown 语法
ai-markdown-translator是一个命令行工具,使用OpenAI的语言模型将Markdown文件从一种语言翻译成另一种语言。在翻译内容的同时,它会保留Markdown语法

## 特性

- 将 Markdown 文件翻译成 OpenAI 模型支持的任意语言
- 在翻译过程中保留 Markdown 语法
- 通过命令行参数或环境变量进行灵活配置
- 将Markdown文件翻译为OpenAI模型支持的任何语言
- 在翻译过程中保留Markdown语法
- 通过命令行参数或环境变量灵活配置
- 跨平台支持(Windows,macOS,Linux)

## 预备条件
## 先决条件

- Node.js(v14 或更高版本
- npm(通常与 Node.js 一起提供
- 一个 OpenAI API 密钥
- Node.js(v14或更高版本
- npm(通常与Node.js一起提供
- OpenAI API密钥

## 安装

1. 克隆此仓库或下载源代码
1. 克隆此库或下载源代码
2. 在终端中导航到项目目录。
3. 安装依赖项:

Expand All @@ -36,119 +36,128 @@ npm install
npm run build
```

5. (可选) 将 CLI 打包成一个独立的可执行文件
5. (可选)将CLI打包为独立可执行文件

```bash
npm run package
```

`bin` 目录中为 Windows、macOS 和 Linux 创建可执行文件
这将在`bin`目录中为Windows、macOS和Linux创建可执行文件

## 脚本

- **build**将 TypeScript 文件编译为 JavaScript
- **start**使用 Node.js 运行 CLI 工具
- **package**为 CLI 创建独立的可执行文件
- **lint**运行 ESLint 检查代码质量问题
- **lint:fix**自动修复 linting 问题
- **format**使用 Prettier 格式化代码
- **format:check**检查代码格式,不作更改
- **build**将TypeScript文件编译为JavaScript
- **start**使用Node.js运行CLI工具
- **package**为CLI创建独立的可执行文件
- **lint**运行ESLint检查代码质量问题
- **lint:fix**自动修复代码问题
- **format**使用Prettier格式化代码
- **format:check**检查代码格式而不做更改

## 用法

可以使用 Node.js`npx`,或作为一个独立的可执行程序运行 CLI 工具(如果你已经打包了它)
您可以使用Node.js`npx`或作为独立可执行文件(如果您已经打包)来运行CLI工具

### 使用 Node.js
### 使用Node.js

```bash
node dist/index.js --input <输入文件> --output <输出文件> --language <目标语言> [选项]
node dist/index.js --input <input-file> --output <output-file> --language <target-language> [options]
```

### 使用 npx
### 使用npx

```bash
npx ai-markdown-translator -i <输入文件> -o <输出文件> -l <目标语言> [选项]
npx ai-markdown-translator -i <input-file> -o <output-file> -l <target-language> [options]
```

### 使用独立的可执行程序
### 使用独立可执行文件

```bash
./ai-markdown-translator --input <输入文件> --output <输出文件> --language <目标语言> [选项]
./ai-markdown-translator --input <input-file> --output <output-file> --language <target-language> [options]
```

### 选项

- `--input`, `-i`:输入 Markdown 文件(必需)
- `--output`, `-o`:输出 Markdown 文件(必需)
- `--language`, `-l`:目标翻译语言(必需)
- `--openai-url`:OpenAI API URL(默认:使用环境变量 OPENAI_URL)
- `--api-key`:OpenAI API 密钥(默认:使用环境变量 API_KEY)
- `--model`:使用的 OpenAI 模型(默认:使用环境变量 MODEL 或 'gpt-3.5-turbo')
- `--input`, `-i`:输入Markdown文件(替代--url)
- `--url`, `-u`:要翻译的Markdown文件的URL(替代--input)
- `--output`, `-o`:输出Markdown文件(必填)
- `--language`, `-l`:翻译的目标语言(必填)
- `--openai-url`:OpenAI API URL(默认:使用OPENAI_URL环境变量)
- `--api-key`:OpenAI API密钥(默认:使用API_KEY环境变量)
- `--model`:使用的OpenAI模型(默认:使用MODEL环境变量或'gpt-3.5-turbo')
- `--help`, `-h`:显示帮助

注意:`--input``--url`是互斥的——您必须提供其中一个。

## 环境变量

可以设置以下环境变量,而无需将它们作为命令行参数传递
您可以设置以下环境变量,而不是作为命令行参数传递它们

- `OPENAI_URL`:OpenAI API 的 URL
- `API_KEY`你的 OpenAI API 密钥
- `MODEL`要使用的 OpenAI 模型(例如,'gpt-3.5-turbo')
- `OPENAI_URL`:OpenAI API的URL
- `API_KEY`您的OpenAI API密钥
- `MODEL`使用的OpenAI模型(例如,'gpt-3.5-turbo')

你可以在项目根目录的 `.env` 文件中设置这些参数,或在你的 shell 中导出它们
您可以在项目根目录中的`.env`文件中设置这些变量,或在您的Shell中导出它们

## 示例

1. 将 Markdown 文件从英语翻译成西班牙语
1. 将Markdown文件从英语翻译成西班牙语

```bash
./ai-markdown-translator --input english.md --output spanish.md --language "Spanish"
```

2. 使用指定的 OpenAI 模型进行翻译
2. 使用特定的OpenAI模型翻译

```bash
./ai-markdown-translator --input input.md --output output.md --language "French" --model "gpt-4"
```

3. 使用自定义的 OpenAI URL 和 API 密钥进行翻译
3. 使用自定义OpenAI URL和API密钥翻译

```bash
./ai-markdown-translator --input input.md --output output.md --language "German" --openai-url "https://api.302.ai/v1/chat/completions" --api-key "sk-302-api-key"
```

4. 使用 `npx` 翻译 Markdown 文件
4. 使用`npx`翻译Markdown文件

```bash
npx ai-markdown-translator -i input.md -o output.md -l "Italian"
```

## 许可证
5. 翻译URL的Markdown内容:

```bash
./ai-markdown-translator -u https://gitee.com/h7ml/ai-markdown-translator/raw/main/README.md -o output.md -l "Italian"
```

## 许可

[MIT 许可证](LICENSE)
[MIT License](LICENSE)

## Git 信息
## Git信息

- **仓库**[h7ml/ai-markdown-translator](https://github.com/h7ml/ai-markdown-translator)
- **问题**[报告问题](https://github.com/h7ml/ai-markdown-translator/issues)

## 版本信息

- **当前版本**:1.0.4
- **NPM 包**[ai-markdown-translator](https://www.npmjs.com/package/ai-markdown-translator)
- **NPM包**[ai-markdown-translator](https://www.npmjs.com/package/ai-markdown-translator)

## CI 信息
## CI信息

此项目使用 GitHub Actions 进行持续集成。CI 工作流包括
此项目使用GitHub Actions进行持续集成。CI工作流包括

- 使用 ESLint 检查代码
- 使用ESLint对代码进行Lint检查
- 运行测试(如果适用)
- 构建项目
- 缓存依赖项以加快构建速度
- 缓存依赖项以加速构建

## 贡献

欢迎贡献!请随时提交拉取请求
欢迎贡献!请随时提交Pull Request

## 支持

如果遇到任何问题或有任何问题,请在此库开一个问题
如果您遇到任何问题或有任何疑问,请在此仓库中提出问题
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,14 +78,17 @@ npx ai-markdown-translator -i <input-file> -o <output-file> -l <target-language>

### Options

- `--input`, `-i`: Input Markdown file (required)
- `--input`, `-i`: Input Markdown file (alternative to --url)
- `--url`, `-u`: URL of a Markdown file to translate (alternative to --input)
- `--output`, `-o`: Output Markdown file (required)
- `--language`, `-l`: Target language for translation (required)
- `--openai-url`: OpenAI API URL (default: uses OPENAI_URL environment variable)
- `--api-key`: OpenAI API Key (default: uses API_KEY environment variable)
- `--model`: OpenAI Model to use (default: uses MODEL environment variable or 'gpt-3.5-turbo')
- `--help`, `-h`: Show help

Note: `--input` and `--url` are mutually exclusive - you must provide one or the other.

## Environment Variables

You can set the following environment variables instead of passing them as command-line arguments:
Expand Down Expand Up @@ -122,6 +125,12 @@ You can set these in a `.env` file in the project root or export them in your sh
npx ai-markdown-translator -i input.md -o output.md -l "Italian"
```

5. Translate the Markdown content of the URL:

```bash
./ai-markdown-translator -u https://gitee.com/h7ml/ai-markdown-translator/raw/main/README.md -o output.md -l "Italian"
```

## License

[MIT License](LICENSE)
Expand Down
Loading

0 comments on commit bc3a2a4

Please sign in to comment.