App-Greple-xlate

 view release on metacpan or  search on metacpan

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

        可以通过下一条 [sed(1)](http://man.he.net/man1/sed) 命令恢复原始文件。

            sed -e '/^<<<<<<< /d' -e '/^=======$/,/^>>>>>>> /d'

    - **colon**, _:::::::_

        原文与译文以 Markdown 的自定义容器样式输出。

            ::::::: ORIGINAL
            original text
            :::::::
            ::::::: JA
            translated Japanese text
            :::::::

        上述文本在 HTML 中会被转换为如下形式。

            <div class="ORIGINAL">
            original text
            </div>
            <div class="JA">
            translated Japanese text
            </div>

        冒号数量默认是 7。如果指定了类似 `:::::` 的冒号序列,则使用该序列替代 7 个冒号。

    - **ifdef**

        原文与转换后的文本以 [cpp(1)](http://man.he.net/man1/cpp) `#ifdef` 格式输出。

            #ifdef ORIGINAL
            original text
            #endif
            #ifdef JA
            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**



( run in 0.498 second using v1.01-cache-2.11-cpan-ff9377addf4 )