Toollet
按任务或应用名称搜索搜索联系我们
价格

在表格中编辑翻译 JSON

添加各语言的 JSON 对象,在表格中比较相同键的翻译并手动编辑。创建翻译 CSV 并加载编辑后的 CSV。可从表格中复制所有语言和键,也可作为 CSV 复制;可将编辑结果保存为单种语言的 JSON 或多种语言的 ZIP。CSV 中的新键会在您确认添加后应用。显示筛选不会改变输出范围,数字、数组和其他值会保留。不会自动翻译。

每种语言对应的 JSON 对象

按语言列出 JSON 中的字符串,不会自动翻译。

可执行的操作

跨语言比较相同的键

按相同的键对齐各 JSON 中的字符串。可筛选缺失值或已编辑的行。

通过 CSV 交换翻译

创建翻译 CSV,然后加载编辑后的 CSV。值会根据键和对应的语言列进行匹配。

保留结构并创建 JSON

将字符串编辑应用到原始 JSON。可下载单种语言的 JSON,也可将多种语言的 JSON 文件打包为 ZIP。

使用方法

  1. 添加各语言的 JSON

    选择 JSON 文件,或从文件夹添加。检查语言名称以及用作比较参考的语言。

  2. 编辑相同键的翻译

    使用搜索或状态筛选,并在对应语言中输入文本。检查占位符不匹配和缺失值。

  3. 按需通过 CSV 交换

    使用“通过 CSV 交换”创建翻译 CSV。加载编辑后的 CSV 会应用其中包含的语言和值。

  4. 为每种语言创建并保存 JSON

    “按语言创建 JSON”会将编辑应用到所有键。如果 CSV 引入了新键,请确认是否包含这些新增项。

适用场景

补充多种语言中的缺漏

跨语言比较相同的键,并为缺失的语言填写翻译。

在表格中交换翻译

通过 CSV 交换翻译并应用到原始 JSON,而无需直接编辑 JSON 结构。

键、值和 CSV 的处理方式

键标识 JSON 中的位置

表格中的键是 JSON Pointers。/ 用于分隔层级,键本身中的 / 表示为 ~1,而 ~ 表示为 ~0。包含点号的键和嵌套键会保持区分。

区分缺失值和空字符串

当字符串键在某种语言的 JSON 中不存在时,该值被视为缺失。已有的空字符串不算缺失。数字、布尔值和数组会保留,且不能在表格中编辑。

参考语言和占位符

将 {name} 和 {{name}} 中的名称与参考语言进行比较。可检查不匹配项,但 ICU 复数和 select 等格式会标记为不支持。此功能不会自动生成或修正翻译。

显示筛选与输出范围

搜索、状态筛选和翻页只会更改显示。JSON 和 CSV 会使用所有已加载语言和所有键的编辑内容创建。

CSV 中的新键

如果 CSV 包含任何已加载 JSON 中都不存在的键,创建 JSON 前会提示您确认是否添加。这与为其他语言中已存在的键补充缺失值不同。

常见问题

会自动翻译吗?

不会自动翻译。此工具可用于比较不同语言的值并手动编辑。

数字、数组和其他值会怎样处理?

只有对象中的字符串会提取到表格中。数字、布尔值、数组和 null 会保留,数组中的字符串也无法编辑。

在 CSV 中应编辑哪些列?

键列包含 JSON Pointers,以语言命名的列包含翻译。请使用与已加载语言相符的列名。注释列会被跳过,重新导出时也会留空。

如何处理 CSV 中的空白单元格?

如果该语言中已存在此键,其值会被改为空字符串。不存在的键对应的空白单元格不会添加该键;CSV 中未包含的语言,其已编辑值会保留。

仍有占位符警告时可以创建文件吗?

可以。警告有助于检查翻译,但不保证翻译正确。使用结果前,请检查占位符不匹配和不支持的格式。

只会保存筛选后的行吗?

不会。无论搜索、筛选或当前显示的页面如何,都会导出所有键的编辑内容。

如果编辑与原始 JSON 结构冲突怎么办?

无法应用将数字或数组替换为字符串的编辑,也无法在字符串下方创建新层级。请检查输入文件或 CSV 中被更改或添加的键。

输入和结果

输入
每种语言各输入 JSON 对象。加载 JSON 文件后,可使用 CSV 交换翻译。
编辑
对象中的字符串会按键匹配。不会覆盖原始输入文件。
JSON 输出
单种语言:language-name.json。多种语言:将各语言的 JSON 文件打包为 translations.zip。
CSV 输出
translations.csv。生成带 BOM 的 UTF-8 CSV,包含键、语言名称和注释列。

当前设置

搜索工具