Skip to content

Commit

Permalink
docs(README): update README-zh.md
Browse files Browse the repository at this point in the history
  • Loading branch information
dextr7 committed Dec 20, 2024
1 parent d6e1c8d commit 795fdb9
Show file tree
Hide file tree
Showing 4 changed files with 379 additions and 51 deletions.
102 changes: 51 additions & 51 deletions README-zh.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
这里是经过修订和合并的 `ai-markdown-translator` 文档版本,同时包含了 `npx``./ai-markdown-translator` 示例:
以下是 `ai-markdown-translator` 文档的修订和整合版本,结合了 `npx``./ai-markdown-translator` 示例:

---

# ai-markdown-translator

<div>
<a href="https://www.npmjs.org/package/ai-markdown-translator"><img src="https://img.shields.io/npm/v/ai-markdown-translator.svg?style=flat" alt="NPM 版本"></a>
<a href="https://www.npmjs.org/package/ai-markdown-translator"><img src="https://img.shields.io/npm/v/ai-markdown-translator.svg?style=flat" alt="NPM version"></a>
<a href="https://github.com/h7ml/ai-markdown-translator/actions/workflows/ci.yml"><img src="https://github.com/h7ml/ai-markdown-translator/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
<a href="https://github.com/h7ml/ai-markdown-translator/actions/workflows/release.yml"><img src="https://github.com/h7ml/ai-markdown-translator/actions/workflows/release.yml/badge.svg" alt="发布"></a>
<a href="https://www.npmjs.org/package/ai-markdown-translator"><img src="https://img.shields.io/npm/dw/ai-markdown-translator" alt="NPM 下载量"></a>
<a href="https://www.npmjs.org/package/ai-markdown-translator"><img src="https://img.shields.io/npm/l/ai-markdown-translator" alt="NPM 许可证"></a>
<a href="https://github.com/h7ml/ai-markdown-translator/actions/workflows/release.yml"><img src="https://github.com/h7ml/ai-markdown-translator/actions/workflows/release.yml/badge.svg" alt="Release"></a>
<a href="https://www.npmjs.org/package/ai-markdown-translator"><img src="https://img.shields.io/npm/dw/ai-markdown-translator" alt="NPM Downloads"></a>
<a href="https://www.npmjs.org/package/ai-markdown-translator"><img src="https://img.shields.io/npm/l/ai-markdown-translator" alt="NPM License"></a>
<a href="https://github.com/h7ml/ai-markdown-translator/stargazers"><img src="https://img.shields.io/github/stars/h7ml/ai-markdown-translator.svg" alt="GitHub Stars"></a>
<a href="https://github.com/h7ml/ai-markdown-translator/issues"><img src="https://img.shields.io/github/issues/h7ml/ai-markdown-translator.svg" alt="GitHub Issues"></a>
<a href="https://github.com/h7ml/ai-markdown-translator/network/members"><img src="https://img.shields.io/github/forks/h7ml/ai-markdown-translator.svg" alt="GitHub Forks"></a>
<a href="https://github.com/h7ml/ai-markdown-translator/graphs/contributors"><img src="https://img.shields.io/github/contributors/h7ml/ai-markdown-translator.svg" alt="GitHub Contributors"></a>
</div>

[英文](README.md) | [中文](README-zh.md)
[English](README.md) | [中文](README-zh.md)

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

## 特性

- 将 Markdown 文件翻译为 OpenAI 模型支持的任何语言。
- 在翻译过程中保持 Markdown 语法。
- 将 Markdown 文件翻译成 OpenAI 模型支持的任何语言。
- 在翻译过程中保留 Markdown 语法。
- 通过命令行参数或环境变量灵活配置。

## 前提条件

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

## 安装

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

Expand All @@ -51,115 +51,115 @@ npm run build
## 脚本

- `build`: 将 TypeScript 文件编译为 JavaScript。
- `start`: 使用 Node.js 运行已编译的 JavaScript。
- `start`: 使用 Node.js 运行编译后的 JavaScript。
- `lint`: 运行 ESLint 检查 TypeScript 文件中的代码质量问题。
- `lint:fix`: 自动修复 TypeScript 文件中的 lint 问题。
- `format`: 使用 Prettier 格式化 `src` 目录中的各种文件类型代码
- `format`: 使用 Prettier 格式化 `src` 目录中的各种文件类型的代码
- `format:check`: 检查代码格式而不进行更改,适用于 `src` 目录中的各种文件类型。
- `postbuild`: 使编译后的 `index.js` 文件可执行。
- `changelog`: 生成基于常规提交的变更日志
- `version`: 当版本变更时更新变更日志并将其暂存以供提交
- `changelog`: 根据约定的提交生成变更日志
- `version`: 更新变更日志并在版本更新时为提交做准备
- `test`: 构建项目并运行测试。

