# gt: General Translation CLI tool: YAML URL: https://generaltranslation.com/zh/docs/cli/reference/formats/yaml-files.mdx --- title: YAML description: 使用 General Translation CLI 翻译 YAML 文件。YAML 文件格式的 API 参考。 --- 无论你使用哪种 i18n 库,CLI 都可以翻译 YAML 文件。支持 `.yaml` 和 `.yml` 扩展名,且翻译会保留原始字符串语法。 *注意:支持自定义字符串语法和格式——例如 ICU 消息——适用于 `next-intl` 和 `i18next`。对于包含自定义语法的字符串,其他库的翻译准确性可能会较低。* ## 配置 [#config] 在 `files` 下添加一个 `yaml` 条目,并在 `include` 数组中填写 glob 模式。使用 `[locale]` 占位符,以便 CLI 能找到源文件,并将翻译保存到正确的路径。 ```json title="gt.config.json" { "defaultLocale": "en", "locales": ["zh", "es", "ja"], "files": { "yaml": { "include": ["i18n/[locale]/*.yaml"] } } } ``` 有关所有文件键,请参阅[配置参考](/docs/cli/reference/config#files)。 ## 键控元数据 [#metadata] 使用与源结构对应的配套 `.metadata.yaml` 文件,为每个键添加翻译说明。 ```yaml title="translations.metadata.yaml" nav: bank: context: "Riverbank — the side of a river. NOT a financial institution." save: context: "Sports term — a goalkeeper preventing a goal. NOT saving data." maxChars: 12 ``` 有关所有受支持的字段,请参阅[键控元数据参考](/docs/cli/reference/keyed-metadata)。