文件导入设置

.JSON - JavaScript 对象注释 (TMS)

文本由 Phrase Language AI 从英语机器翻译而得。

对超过 10 MB 的文件不处理上下文注释上下文键译文最大长度

至处理 .ARB 文件,请在创建工作选择 JSON 文件类型。

文件类型

  • .JSON

导入选项

  • 解析ICU信息

    ICU 信息自动转换为标记。带有 ICU 信息的文件不能包含任何行内元素。

  • 使用 HTML 子过滤器 

    导入文件中包含的 HTML 标记。标记可用于.HTML文件导入设置。

    如果启用,HTML 字符 & 将转换为已完成文件中的实体 &<

  • 转换为 Phrase TMS 标记 

    应用正则表达式将指定文本转换为标记。

  • 仅导入具体密钥(使用正则表达式

  • 排除具体密钥(使用正则表达式

  • 上下文注释

    匹配的内容显示在上下文注释中。

  • 译文长度上限

    导入元素或每个元素的最大译文长度。每个句段的字符限制显示在编辑器内的上下文注释窗格中。任何超出限制的字符都将以红色突出显示。

  • 上下文键

    如果适用,则构成翻译上下文01 匹配)。

Simple JSON

JSON 是 JavaScript 对象注释的缩写。虽然来源只为JavaScript设计,但它已成为与.XML、.YAML、.Properties等并行的标准交换文件格式。JSON 由用方括号括起来的键值对组成。值可以是字符串、数字或对象(一个或多个用方括号括起来的键值对的名称)。Simple JSON 只是一个 .JSON 文件,除了复数,其大多数值都是 plain Strings。在这种情况下,作为值的 Strings 将是最终被翻译的字符串。

推荐导入设置

JSON 数组是由方括号 [] 括起来的名称-值对列表。JSON 对象是包含在大括号{}中的名称-值对列表

  • 仅导入具体密钥(使用正则表达式):'simple_key|nested.deeply.key

    • sample_collection 字符串后导入数组的所有值:'');'(^|.*/)sample_collection\[.*\]

    • pluralized_key 字符串之后导入对象的所有值:'%'(^|.*/)pluralized_key/.*

  • 仅排除具体密钥(使用正则表达式):未验证_key

  • 上下文键:

    • 对于具有 key_with_description 字符串的值,使用:=%../key_with_description

    • 如果未指定或缺少,则由父字符串/子字符串表格

    • boolean_key 等 JSON 密钥不能设置为上下文键。

示例:

{
  "boolean_key": "--- true\n",
  "empty_string_translation": "",
  "key_with_description":看看!此字符串有说明!(至少某些格式)",
  "key_with_line-break":"This translations contains\na line-break.",
  "nested.deeply.key":“哇,这个字符串嵌套得更深。”,
  "nested.key":"此字符串嵌套在名称空间中.",
  "null_translation": null,
  "pluralized_key": {
    "one":“只找到一个复数。”,
    "other":“哇,您有 %s 个复数!”,
    "zero":“你没有复数。”
  },
  "sample_collection": [
    “第一个项目”,
    “第二个项目”,
    “第三个项目”
  ],
  "simple_key":“只是一个简单的字符串与一个简单的信息。”,
  "unverified_key":"此翻译尚未已验证,正在等待它。(在某些格式中,我们也导出此状态)"
}

嵌套的 JSON

嵌套 JSON 只是一个 JSON 文件,其相当大一端口分值是其他 JSON 对象。与 Simple JSON 比较,Nestted JSON 将对象解耦至不同的层,维护难度更高。

推荐导入设置