## 用法
## 使用方法

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

### 使用 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

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

例如:

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

### 使用独立可执行文件

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

## 选项

- `--input`, `-i`: 输入的 Markdown 文件或目录(替代 `--url`)。此选项允许你指定要翻译的 Markdown 文件或目录的路径。
- `--url`, `-u`: 要翻译的 Markdown 文件的 URL(替代 `--input`)。使用此选项提供要翻译的 Markdown 文件的直接链接。
- `--input`, `-i`: 输入的 Markdown 文件或目录(替代 `--url`)。此选项允许您指定要翻译的 Markdown 文件或目录的路径。
- `--url`, `-u`: 要翻译的 Markdown 文件的 URL(替代 `--input`)。使用此选项提供您想要翻译的 Markdown 文件的直接链接。

- `--extension`, `-e`: 指定要翻译的文件扩展名(例如,`md`)。如果未提供,将处理所有文件。此选项允许你根据文件扩展名过滤要翻译的文件
- `--extension`, `-e`: 指定要翻译的文件扩展名(例如,`md`)。如果未提供,将处理所有文件。此选项允许您根据扩展过滤要翻译的文件

- `--rename`: 是否修改文件名。如果为真,输出文件将命名为 `<原始文件名>-translated.<扩展名>`此选项允许你指定是否希望在翻译后的文件名中附加后缀
- `--rename`: 是否修改文件名。如果为真,则输出文件将命名为 `<original-filename>-translated.<extension>`此选项允许您指定是否希望在翻译文件名中附加后缀

- `--output`, `-o`: 输出的 Markdown 文件(如果未提供,默认为输入文件名)。此选项允许你指定翻译内容保存输出文件的名称
- `--output`, `-o`: 输出的 Markdown 文件(如果未提供,默认为输入文件名)。此选项允许您指定翻译内容将保存到的输出文件的名称

- `--language`, `-l`: 翻译的目标语言(必填)。此选项指定你希望将 Markdown 内容翻译成的语言。
- `--language`, `-l`: 翻译的目标语言(必填)。此选项指定您希望将 Markdown 内容翻译成的语言。

- `--openai-url`: OpenAI API URL(默认:使用 `OPENAI_URL` 环境变量)。此选项允许你在需要时指定 OpenAI API 的自定义 URL。
- `--openai-url`: OpenAI API URL(默认:使用 `OPENAI_URL` 环境变量)。此选项允许您在需要时指定 OpenAI API 的自定义 URL。

- `--api-key`: OpenAI API 密钥(默认:使用 `API_KEY` 环境变量)。此选项用于提供你的 OpenAI API 密钥以进行身份验证。
- `--api-key`: OpenAI API 密钥(默认:使用 `API_KEY` 环境变量)。此选项用于提供您的 OpenAI API 密钥以进行身份验证。

- `--model`: 使用的 OpenAI 模型(默认:使用 `MODEL` 环境变量或 `gpt-3.5-turbo`)。此选项允许你指定要用于翻译的 OpenAI 模型。
- `--model`: 要使用的 OpenAI 模型(默认:使用 `MODEL` 环境变量或 `gpt-3.5-turbo`)。此选项允许您指定用于翻译的 OpenAI 模型。

- `--help`, `-h`: 显示帮助。此选项显示命令行工具的帮助信息。

- `--show-version`, `-v`: 显示版本。此选项显示工具的当前版本。

> 注意:`--input``--url` 是互斥的;你必须提供其中一个
> 注意:`--input``--url` 互斥;您必须提供其中一个
## 环境变量

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

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

你可以在项目根目录的 `.env` 文件中设置这些变量,或者在命令行中导出它们
您可以在项目根目录下的 `.env` 文件中设置这些变量,或在您的 shell 中导出它们

## 示例

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

```bash
npx ai-markdown-translator -i english.md -o spanish.md -l "西班牙语"
npx ai-markdown-translator -i english.md -o spanish.md -l "Spanish"
```

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

```bash
npx ai-markdown-translator -i input.md -o output.md -l "法语" --model "gpt-4"
npx ai-markdown-translator -i input.md -o output.md -l "French" --model "gpt-4"
```

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

```bash
npx ai-markdown-translator -i input.md -o output.md -l "德语" --openai-url "https://api.302.ai/v1/chat/completions" --api-key "sk-302-api-key"
npx ai-markdown-translator -i input.md -o output.md -l "German" --openai-url "https://api.302.ai/v1/chat/completions" --api-key "sk-302-api-key"
```

4. **翻译 URL 的 Markdown 内容:**

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

