App-Greple-xlate

 view release on metacpan or  search on metacpan

README.gpt5-ZH.md  view on Meta::CPAN

            translated Japanese text
            #endif

        你可以通过 **unifdef** 命令仅提取日文文本:

            unifdef -UORIGINAL -DJA foo.ja.pm

    - **space**
    - **space+**

        原文和转换后的文本以一个空行分隔打印。对于`space+`,还会在转换后的文本后输出一个换行符。

    - **xtxt**

        如果格式是`xtxt`(译文)或未知,则只打印译文。

- **--xlate-maxlen**=_chars_ (Default: 0)

    指定一次发送到 API 的文本最大长度。默认值 0 表示引擎自身的限制:对于 DeepL 免费账户服务,API 为 128K(**--xlate**),剪贴板接口为 5000(**--xlate-labor**)。如果使用 Pro 服务,您可以更æ...

- **--xlate-maxline**=_n_ (Default: 0)

    指定一次发送到 API 的文本最大行数。

    如果希望逐行翻译,将此值设为 1。此选项优先于`--xlate-maxlen`选项。

- **--xlate-prompt**=_text_

    指定要发送给翻译引擎的自定义提示。此选项适用于 LLM 引擎(`gpt3`、`gpt4o`、`gpt5`),但不适用于 DeepL。你可以通过向 AI 模型提供特定指令来自定义翻译行为。如果提示包含 `%s`,它将被...

- **--xlate-context**=_text_

    指定要发送给翻译引擎的附加上下文信息。此选项可多次使用以提供多个上下文字符串。上下文信息有助于翻译引擎理解背景并生成更准确的译文。

- **--xlate-context-window**=_n_

    (Context-aware engines only, e.g. `gpt5` on the llm backend)
    重新翻译已更改的块时,作为参考上下文传递的周边已翻译块数量(默认 2)。上下文还包括更改区域周围的原始源文本(标题、列表结构、图注),以及在可用时从缓存中恢复的更改文æ...

- **--xlate-cache-seed**=_file_

    从另一个文档的缓存文件初始化新文档的缓存。适用于周期性报告:用上一期的缓存为新一期的缓存做种子,这样未更改的段落就不会被重新翻译,已编辑的段落也会保留上一期的措辞。...

- **--xlate-anonymize**=_file_

    在敏感字符串发送到翻译 API 之前将其匿名化,并在输出中恢复。字典文件为每个项目提供一个条目:采用 JSON(规范的、可由机器生成)

        [ { "category": "person",  "text": "山田太郎" },
          { "category": "company", "regex": "アクメ(株式会社)?" } ]

    或采用简单行格式(`category pattern`,`/.../` 用于正则表达式)。每个项目都会被替换为一个类别标签,例如 `<person id=1 />`;相同字符串始终获得相同标签,因此模型可以跟踪谁是谁。未知ç...

    字典可以由外部工具生成——例如由本地模型提取敏感实体:

        llm -m <local-model> \
            -s 'Extract sensitive entities as a JSON array of objects
                with "category" and "text" fields.' \
            < report.md > report.anon.json
        greple -Mxlate --xlate-anonymize=report.anon.json ...

    文件中的 UTF-8 BOM 可以被容忍。front matter 行格式中的值只有在其单独成行时才可以带有尾随注释,不能在值后面添加。

- **--xlate-anonymize-mark**\[=_regex_\]

    从文档本身的内联标记收集匿名化条目。像 `{{ person("山田太郎") }}` 这样标记首次出现处,整个文档范围内该字符串的每次出现都会被匿名化。标记本身会保留在源文本和译文中,因此文æ...

    请注意,对于这种带可选值的选项,后续的文件参数会被当作该值:使用默认记法时,请写成 `--xlate-anonymize-mark=`(带有尾随的 `=`)。

    可以配置替代记法,例如用于 `@@person:NAME@@` 风格标记的 `--xlate-anonymize-mark='@@(?<category>[a-z][a-z0-9_]*):(?<text>[^\n]+?)@@'`,或在渲染后的 Markdown 中保持不可见的 HTML 注释形式。标记规则按文档æ”...

- **--xlate-template**\[=_regex_\]

    将模板表达式(默认:Jinja2 `{{ ... }}`、`{% ... %}`、`{# ... #}`)视为不透明占位符:指示模型原样复制它们,并按块验证响应中包含完全相同的表达式,且每个表达式出现次数相同。它们的é¡...

    请注意,对于像这样的可选值选项,后面的文件参数会被当作该值:使用默认记法时请写成 `--xlate-template=`(带有尾随的 `=`)。

- **--xlate-frontmatter**

    将开头的 `---` ... `---` 块视为 YAML front matter:将其排除在翻译以及第 2 阶段上下文切片之外,并将其扁平的 `key: value` 值添加到匿名化规则(类别 `var`)中作为安全网。对于多个输入文件ï¼...

    始终在结束的 `---` 之后留一个空行。使用段落样式的匹配模式时,直接衔接到正文文本的 front matter 会形成一个横跨二者的块,排除机制无法抑制它(在这种情况下会打印警告);这些值...

- **--xlate-glossary**=_glossary_

    指定用于翻译的术语库(glossary)ID。此选项仅在使用 DeepL 引擎时可用。术语库 ID 应从您的 DeepL 账户获取,以确保特定术语的一致翻译。

- **--xlate-dryrun**

    不要调用翻译 API;而是通过进度显示,逐一展示每个 payload 的确切内容,就像它会被传输时一样(经过匿名化和 masking 之后)。这对于检查哪些内容离开本机以及估算一次运行的成本很æœ...

- **--**\[**no-**\]**xlate-progress** (Default: True)

    在 STDERR 输出中实时查看翻译结果。`From` payload 会按传输时的形式显示,即经过匿名化和 masking 之后。

- **--xlate-stripe**

    使用[App::Greple::stripe](https://metacpan.org/pod/App%3A%3AGreple%3A%3Astripe)模块以斑马条纹方式显示匹配部分。当匹配部分首尾相接时很有用。

    颜色调色板会根据终端的背景颜色切换。若要显式指定,可使用**--xlate-stripe-light**或**--xlate-stripe-dark**。

- **--xlate-mask**

    执行遮罩功能,并按转换后文本原样显示而不进行还原。

- **--match-all**

    将整个文件的文本设为目标区域。

- **--lineify-cm**
- **--lineify-colon**

    在`cm`和`colon`格式的情况下,输出会按行拆分并格式化。因此,如果仅需要翻译某行的一部分,将无法获得预期结果。这些过滤器会将因部分行翻译而破坏的输出修复为正常的逐行输出。

    在当前实现中,如果一行中的多个部分被翻译,它们会作为独立的行输出。

# CACHE OPTIONS

**xlate**模块可为每个文件存储翻译的缓存文本,并在执行前读取,以消除向服务器请求的开销。使用默认的缓存策略`auto`时,仅当目标文件存在缓存文件时才维护缓存数据。

使用**--xlate-cache=clear**启动缓存管理或清理所有现有缓存数据。使用此选项执行后,如果不存在缓存文件将创建新的缓存文件,并在此后自动维护。



( run in 1.971 second using v1.01-cache-2.11-cpan-b9db842bd85 )