JSON 数组是由方括号 [] 括起来的名称-值对列表。JSON 对象是包含在大括号{}中的名称-值对列表

  • 仅导入具体密钥(使用正则表达式):key_with_line-break|simple_key

    • 导入 sample_collection 字符串之后的数组值:""%1!(^|.*/)sample_collection\[.*\]

    • pluralized_key 字符串之后导入对象的所有值:'%'(^|.*/)pluralized_key/.*

    • 至导入第一个密钥密钥的值:=""嵌套/深度/密钥"

    • 至导入第二个密钥密钥的值:'nested/key

    • 无论级别如何导入密钥密钥的值:(^|.*/)密钥

  • 仅排除具体密钥(使用正则表达式):未验证_key

  • 上下文键:

    • 对于具有 key key_with_description 的值,使用:=%../key_with_description

    • 如果未指定或缺少,则由父字符串/子字符串表格

    • boolean_key 等 JSON 密钥不能设置为上下文键。

示例:

{
  "boolean_key": "--- true\n",
  "empty_string_translation": "",
  "key_with_description":看看!此字符串有说明!(至少某些格式)",
  "key_with_line-break":"This translations contains\na line-break.",
  "nested": {
    "deeply": {
      "key":“哇,这个字符串嵌套的更深了。”
    },
    "key":"此字符串嵌套在名称空间中。"
  },
  "null_translation": null,
  "pluralized_key": {
    "one":“只找到一个复数。”,
    "other":“哇,您有 %s 个复数!”,
    "zero":“你没有复数。”
  },
  "sample_collection": [
    “第一个项目”,
    “第二个项目”,
    “第三个项目”
  ],
  "simple_key":“只是一个简单的字符串与一个简单的信息。”,
  "unverified_key":"此翻译尚未已验证,正在等待它。(在某些格式中,我们也导出此状态)"
}

React-Intl Simple JSON

React-Intl 是一个至简化国际化(i18n)和(本地化)而设计的 JavaScript 库,主要用于 React 中开发的应用程序。默认情况下,React-Intl 使用 .js 文件存储至本地化内容。

推荐导入设置

JSON 数组是方括号内的名称-值对列表[]

  • 仅导入具体密钥(使用正则表达式):key_with_line-break|nested.deeply.key

    • sample_collection 字符串后导入数组的所有值:'');'(^|.*/)sample_collection\[.*\]

  • 仅排除具体密钥(使用正则表达式):未验证_key

  • 上下文键:

    • 对于具有 key_with_description 字符串的值,使用:=%../key_with_description

    • 如果未指定或缺少,则由父字符串/子字符串表格

    • boolean_key 等 JSON 密钥不能设置为上下文键。

示例:

{
  "boolean_key": "--- true\n",
  "empty_string_translation": "",
  "key_with_description":看看!此字符串有说明!(至少某些格式)",
  "key_with_line-break":"This translations contains\na line-break.",
  "nested.deeply.key":“我是一个深度嵌套的字符串。”,
  "nested.key":"此字符串嵌套在名称空间中.",
  "null_translation": null,
  "pluralized_key.one":“只找到一只小猫。”,
  "pluralized_key.other":“哇,您有 %s 只小猫!”,
  "pluralized_key.zero":“你没有小猫。”,
  "sample_collection": [
    “第一个项目”,
    “第二个项目”,
    “第三个项目”
  ],
  "simple_key":“简单的密钥,简单的信息,如此简单。”,
  "unverified_key":"此翻译尚未已验证,正在等待它。(在某些格式中,我们也导出此状态)"
}

React-Intl Nested JSON

React-Intl 是一个至简化国际化(i18n)和(本地化)而设计的 JavaScript 库,主要用于 React 中开发的应用程序。默认情况下,React-Intl 使用 .js 文件存储至本地化内容。

推荐导入设置

JSON 数组是由方括号 [] 括起来的名称-值对列表。JSON 对象是包含在大括号{}中的名称-值对列表

  • 仅导入具体密钥(使用正则表达式):key_with_line-break|simple_key

    • sample_collection 字符串后导入数组的所有值:'');'(^|.*/)sample_collection\[.*\]

    • pluralized_key 字符串之后导入对象的所有值:'%'(^|.*/)pluralized_key/.*

    • 至导入第一个密钥密钥的值:=""嵌套/深度/密钥"

    • 至导入第二个密钥密钥的值:'nested/key

    • 无论级别如何导入密钥密钥的值:(^|.*/)密钥

  • 仅排除具体密钥(使用正则表达式):未验证_key

  • 上下文键:

    • 对于具有 key_with_description 字符串的值,使用:=%../key_with_description

    • 如果未指定或缺少,则由父字符串/子字符串表格

    • boolean_key 等 JSON 密钥不能设置为上下文键。