5. **翻译目录中的所有 Markdown 文件并重命名**
5. **翻译目录中的所有 Markdown 文件并重命名它们**

```bash
npx ai-markdown-translator -i ./markdown-files -l "中文" --rename
npx ai-markdown-translator -i ./markdown-files -l "Chinese" --rename
```

6. **翻译 Markdown 文件并指定输出文件名:**
6. **翻译一个 Markdown 文件并指定输出文件名:**

```bash
npx ai-markdown-translator -i example.md -o translated_example.md -l "日语"
npx ai-markdown-translator -i example.md -o translated_example.md -l "Japanese"
```

## 许可证
Expand All @@ -168,7 +168,7 @@ npx ai-markdown-translator -i example.md -o translated_example.md -l "日语"

## Git 信息

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

## 版本信息
Expand All @@ -178,10 +178,10 @@ npx ai-markdown-translator -i example.md -o translated_example.md -l "日语"

## CI 信息

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

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

Expand All @@ -191,8 +191,8 @@ npx ai-markdown-translator -i example.md -o translated_example.md -l "日语"

## 支持

如果你遇到任何问题或有任何疑问,请在此存储库中提出问题
如果您遇到任何问题或有任何疑问,请在此仓库中打开一个问题

---

此版本将 `npx` 和独立可执行文件`./ai-markdown-translator`)的用法示例合并为一个统一的部分。如需进一步调整,请告诉我!
此版本将 `npx` 和独立可执行文件 (`./ai-markdown-translator`) 的使用示例合并为一个统一的部分。如需进一步调整,请告诉我!
44 changes: 44 additions & 0 deletions translate/system-gpt-4o-en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Role: Translation Assistant

You are a translation assistant. Please translate the text provided by the user into the specified language while maintaining the format.

## Profile

- Language: Chinese
- Target Translation Language: English
- Translation Format: Maintain original format

## Goal

- Translate the text provided by the user into the specified language while maintaining the format.
- Ensure the translated text matches the format of the original text.
- Avoid translation errors and ensure accuracy.
- Preserve the original format, including code blocks, lists, tables, etc.
- If the original text contains code, translate the text and comments within the code into the specified language.

## Skills

- Proficient in translating multiple languages, including but not limited to Chinese, English, Japanese, and Korean.
- Familiar with the grammar and usage of multiple languages.
- Knowledgeable about translation formats and conventions across various languages.
- Skilled in translation techniques and methods.

## Constraints

- Do not translate variable names in code.
- Do not translate function names in code.
- Do not translate class names in code.
- Do not translate module names in code.
- Do not translate tags within code blocks.

## Workflow

- Follow the steps below for translation:
1. Read the text provided by the user.
2. Understand the meaning of the text.
3. Translate the text provided by the user into the specified language.
4. Maintain the original format, including code blocks, lists, tables, etc.

## Instructions

As a translation assistant, I am ready to translate the text provided by the user.
44 changes: 44 additions & 0 deletions translate/system-ministral-3b-ja.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Role: 翻译助手

あなたは翻訳助手です。ユーザーから提供されたテキストを指定された言語に翻訳してください。形式を変えないでください。

## Profile

- 言語: 中文
- 翻訳言語: 英文
- 翻訳形式: 形式を保持

## Goal

- ユーザーが提供されたテキストを指定された言語に翻訳してください。形式を変えないでください。
- 翻訳したテキストが元のテキストと形式が一致するようにしてください。
- 翻訳に誤りがないように、翻訳の正確性を確保してください。
- 元の形式を保持し、コードブロック、リスト、テーブルなどを含めるようにしてください。
- 元の文中にコードが含まれている場合、コード内の文字とコメントを翻訳してください。

## Skills

- 多言語の翻訳に専門知識を持っています(例: 中文、英語、日本語、韓語など)。
- 多言語の文法や用法を詳しく知っています。
- 多言語の翻訳形式や習慣について詳しく知っています。
- 多言語の翻訳技術や方法について詳しく知っています。

## Constraints

- コード内の変数名を翻訳しないでください。
- コード内の関数名を翻訳しないでください。
- コード内のクラス名を翻訳しないでください。
- コード内のモジュール名を翻訳しないでください。
- コードブロック内のタグを翻訳しないでください。

## Workflow

- 翻訳を行うための以下の手順に従ってください:
1. ユーザーから提供されたテキストを読みます。
2. ユーザーから提供されたテキストの意味を理解します。
3. ユーザーから提供されたテキストを指定された言語に翻訳します。
4. 元の形式を保持し、コードブロック、リスト、テーブルなどを含めるように翻訳します。

## Instructions

翻訳助手として、ユーザーからのテキストを翻訳しました。
Loading

0 comments on commit 795fdb9

Please sign in to comment.