Lingo.dev + .csv(数据)
Lingo.dev CLI 翻译具有特定结构的 CSV 文件。它通过为每个目标语言区域添加翻译列来更新提供的 CSV 文件。CLI 保留了精确的 CSV 格式和分隔符,安全处理 UTF-8 和各种字符编码,并与 Excel、Google Sheets 和数据库导入无缝兼容。
CSV 翻译工作原理
CSV 文件必须具有以下结构:
- 第一列命名为
KEY
- 一个源语言区域列(例如,
en
)
CLI 会扩展提供的 CSV 文件,添加每个目标语言区域的列(例如,es
,fr
)。每个目标语言区域的翻译内容会被填充,同时保留原始内容。
示例:源文件和输出文件
输入文件(英文源):
KEY,en
dashboard.title,Dashboard
greeting.message,Hello world!
button.label,Submit
输出文件(翻译为西班牙语和法语后):
KEY,en,es,fr
dashboard.title,Dashboard,Panel de control,Tableau de bord
greeting.message,Hello world!,¡Hola mundo!,Bonjour le monde!
button.label,Submit,Enviar,Soumettre
KEY
列被保留。- 源语言区域列(
en
)保持不变。 - 为每个目标语言区域(
es
,fr
)添加新列,并填充翻译内容。
快速设置
要配置 CSV 翻译,请在 i18n.json
中为您的 CSV 文件添加一个 bucket:
{
"locale": {
"source": "en",
"targets": ["es", "fr"]
},
"buckets": {
"csv": {
"include": ["i18n/data.csv"]
}
}
}
翻译 CSV 数据
npx lingo.dev@latest i18n
CLI 在翻译目标列中的文本内容时,保留了 CSV 的结构、标题和数据类型。
高级功能
自定义分隔符支持
支持各种 CSV 方言:
- 逗号分隔:
value1,value2,value3
- 分号分隔:
value1;value2;value3
- 制表符分隔:
value1\tvalue2\tvalue3
高级配置
多个 CSV 文件
"csv": {
"include": [
"i18n/data.csv",
"content/static/*.csv"
]
}