对于超过 10 MB 的文件,不会处理上下文注释, 、上下文键和最大译文长度。
至过程 .ARB 文件,请在创建新建 工作时选择 JSON 文件类型。
文件类型
-
.JSON
导入选项
-
ICU 消息会自动转换为 标记。包含 ICU 消息的文件不能包含任何内联元素。
-
导入文件中包含的 HTML 标记。然后,可以将标记与.HTML 文件 导入设置一起使用 。
如果启用,HTML 字符
和
<
将转换为实体& 和 <
在已完成文件。 -
-
排除具体 密钥(使用 正则表达式)
-
匹配内容显示在上下文注释中 。
-
导入元素或每个元素的最大译文长度。每个句段的字符限制显示在 窗格中。任何超出限制的字符都以红色突出显示。
-
构成翻译记忆库 上下文(101% 匹配)(如适用)。
JSON是JavaScript Object Notation的缩写。虽然最初只为 JavaScript 设计,但它成为与 .XML 并行的标准交换文件格式。亚姆, .属性等JSON 由括在大括号中的键值对组成。值可以是字符串、数字或对象(即用大括号括起来的一个或多个键值对)。简单的 JSON 只是一个 .JSON 文件,除复数目的外,其大部分值都是纯字符串。在这种情况下,作为值放置字符串将是最终被翻译的值。
推荐导入设置
JSON 数组是括在方括号 [] 中的名称值对的列表。JSON 对象是括在大括号 {} 中的名称值对的列表
-
仅导入具体 密钥(使用 正则表达式): simple_key|nested.deeply.key
-
至 导入数组的所有值都跟在sample_collection 键后面 : (^|.*/)sample_collection\[.*\]
-
至 导入 pluralized_key 键后面 的对象的所有值: (^|.*/)pluralized_key/.*
-
仅排除具体 密钥(使用 正则表达式): 未验证_key
-
上下文键:
-
要获得key_with_description 键的值 ,请使用: ../key_with_description
-
如果未指定或缺少,则由父键/子键形成
-
不能将 JSON 密钥(如 boolean_key )设置为上下文键。
例:
{
"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 相比,嵌套 JSON 提供了更高的清晰度,因为它将对象分离到不同的层中,使其更易于维护。
建议的导入设置
JSON 数组是括在方括号 [] 中的名称值对的列表。JSON 对象是括在大括号 {} 中的名称值对的列表
-
仅导入具体 密钥(使用 正则表达式): key_with_line中断|simple_key
-
至 导入数组的值跟在sample_collection 键后面 :(^|.*/)sample_collection\[.*\]
-
至 导入 pluralized_key 键后面 的对象的所有值: (^|.*/)pluralized_key/.*
-
至 导入第一个 键 键的值: 嵌套/深度/键
-
至 导入第二个 键 键的值: 嵌套/键
-
至 导入键 的值 ,而不考虑级别: (^|。*/)键
-
仅排除具体 密钥(使用 正则表达式): 未验证_key
-
上下文键:
-
要获得键 key_with_description, 的值,请使用: ../key_with_description
-
如果未指定或缺少,则由父键/子键形成
-
不能将 JSON 密钥(如 boolean_key )设置为上下文键。
例:
{
"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 是一个 JavaScript 库,旨在简化国际化 (i18n) 和 (本地化),主要用于使用 React 开发的应用程序。到默认,React-Intl 使用.js文件来存储其本地化内容。
建议的导入设置
JSON 数组是括在方括号 [] 中的名称值对的列表
-
仅导入具体 密钥(使用 正则表达式): key_with_line-break|nested.deeply.key
-
至 导入数组的所有值都跟在sample_collection 键后面 : (^|.*/)sample_collection\[.*\]
-
仅排除具体 密钥(使用 正则表达式): 未验证_key
-
上下文键:
-
要获得key_with_description 键的值 ,请使用: ../key_with_description
-
如果未指定或缺少,则由父键/子键形成
-
不能将 JSON 密钥(如 boolean_key )设置为上下文键。
例:
{
"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 是一个 JavaScript 库,旨在简化国际化 (i18n) 和 (本地化),主要用于使用 React 开发的应用程序。到默认,React-Intl 使用.js文件来存储其本地化内容。
建议的导入设置
JSON 数组是括在方括号 [] 中的名称值对的列表。JSON 对象是括在大括号 {} 中的名称值对的列表
-
仅导入具体 密钥(使用 正则表达式): key_with_line中断|simple_key
-
至 导入数组的所有值都跟在sample_collection 键后面 : (^|.*/)sample_collection\[.*\]
-
至 导入 pluralized_key 键后面 的对象的所有值: (^|.*/)pluralized_key/.*
-
至 导入第一个 键 键的值: 嵌套/深度/键
-
至 导入第二个 键 键的值: 嵌套/键
-
至 导入键 的值 ,而不考虑级别: (^|。*/)键
-
仅排除具体 密钥(使用 正则表达式): 未验证_key
-
上下文键:
-
要获得key_with_description 键的值 ,请使用: ../key_with_description
-
如果未指定或缺少,则由父键/子键形成
-
不能将 JSON 密钥(如 boolean_key )设置为上下文键。
例:
{
"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 扩展程序的本地化字符串存储在通常名为 messages.json的 JSON 文件中。Chrome JSON 文件的结构与其他平台上用于本地化的 JSON 文件略有不同。对于 Chrome JSON,需要翻译的字符串将放置在嵌套在每个单元键值对下的子键
。 消息
中。还可以为每个键值对已添加描述
建议的导入设置
JSON 对象是括在大括号 {} 中的名称值对的列表。
仅导入具体 密钥(使用 正则表达式):
.*/message|。*/内容
-
仅至 导入消息 键的第一个 值:
prompt_for_name/消息
至 导入对象的所有值跟在 用户键后面 :.*/用户/ .*
-
-
仅排除具体 密钥(使用 正则表达式):
.*/示例
-
上下文注释:
-
对于具有描述 键的值 :
../描述
-
如果未指定或缺少,则由父键/子键形成
-
JSON 键(如 prompt_for_name )不能设置为上下文注释。
-
-
转换为Phrase 标记:
\$[^\$]+\$
例:
{
"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是为Golang设计的国际化库。它支持的本地化文件格式包括JSON,YAML,TOML等。go-i18n 使用的 JSON 文件与其他本地化/国际化平台的 JSON 文件不同,因为 go-18n JSON 通常作为由一系列 JSON 对象组成的 JSON 数组存在。每个 JSON 对象表示一个需要转换字符串,该需要通过 ID
等 密钥标识。
建议的导入设置
JSON 对象是括在大括号 {} 中的名称值对的列表。
-
仅导入具体 密钥(使用 正则表达式):
.*/翻译
-
至 导入转换键后面 的对象的所有值:
.*/translation/.*
-
仅至 导入转换 键后面 第二个对象的值:
.*\[2\]/translation/.*
-
至 导入转换键后面 对象的一个键的值:
.*/translation/one
-
至 导入第 5 个翻译 键中 一个键的值:
.*\[5\]/translation/one
-
在转换 键后面 至 导入对象中其他密钥的值:
(^|.*/)翻译/其他
-
至 导入转换键后面 的第二个对象中其他键的值:
.*\[2\]/translation/other
-
-
仅排除具体 密钥(使用 正则表达式):
.*/其他
-
上下文键:
-
要获得id 键的值 ,请使用:
../id
-
如果未指定或缺少,则由父键/子键形成
-
JSON 密钥(例如 1) 不能设置为上下文键。
-
转换为Phrase 标记: \{\{[^\}]+\}\}
例:
[
{
"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 是一个基于 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
-
如果未指定或缺少,则由父键/子键形成
-
不能将 JSON 密钥(如 boolean_key )设置为上下文键。
例:
{
"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":“这个翻译还没有已验证,等待它。(在某些格式中,我们也导出此状态)”
}