关于 YAML 模式和加载顺序,请参见配置。
所需输入
| 名称 | 描述 |
|---|---|
sourceLocale | 用于查找资源文件(如**/*.en.resx)的源位置(例如 en)。也转发到翻译器,作为from=<locale>。 |
subscriptionKey | Azure AI Translator 订阅密钥。通过secrets。 |
endpoint | 翻译端点URL,例如https://api.cognitive.microsofttranslator.com/。 |
常见的可选输入
| 名称 | 默认 | 描述 |
|---|---|---|
region | 没有 | 翻译资源区域(全局资源省略)。 |
toLocales | 全部支持 | 需要翻译的地点。接受 JSON 数组(["fr","de"])或逗号分隔值。 |
include | 没有 | 新行分离球状图案;仅翻译匹配的文件。 |
exclude | 没有 | 新行分离球状图案;跳过匹配文件(在include后应用)。 |
configPath | .github/resource-translator.yml | 相对于工作区根节点,路径指向 YAML 配置文件。 |
dryRun | false | 在true时,运行翻译并发送摘要,但不要写文件。 |
failOnError | true | 当true时,意外错误会失败;false时,错误就是警告。 |
译者请求输入
这些参数直接映射到 Azure AI Translator v3 的查询参数。所有选择都是可选的;未设置时,翻译器默认值生效。
| 名称 | 默认 | 描述 |
|---|---|---|
categoryId | general | Azure Custom Translator category — the industry/domain/tone knob.转发为?category=...。 |
textType | plain | plain或html。只有当资源值是真实的HTML片段时才使用html。 |
profanityAction | NoAction | NoAction、Marked或Deleted。控制翻译中脏话的出现。 |
profanityMarker | Asterisk | Asterisk或Tag。只有当profanityAction是Marked时才有意义的。 |
allowFallback | true(译者默认) | 当false时,如果你的categoryId没有针对目标区域的部署,翻译器会返回错误,而不是退回通用系统。 |
apiVersion | 3.0 | 翻译器REST API版本。 |
弹性与占位保护
这些输入控制了当翻译器限速你的请求时动作的表现,以及它如何保护像{{name}}或{0}这样的占位标记在翻译过程中不被破坏。
| 名称 | 默认 | 描述 |
|---|---|---|
maxRetries | 5 | 瞬态HTTP响应的最大重试次数(408, 425, 429, 500, 502, 503, 504)。每个请求的HTTP调用总数为1 + maxRetries。 |
retryBackoffMs | 30000 | 对任何一次退后睡眠进行毫秒级限制。该动作在Azure的Retry-After响应头存在时精确执行;否则则使用抖动指数退避,限制在此值。 |
protectPlaceholders | true | 当true(默认)时,{{name}}、${var}、{0}、{0:N2}、%s、%1$s和HTML实体等占位符在翻译前被替换为哨兵标记,翻译后恢复。只有当你的来源故意包含需要翻译的字面占位文字时,才禁用。 |
customPlaceholderPatterns | 没有 | 将换行分隔的正则表达式(无分隔符)添加到默认占位符集中,例如用于自定义令牌语法的<<.+?>>。 |
noTranslatePatterns | 没有 | 换行分离的球状模式与解析器级别键匹配(JSON点线路径、RESX name、PO msgid、XLIFF单元id、INI/restext键)。匹配的密钥会从翻译器请求中丢弃,并保留其源值通过。 |
输出
| 名称 | 描述 |
|---|---|
summary-title | 简短且适合公关标题的摘要,例如Machine-translated 320 files, a total of 5,418 translations。 |
summary-details | 适合公关机构或职位摘要的Markdown摘要。 |
has-new-translations | 'true'生成一个或多个新译本。 |