MANZH(1)

名称
manzh - Man手册中文翻译工具

概述
manzh [-h] [-d, --debug] [-v, --version] 命令 [命令参数]

描述
manzh 是一个用于将Linux/Unix man手册翻译成中文的自动化工具，支持多种翻译服务。该工具可以自动获取命令的man手册或--help输出，通过调用翻译API将内容翻译成中文，并将结果保存为本地man页面。

主要功能：

•   自动获取和翻译命令的man手册

•   支持翻译命令的--help输出（当没有man手册时）

•   支持多个翻译服务（OpenAI、DeepSeek、Ollama等）

•   支持自定义上下文长度和输出长度

•   智能适配不同翻译服务的参数

•   支持多章节手册的批量翻译

•   保留原始格式和代码块

•   交互式配置界面

•   多线程并行翻译

•   支持断点续传

•   显示翻译进度

•   优化已翻译手册（移除无意义符号和行）

命令
manzh支持以下子命令：

translate <命令名称> [-s <章节>] [--service <服务名>] [-d/--debug]
    翻译指定命令的man手册或帮助信息。

config [init|show|add|update|delete|default]
    配置管理工具，用于管理翻译服务设置。

list [-s <章节>]
    列出已翻译的手册页面。

clean [命令名称] [-s <章节>] [-a]
    清理已翻译的手册页面。

optimize [-f <文件>] [-c <命令>] [-s <章节>] [-d <目录>] [-r] [--debug]
    优化已翻译的手册页面，移除无意义的符号和行。

选项

-h, --help
    显示帮助信息。

-d, --debug
    启用调试模式，显示详细的处理信息。

-v, --version
    显示版本信息。

TRANSLATE 命令

manzh translate <命令名称> [-s <章节>] [--service <服务名>] [-d/--debug]

参数：

<命令名称>
    要翻译的命令名称，如"ls"、"grep"等。

-s, --section <章节>
    指定要翻译的man手册章节（可选）。

--service <服务名>
    指定使用的翻译服务（可选）。

-d, --debug
    启用调试模式。

示例：

# 翻译ls命令的手册
manzh translate ls
# 翻译特定章节
manzh translate ls -s 1
# 使用指定翻译服务
manzh translate grep --service openai

CONFIG 命令

manzh config [init|show|add|update|delete|default]

子命令：

init
    初始化配置文件，创建默认配置。

show
    显示当前配置信息。

add 添加新的翻译服务。

update
    更新现有翻译服务的配置。

delete
    删除翻译服务。

default
    设置默认翻译服务。

示例：

# 初始化配置
manzh config init
# 显示当前配置
manzh config show
# 交互式配置管理
manzh config

LIST 命令

manzh list [-s <章节>]

参数：

-s, --section <章节>
    指定要列出的手册章节（可选）。

示例：

# 列出所有已翻译的手册
manzh list
# 列出特定章节的已翻译手册
manzh list -s 1

CLEAN 命令

manzh clean [命令名称] [-s <章节>] [-a]

参数：

<命令名称>
    要清理的命令名称（可选）。

-s, --section <章节>
    指定要清理的手册章节（可选）。

-a, --all
    清理所有已翻译的手册。

示例：

# 清理特定命令的手册
manzh clean ls
# 清理所有已翻译的手册
manzh clean -a
# 清理特定章节的手册
manzh clean -s 1

OPTIMIZE 命令

manzh optimize [-f <文件>] [-c <命令>] [-s <章节>] [-d <目录>] [-r] [--debug]

参数：

-f, --file <文件>
    指定要优化的单个手册文件路径。

-c, --command <命令>
    指定要优化的命令名称。

-s, --section <章节>
    指定手册章节号。

-d, --dir <目录>
    指定手册目录路径。

-r, --recursive
    递归处理子目录。

--debug
    启用详细调试输出。

示例：

# 优化特定命令的手册
manzh optimize -c conda -s 1
# 优化指定目录下的所有手册
manzh optimize -d /usr/local/share/man/zh_CN -r
# 优化单个手册文件
manzh optimize -f /usr/local/share/man/zh_CN/man1/conda.1

交互式界面
直接运行 manzh 不带任何参数将启动交互式菜单界面，用户可以通过数字选择执行不同的功能。

翻译结果
翻译后的手册将保存在：

/usr/local/share/man/zh_CN/man<章节号>/

查看翻译后的手册：

# 使用 -M 参数指定手册目录
man -M /usr/local/share/man/zh_CN <命令>
# 或设置 MANPATH 环境变量
export MANPATH=/usr/local/share/man/zh_CN:$MANPATH
man <命令>

配置文件
manzh使用以下配置文件：

~/.config/manzh/config.json
    主配置文件，包含翻译服务设置。

注意事项

•   需要具有root或sudo权限来将翻译结果保存到系统手册目录。

•   翻译质量取决于所选用的翻译服务及其API限制。

•   部分翻译服务可能需要付费API密钥。

•   在配置文件中请勿泄露敏感的API密钥信息。

高级用法

  批量翻译
创建脚本批量翻译常用命令：

#!/bin/bash
COMMANDS=(
  "ls" "cd" "grep" "find" "awk" "sed"
)
for cmd in "${COMMANDS[@]}"; do
  echo "正在翻译: $cmd"
  manzh translate "$cmd"
  echo "-------------------"
done

  集成到系统man命令
在~/.bashrc或~/.zshrc中添加以下函数：

# 优先使用中文手册，如果没有则使用英文手册
function man() {
  LANG=zh_CN command man -M /usr/local/share/man/zh_CN "$@" 2>/dev/null || command man "$@"
}

平台支持

  macOS
使用man -M选项查看翻译后的手册。需要安装groff支持：

brew install groff

  Linux
直接支持man -M和MANPATH设置。支持主流发行版（Ubuntu、Debian、CentOS等）。

相关文件

/usr/local/share/man/zh_CN/
    默认中文手册保存目录

~/.config/manzh/
    配置文件目录

作者
cynning (-)

版本
manzh 2.1.0

许可证
MIT