Lingo.dev + .yaml(数据)
Lingo.dev CLI 翻译 YAML 文件时会保留结构、数据类型和格式,用于配置和内容管理。CLI 精确维护 YAML 的层级和缩进,仅处理字符串值,同时保留数字和布尔值,保持开发者文档注释完整,确保 YAML 锚点和别名正常工作,并严格遵循 YAML 1.2 规范。
快速设置
为基于语言环境命名的 YAML 文件进行配置:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"yaml": {
"include": ["config/[locale].yaml"]
}
}
}
提醒:[locale]
是一个占位符,在 CLI 运行时会被实际的语言环境替换,因此应在配置中保持原样。
翻译 YAML 内容
npx lingo.dev@latest i18n
在翻译字符串值的同时,保留 YAML 的结构、数据类型、注释和格式。
结构保留
嵌套配置
app:
name: "My Application"
description: "A powerful tool for productivity"
features:
- "Real-time collaboration"
- "Advanced search"
- "Custom themes"
database:
host: "localhost"
port: 5432
字符串值会被翻译,而技术配置保持不变。
混合数据类型
user_interface:
welcome_message: "Welcome to our platform!"
max_items: 100
enable_notifications: true
created_at: 2024-01-15T10:30:00Z
仅可翻译的字符串会被处理;数字、布尔值和日期保持不变。
高级功能
注释保留
# 应用程序配置
app:
# 面向用户的字符串
title: "Dashboard"
tagline: "Manage your projects efficiently"
# 技术设置(不翻译)
version: "1.2.0"
注释会完全按照源文件中的内容保留。
锚点和引用支持
defaults: &defaults
timeout: 30
retries: 3
production:
<<: *defaults
message: "Production environment ready"
在翻译过程中,YAML 锚点和引用会被保留。
高级配置
多个 YAML 文件
"yaml": {
"include": [
"config/[locale].yaml",
"content/[locale]/*.yml"
]
}
锁定技术键
"yaml": {
"include": ["config/[locale].yaml"],
"lockedKeys": ["database", "api/endpoint", "version"]
}