示例:

{
  "boolean_key": "--- true\n",
  "empty_string_translation": "",
  "key_with_description":检查一下!此字符串有说明!(至少在某些格式中是这样)",
  "key_with_line-break":"This translations contains\na line-break.",
  "nested": {
    "deeply": {
      "key":“嘿,这个字符串嵌套得更深。”
    },
    "key":"此字符串嵌套在名称空间中。"
  },
  "null_translation": null,
  "pluralized_key": {
    "one":“只找到一个复数。”,
    "other":“哇,您有 %s 个复数!”,
    "zero":“你没有复数。”
  },
  "sample_collection": [
    “第一个项目”,
    “第二个项目”,
    “第三个项目”
  ],
  "simple_key":“一个简单的字符串与一个简单的信息。”,
  "unverified_key":"翻译尚未已验证,正在等待它。(在某些格式中,我们也导出此状态)"
}

Chrome JSON i18n

Chrome 扩展的本地化 Strings 存储在名称通常为 information.json 的 JSON 文件中。Chrome JSON 文件的结构与其他平台上使用于本地化的 JSON 文件略有不同。对于 Chrome JSON,需要翻译的 Strings 被放置在嵌套在每个单元键值对下的子键信息中。也可已添加至每个键值对的说明

推荐导入设置

JSON 对象是包含在大括号{}中的名称-值对列表。

  • 仅导入具体密钥(使用正则表达式):。*/message|.*/content

    • 至只导入信息密钥的第一个值: %0"prompt_for_name/信息

    • 至导入使用密钥后的对象的所有值:'%.*/使用/.*

  • 仅排除具体密钥(使用正则表达式):.*/example

  • 上下文注释:

    • 对于具有描述字符串的值:'%../description

    • 如果未指定或缺少,则由父字符串/子字符串表格

    • prompt_for_name 等 JSON 字符串不能设置为上下文注释。

  • 转换为 Phrase 标记:""%1!\$[^\$]+\$

示例:

{
  "prompt_for_name": {
    "message":“您的名称是什么?”,
    "description":“询问用户名称”
  },
  "hello": {
    "message":"Hello, $USER$",
    "description":“问候使用”,
    "placeholders": {
      "user": {
        "content": "$1",
        "example":“Cira”
      }
    }
  },
  "bye": {
    "message":“再见,$USER$。请尽快返回至 $OUR_SITE$!,
    "description":“告别使用”,
    "placeholders": {
      "our_site": {
        "content":“Example.com”
      },
      "user": {
        "content": "$1",
        "example":“Cira”
      }
    }
  }
}

Go i18n JSON

Go-i18n 是一个专为 Golang 设计的国际化库。支持的本本地化文件格式包括 JSON、YAML、TOML 等。go-i18n 使用的 JSON 文件与其他本地化/国际化平台的文件不同,因为 go-18n JSON 通常作为由一系列 JSON 对象组成的 JSON 数组存在。每个 JSON 对象代表需要翻译的字符串,由 id 等密钥标识。

推荐导入设置

JSON 对象是包含在大括号{}中的名称-值对列表。

  • 仅导入具体密钥(使用正则表达式):.*/翻译

    • 翻译键后导入对象的所有值:'%.*/翻译/.*

    • 至只导入翻译键后第二个对象的值:''。*\[2\]/翻译/.*

    • 翻译字符串后导入该对象的""%1""one=""key的值:'。*/翻译/one

    • 第 5 个翻译密钥中导入 `%1` 个密钥的值: `%1`。*\[5\]/翻译/一个

    • 至在翻译密钥之后的对象中导入'其他'密钥的值:'(^|.*/)翻译/其他

    • 至在翻译字符串:'之后的第二个对象中导入'其他'字符串的值。*\[2\]/翻译/其他

  • 仅排除具体密钥(使用正则表达式):.*/other

  • 上下文键:

    • 对于具有 id 密钥的值,使用:=%../id

    • 如果未指定或缺少,则由父字符串/子字符串表格

    • JSON 密钥(如不能设置为上下文键。

  • 转换为 Phrase 标记:""%1!\{\[^\}]+\}\}

