不处理大于10MB的文件的
、 和译文 。要处理.ARB文件,在创建新工作时选择JSON文件类型。
文件类型
-
.JSON
导入选项
JSON 是 JavaScript 对象标记的缩写。虽然最初仅为 JavaScript 设计,但它已成为与 .XML、.YAML、.Properties 等并行的标准交换文件格式。JSON 由用方括号括起来的键值对组成。值可以是字符串、数字或对象(即一个或多个用大括号括起来的键-值对)。Simple JSON 只是一个 .JSON 文件,除了复数,其大多数值都是普通 Strings。在这种情况下,作为值放置的 Strings 将是最终被翻译的字符串。
推荐导入设置
JSON 数组是包含在方括号 [] 中的名称-值对列表。JSON 对象是包含在大括号{}中的名称-值对列表
-
只导入特定的键(使用正则表达式): ⁇
simple_key|nested.deeply.key
-
要导入 sample_collection 键之后的所有数组值: ⁇
(^|.*/)sample_collection\[.*\]
-
要导入复数_键之后的对象的所有值: ⁇
(^|.*/)复数_键/.*
-
-
只排除特定的键(使用正则表达式): ⁇
未验证_键
-
上下文键:
-
对于具有键_with_description键的值,使用: ⁇
../键_with_description
-
如果未指定或缺失,则由父键/子键形成
-
boolean_key等JSON键无法设置为上下文键。
-
例如:
{ "boolean_key": "--- true\n", "empty_string_translation": "", "key_with_description":快去看看 ! ”这个字键有说明!(至少某些格式)", "key_with_line-break":“这些翻译包含\na 换行符。”, "nested.deeply.key":“哇,这个字键嵌套的更深。”, "nested.key":"此字键嵌套在名称空间中。", "null_translation": null, "pluralized_key": { "one":“仅找到一个复数。”, "other":“哇,您有 %s 个复数!”, "zero":“你没有复数。” }, "sample_collection": [ “第一项”, "second item", “第三个项目” ], "simple_key":"只是一个带有简单信息的简单键。", "unverified_key":"译文尚未已验证,请等待。(某些格式我们也会导出这种状态)" }
嵌套 JSON 只是一个 JSON 文件,其值的很大一部分是其他 JSON 对象。与 Simple JSON 相比,嵌套 JSON 的清晰度更高,因为它将对象解耦到不同的层中,因此更容易维护。
推荐导入设置
JSON 数组是包含在方括号 [] 中的名称-值对列表。JSON 对象是包含在大括号{}中的名称-值对列表
-
只导入特定的键(使用正则表达式): ⁇
键_with_line-break|simple_键
-
要导入 example_collection 键之后的数组值: ⁇
(^|.*/)example_collection\[.*\]
-
要导入复数_键之后的对象的所有值: ⁇
(^|.*/)复数_键/.*
-
要导入第一个键的值: ⁇
嵌套/深度/键
-
要导入第二个键的值: ⁇
嵌套/键
-
导入键的值不分级别: ⁇
(^|.*/)键
-
-
只排除特定的键(使用正则表达式): ⁇
未验证_键
-
上下文键:
-
对于具有该键值的键_with_description,使用: ⁇
../键_with_description
-
如果未指定或缺失,则由父键/子键形成
-
boolean_key等JSON键无法设置为上下文键。
-
例如:
{ "boolean_key": "--- true\n", "empty_string_translation": "", "key_with_description":快去看看 ! ”这个字键有说明!(至少某些格式)", "key_with_line-break":“这些翻译包含\na 换行符。”, "nested": { "deeply": { "key":“哇,这个键套得更深。” }, "key":"这个字键嵌套在一个名字空间中。" }, "null_translation": null, "pluralized_key": { "one":“仅找到一个复数。”, "other":“哇,您有 %s 个复数!”, "zero":“你没有复数。” }, "sample_collection": [ “第一项”, "second item", “第三个项目” ], "simple_key":"只是一个带有简单信息的简单键。", "unverified_key":"译文尚未已验证,请等待。(某些格式我们也会导出这种状态)" }
React-Intl 是一个专为简化国际化(i18n)和(本地化)设计的 JavaScript 库,主要适用于使用 React 开发的应用程序。默认情况下,React-Intl 使用 .js 文件来存储其本地化内容。
推荐导入设置
JSON 数组是包含在方括号中的名称-值对列表[]
-
只导入特定的键(使用正则表达式): ⁇
键_with_line-break|nested.deeply.键
-
要导入 sample_collection 键之后的所有数组值: ⁇
(^|.*/)sample_collection\[.*\]
-
-
只排除特定的键(使用正则表达式): ⁇
未验证_键
-
上下文键:
-
对于具有键_with_description键的值,使用: ⁇
../键_with_description
-
如果未指定或缺失,则由父键/子键形成
-
boolean_key等JSON键无法设置为上下文键。
-
例如:
{ "boolean_key": "--- true\n", "empty_string_translation": "", "key_with_description":快去看看 ! ”这个字键有说明!(至少某些格式)", "key_with_line-break":“这些翻译包含\na 换行符。”, "nested.deeply.key":“我是深度嵌套的键。”, "nested.key":"此字键嵌套在名称空间中。", "null_translation": null, "pluralized_key.one":“只找到一只小猫。”, "pluralized_key.other":“哇,您有 %s 只小猫!”, "pluralized_key.zero":「你没有小猫。」 "sample_collection": [ “第一项”, "second item", “第三个项目” ], "simple_key":“简单的键,简单的信息,那么简单。”, "unverified_key":"译文尚未已验证,请等待。(某些格式我们也会导出这种状态)" }
React-Intl 是一个专为简化国际化(i18n)和(本地化)设计的 JavaScript 库,主要适用于使用 React 开发的应用程序。默认情况下,React-Intl 使用 .js 文件来存储其本地化内容。
推荐导入设置
JSON 数组是包含在方括号 [] 中的名称-值对列表。JSON 对象是包含在大括号{}中的名称-值对列表
-
只导入特定的键(使用正则表达式): ⁇
键_with_line-break|simple_键
-
要导入 sample_collection 键之后的所有数组值: ⁇
(^|.*/)sample_collection\[.*\]
-
要导入复数_键之后的对象的所有值: ⁇
(^|.*/)复数_键/.*
-
要导入第一个键的值: ⁇
嵌套/深度/键
-
要导入第二个键的值: ⁇
嵌套/键
-
导入键的值不分级别: ⁇
(^|.*/)键
-
-
只排除特定的键(使用正则表达式): ⁇
未验证_键
-
上下文键:
-
对于具有键_with_description键的值,使用: ⁇
../键_with_description
-
如果未指定或缺失,则由父键/子键形成
-
boolean_key等JSON键无法设置为上下文键。
-
例如:
{ "boolean_key": "--- true\n", "empty_string_translation": "", "key_with_description":“那好吧!这个字键有说明!(至少在某些格式中是这样)", "key_with_line-break":“这些翻译包含\na 换行符。”, "nested": { "deeply": { "key":“嘿,这个键套的更深。” }, "key":"这个字键嵌套在一个名字空间中。" }, "null_translation": null, "pluralized_key": { "one":“仅找到一个复数。”, "other":“哇,您有 %s 个复数!”, "zero":“你没有复数。” }, "sample_collection": [ “第一项”, "second item", “第三个项目” ], "simple_key":“一个简单的键与一个简单的信息。”, "unverified_key":"翻译尚未已验证,请等待。(某些格式我们也会导出这种状态)" }
本地化的 Chrome 扩展字符串存储在一个通常名为 Messages.json 的 JSON 文件中。Chrome JSON 文件的结构与其他平台上用于本地化的 JSON 文件略有不同。对于 Chrome JSON,需要翻译的 Strings 被放置在嵌套在每个单位键值对下的子键信息
中。还可为每个键值对添加说明
。
推荐导入设置
JSON 对象是包含在大括号{}中的名称-值对列表。
-
只导入特定的字符串(使用正则表达式): ⁇
.*/ message|.*/content
-
只导入消息键的第一个值: ⁇
prompt_for_name/ message
-
要导入用户键之后的对象的所有值: ⁇
.*/用户/.*
-
-
只排除特定的字符串(使用正则表达式): ⁇
.*/example
-
上下文注释:
-
对于具有说明键值的情况: ⁇
../说明
-
如果未指定或缺失,则由父键/子键形成
-
prompt_for_name等JSON键无法设置为上下文注释。
-
-
转换为 Phrase 标签: ⁇
\$[^\$]+\$
例如:
{ "prompt_for_name": { "message":“你叫什么名字?”, "description":"询问用户的名字" }, "hello": { "message":“您好, $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 是一个专为 Go 设计的国际化库。支持的本地化文件格式有JSON、YAML、TOML等。go-i18n 使用的 JSON 文件与其他本地化/国际化平台的不同之处在于,go-18n 的 JSON 通常以 JSON 数组的形式存在,数组由一系列 JSON 对象组成。每个JSON对象都代表由 ID
等键识别的需要翻译的字符串。
推荐导入设置
JSON 对象是包含在大括号{}中的名称-值对列表。
-
只导入特定的字符串(使用正则表达式): ⁇
.*/翻译
-
要导入翻译键之后的对象的所有值: ⁇
.*/translation/.*
-
只导入翻译键之后的第二个对象的值: ⁇
.*\[2\]/translation/.*
-
要在翻译键之后导入对象的 ⁇ one ⁇ 键的值: ⁇
.*/translation/one
-
要在第5个翻译键中导入 ⁇ 1 ⁇ 键的值: ⁇
。*\[5\]/translation/one
-
要在翻译键之后的对象中导入 ⁇ 其他 ⁇ 键的值: ⁇
(^|.*/)translation/other
-
要在翻译键之后的第二个对象中导入 ⁇ other ⁇ 键的值: ⁇
.*\[2\]/translation/other
-
-
只排除特定的字符串(使用正则表达式): ⁇
.*/其他
-
上下文键:
-
对于具有 ID 键的值,使用: ⁇
../id
-
如果未指定或缺失,则由父键/子键形成
-
一类 JSON 键无法设置为上下文键。
-
-
转换为 Phrase TMS 标签: ⁇
\{\{[^\}]+\}\}
例如:
[ { "id": "d_days", "translation": { "one": "{{.Count}} day", "other": "{{.Count}} days" } }, { "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 是使用默认 _(“...”) 方法包装待翻译Strings所需的一切。在运行时,i18n-node-2根据预先定义的区域自动生成多个JSON文件。I18n-node-2 使用自动生成的 JSON 格式式存储可译的数据。翻译前,检查文件质量。由于 i18n-node-2 支持复数,因此确保在翻译过程中所有变量保持不变。
推荐导入设置
JSON 数组是包含在方括号 [] 中的名称-值对列表。JSON 对象是包含在大括号{}中的名称-值对列表
-
只导入特定的键(使用正则表达式): ⁇
simple_key|nested.deeply.key
-
要导入 sample_collection 键之后的所有数组值: ⁇
(^|.*/)sample_collection\[.*\]
-
要导入复数_键之后的对象的所有值: ⁇
(^|.*/)复数_键/.*
-
-
只排除特定的键(使用正则表达式): ⁇
未验证_键
-
上下文键:
-
对于具有键_with_description键的值,使用: ⁇
../键_with_description
-
如果未指定或缺失,则由父键/子键形成
-
boolean_key等JSON键无法设置为上下文键。
-
例如:
{ "boolean_key": "--- true\n", "empty_string_translation": "", "key_with_description":快去看看 ! ”这个字键有说明!(至少某些格式)", "key_with_line-break":“这些翻译包含\na 换行符。”, "nested.deeply.key":“我是深度嵌套的键。”, "nested.key":"此字键嵌套在名称空间中。", "null_translation": null, "pluralized_key": { "one":“仅找到一个复数。”, "other":“哇,您有 %s 个复数!”, "zero":“你没有复数。” }, "sample_collection": [ “第一项”, "second item", “第三个项目” ], "simple_key": "simple key, simple message, so simple.", "unverified_key":"译文尚未已验证,请等待。(某些格式我们也会导出这种状态)" }