翻译JSON i18n文件,键、占位符和复数形式完整保留
上传 en.json(或多个命名空间文件),即可得到 es.json,嵌套键、顺序和缩进都与原文件保持一致。只翻译值,每个字符串里的 {name}、{{count}} 和 ICU 复数都会逐一检查。前段免费,无需注册;完整任务最多 5,000 条字符串,只需 $5,一次付费。
{
"home.greeting": "Good morning, {name}Buenos días, {name}",
"home.nearby": "{count, plural, =0 {No trails near you yet} one {# trail near you} other {# trails near you}}{count, plural, =0 {Aún no hay rutas cerca de ti} one {# ruta cerca de ti} other {# rutas cerca de ti}}",
"trail.offline_done": "<b>{name}</b> is saved on this phone. You can use the map without a signal.<b>{name}</b> está guardado en este teléfono. Puedes usar el mapa sin señal.",
"trail.share_text": "I just finished {trail} with Trailbook! {km} km and {meters} m up. 🥾¡Acabo de terminar {trail} con Trailbook! {km} km y {meters} m de subida. 🥾",
"saved.empty": "You have not saved any trails yet.\nTap the heart on a trail to keep it here.Aún no has guardado ninguna ruta.\nToca el corazón en una ruta para guardarla aquí."
}
黄色:占位符和 ICU 复数语法,逐条检查。青色:标签、转义符和表情符号,原样保留。
键名不变。占位符不变。换成新语言。
只改动值。文件以相同的嵌套结构和顺序返回,命名为 es.json;任何丢失占位符的字符串,都会先重新翻译,再进入你的构建。
本页专门编写的演示应用;西班牙语字符串为该工具的真实输出,来自一个含 85 条字符串的文件。
哪些会翻译,哪些不会
每个字符串值都会连同完整的键名作为上下文一起送去翻译,因此 "settings.save" 和 "cart.save" 可以得到不同的译法。键名本身不会被发送。非文本的值,例如网址、电子邮件地址,或只由 "{count}" 这类占位符组成的值,会保持原样。
react-intl 等库使用的富文本标签,例如 <b>{name}</b> 或 <link>Undo</link>,会在翻译前替换为标记,翻译后再还原。字面的 \n 序列和 emoji 也必须保留;任何一项丢失的字符串都会重新翻译,若两次都失败,则保留英文原文,并把该键列出给你。
复数形式
像 {count, plural, one {# trail} other {# trails}} 这样的 ICU 消息会作为一个整体字符串翻译。翻译时会告知目标语言使用哪些复数类别,例如俄语或波兰语使用 one、few、many 和 other,并检查结果是否保留了变量名和复数关键字。使用 trail_one、trail_other 这类独立键的 i18next 文件,则逐个键翻译;目标语言缺少的键(trail_few、trail_many)不会自动添加。
工具的工作方式、费用以及文件处理方式,请见 本地化文件翻译 页面;所有工具的价格请见 价格 页面。
最后更新于
常见问题
输出会保留我的格式吗?
会。缩进(两个空格、四个空格或制表符)、键的顺序、冒号后的空格以及末尾的换行,都会照搬你的文件。压缩成一行的文件仍然是一行。
可以一次上传多个命名空间文件吗?
可以,一个任务最多 20 个文件,例如 common.json、cart.json 和 errors.json。下载时会打包成一个 ZIP。
不该翻译的字符串怎么办?
把产品名和品牌名列在“不翻译”下;每个包含这些名称的字符串都会被检查,确保名称原样保留。只含网址、电子邮件地址或占位符的值会自动跳过。
价格是多少?
前几条字符串免费。完整任务最多 5,000 条字符串,$5 一次付费。无限版每个任务最多支持 15,000 条字符串。小任务例外:不超过 300 条字符串的任务完全免费,包括下载。