示例:

[
{
    "id": "d_days",
    "translation": {
      "one": "{{.Count}} day",
      “其他”:“{{.Count}}日”
    }
  },
  {
    "id": "my_height_in_meters",
    "translation": {
      "one":“我有{{.Count}}米高。”,
      "other":“我有{{.Count}}米高。”
    }
  },
  {
    "id": "person_greeting",
    "translation":“{{.Person}}您好”
  },
  {
    "id": "person_unread_email_count",
    "translation": {
      “一个”:“{{.Person}}有{{.Count}}封未读电子邮件。”,
      “其他”:“{{.Person}}有{{.Count}}封未读电子邮件。”
    }
  },
  {
    "id": "person_unread_email_count_timeframe",
    "translation": {
      “一个”:“{{.Person}}在过去一{{.Timeframe}}中有{{.Count}}封未读电子邮件。”,
      “其他”:“{{.Person}}在过去一{{.Timeframe}}中有{{.Count}}封未读电子邮件。”
    }
  },
  {
    "id": "program_greeting",
    "translation":“世界,您好”
  },
  {
    "id": "your_unread_email_count",
    "translation": {
      "one":“您有{{.Count}}封未读电子邮件。”,
      "other":"您有{{.Count}}封未读电子邮件。"
    }
  }
]

i18n-node-2 JSON

I18n-node-2 是一个基于 Node.js 的库,与 Express.js 一起工作。I18n-node-2 通过立即提供字符串提取与应用程序集成。i18n-node-2 是使用默认 _(“……”)方法包装待翻译字符串所需的一切。i18n-node-2 在执行时根据预定义区域自动生成多个 JSON 文件。I18n-node-2 使用自动生成的 JSON 表格存储至可译的数据。至翻译前,检查文件是否正常。由于 i18n-node-2 支持复数,请确保翻译过程中所有变量保持不变。

推荐导入设置

JSON 数组是由方括号 [] 括起来的名称-值对列表。JSON 对象是包含在大括号{}中的名称-值对列表

  • 仅导入具体密钥(使用正则表达式):'simple_key|nested.deeply.key

    • sample_collection 字符串后导入数组的所有值:'');'(^|.*/)sample_collection\[.*\]

    • pluralized_key 字符串之后导入对象的所有值:'%'(^|.*/)pluralized_key/.*

  • 仅排除具体密钥(使用正则表达式):未验证_key

  • 上下文键:

    • 对于具有 key_with_description 字符串的值,使用:=%../key_with_description

    • 如果未指定或缺少,则由父字符串/子字符串表格

    • boolean_key 等 JSON 密钥不能设置为上下文键。

示例:

{
  "boolean_key": "--- true\n",
  "empty_string_translation": "",
  "key_with_description":看看!此字符串有说明!(至少某些格式)",
  "key_with_line-break":"This translations contains\na line-break.",
  "nested.deeply.key":“我是一个深度嵌套的字符串。”,
  "nested.key":"此字符串嵌套在名称空间中.",
  "null_translation": null,
  "pluralized_key": {
    "one":“只找到一个复数。”,
    "other":“哇,您有 %s 个复数!”,
    "zero":“你没有复数。”
  },
  "sample_collection": [
    “第一个项目”,
    “第二个项目”,
    “第三个项目”
  ],
  "simple_key": "simple key, simple message, so simple.",
  "unverified_key":"此翻译尚未已验证,正在等待它。(在某些格式中,我们也导出此状态)"
}
这篇文章有帮助吗?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.