|
文档
预约演示平台
平台MCPCLI
API工作流
指南更新日志

概览

  • @lingo.dev/cli

快速开始

  • 快速上手
  • 配置

参考

  • lingo push
  • lingo pull
  • 其他命令
  • lingo purge

配置

  • 键级控制
  • 格式
  • Locale

指南

  • 添加语言
  • 现有翻译
  • 重新翻译
  • 翻译备注
  • 运行、状态与恢复
  • CI/CD
  • Monorepo
  • 大型项目

在找旧版 CLI(v0)? 查看旧版 CLI 文档

格式

CLI 支持翻译六种文件格式。格式会根据文件扩展名自动推断;如需覆盖,可在 files[] 条目中设置 format。

格式扩展名format 值说明
JSON.jsonjson键值对。支持 键控制。
JSONC.jsoncjsonc带注释的 JSON。注释会被保留,也可作为 translator notes 使用。
Markdown.mdmd默认翻译正文;frontmatter 需手动启用。
MDX.mdxmdxMarkdown + JSX。组件 props 需手动启用。
Markdoc.mdocmarkdocMarkdown + 标签。支持 frontmatter 和标签属性。
OpenAPI YAML.yamlyaml-openapiOpenAPI 规范。请始终显式设置 format。

看完整流程

demo project 为每种格式都提供了一个示例文件,并附上对应所需的完整配置。使用 npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo 克隆项目后,运行一次 push 即可。

bash
npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo
cd my-lingo-demo

JSON 和 JSONC#

标准的键值对翻译。除非 键控制 另有指定,否则每个字符串值都会被翻译。

json
{ "pattern": "content/en/app.json", "lockedKeys": ["meta.version"] }

JSONC 还会保留注释,引擎会将其读取为上下文信息——详见 translator notes。

json
{ "pattern": "content/en/settings.jsonc", "preservedKeys": ["featureFlags"] }

Markdown、MDX 和 Markdoc#

默认会翻译正文内容。frontmatter 和嵌入的组件不会被翻译,除非你手动启用。

Frontmatter#

使用 translateFrontmatterFields 列出需要翻译的 frontmatter 字段:

json
{
  "pattern": "content/en/guide.md",
  "translateFrontmatterFields": ["title", "description"]
}

MDX 组件 props#

在 MDX 中,可使用 translateComponentProps 为指定组件的指定 props 开启翻译:

json
{
  "pattern": "content/en/landing.mdx",
  "translateFrontmatterFields": ["title"],
  "translateComponentProps": [{ "component": ["Hero", "Callout"], "props": ["title", "body"] }]
}

这会翻译 <Hero> 和 <Callout> 上的 title 与 body props,其他所有 props 均保持不变。

Markdoc#

Markdoc 的工作方式与 Markdown 类似,同时保留 frontmatter 和标签属性:

json
{
  "pattern": "content/en/changelog.mdoc",
  "translateFrontmatterFields": ["title"]
}

OpenAPI YAML#

通用 YAML 存在歧义,因此 OpenAPI 规范需要显式设置 format:

json
{ "pattern": "content/en/api.yaml", "format": "yaml-openapi" }

引擎会翻译面向用户的字段(如摘要和描述),同时保留 schema 键、路径和 operation ID 不变。

输出路径#

目标文件会通过替换源路径模式中的 locale 段写入——content/en/app.json → content/de/app.json。请在路径中保留源 locale,这样 CLI 才知道目标文件应写到哪里。详见 Configuration。

正在从旧版 CLI 迁移?#

旧版 CLI 支持约 25 种格式(包括 CSV、PO、XLIFF、Android/Xcode strings、Flutter ARB、HTML 等)。当前 CLI 正在根据实际使用情况逐步补齐这些格式;在你的格式上线之前,可先参考 legacy CLI docs。

这个页面对你有帮助吗?

Max PrilutskiyMax Prilutskiy·已更新 4 天前·1 分钟阅读