, и не обрабатываются для файлов размером более 10 Мб.
Для обработки файлов .ARB выберите тип файла JSON при создании нового задания.
Важно
Проблемы с тегами — частая причина ошибок экспорта. Всегда убедитесь, что теги и форматирование правильные перед экспортом файлов, запустив проверки контроль качества.
Типы файлов
-
.JSON
Параметры импорта
-
Сообщения ICU автоматически преобразуются в теги. Если сегмент содержит строковые элементы, разбор ICU для этого сегмента пропускается. Сегменты без строковых элементов разбираются обычно.
-
Импортируются HTML теги, содержащиеся в файле. Далее теги можно использовать с настройками импорта файлов .HTML.
Если этот параметр включен, символы HTML
&и<преобразуются в символы сущности&и<в завершенном файле. -
Применить регулярные выражения, чтобы преобразовать указанный текст в теги.
-
Импортировать только определённые ключи (использовать regex)
-
Исключить определённые ключи (использовать regex
-
Подходящий контент отображается в контекстных примечаниях.
-
Импортировать элементы или максимальную длину перевода для каждого элемента. Ограничение количества символов для каждого сегмента отображается на панели в редакторе. Любой символ, превышающий лимит, выделен красным цветом.
-
Составляет контекст памяти переводов (TM) (101% совпадения), если это применимо.
JSON — это сокращение от JavaScript Object Notation. Хотя изначально он был разработан только для JavaScript, он стал стандартным форматом обменных файлов параллельно с .XML, .YAML, .Properties и т. д. JSON состоит из пар «ключ-значение», обернутых фигурными скобками. Значение может быть как строкой, числом, так и объектом (а именно одной или несколькими парами «ключ-значение», обернутыми фигурными скобками). Simple JSON — это просто файл .JSON, большинство значений которого составляют простые строки, за исключением форм множественного числа. В этом случае именно строки, помещенные в качестве значений, в итоге будут переведены.
Рекомендуемые настройки импорта
Массив JSON — это список пар имени-значения, заключенных в квадратные скобки []. Объект JSON — это список пар имени-значения, заключенных в фигурные скобки {}
-
Импортировать только конкретные ключи (используйте регулярное выражение):
simple_key|nested.deeply.key-
Чтобы импортировать все значения массива, следующих за ключом sample_collection:
(^|.*/)sample_collection\[.*\] -
Чтобы импортировать все значения объекта, следующих за ключом pluralized_key:
(^|.*/)pluralized_key/.*
-
-
Исключить только конкретные ключи (используйте регулярное выражение):
unverified_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": "Wow, this key is nested even deeper.",
"nested.key": "This key is nested inside a namespace.",
"null_translation": null,
"pluralized_key": {
"one": "Найдено только одно множественное число.",
"other": "Ого, множественное число обнаружено: %s раз!",
"zero": "У вас нет множественного числа."
},
"sample_collection": [
"first item",
"second item",
"third item"
],
"simple_key": "Простой простой ключ с простым сообщением.",
"unverified_key": "Этот перевод еще не подтвержден и ждет подтверждения. (В некоторых форматах мы также экспортируем этот статус.)"
}
Nested JSON — это просто файл JSON, довольно большая часть значений которого приходится на другие объекты JSON. По сравнению с простым JSON, Nested JSON обеспечивает более высокую четкость, разъединяя объекты на разные слои, что упрощает его обслуживание.
Рекомендуемые настройки импорта
Массив JSON — это список пар имени-значения, заключенных в квадратные скобки []. Объект JSON — это список пар имени-значения, заключенных в фигурные скобки {}
-
Импортировать только определённые ключи (использовать регулярное выражение):
key_with_line-break|simple_key-
Чтобы импортировать значение массива, следующего за ключом sample_collection:
(^|.*/)sample_collection\[.*\] -
Импортировать все значения объекта после ключа pluralized_key:
(^|.*/)pluralized_key/.* -
Чтобы импортировать значение первого ключа key:
nested/deeply/key -
Чтобы импортировать значение второго ключа key:
nested/key -
Чтобы импортировать значение ключа key независимо от уровня:
(^|.*/)key
-
-
Исключить только конкретные ключи (используйте регулярное выражение):
unverified_key -
Контекстный ключ:
-
Чтобы получить значение ключа key_with_description, используйте:
/key_with_description -
Если не указано или отсутствует, формируется как родительский ключ/дочерний ключ.
-
Ключи JSON, такие как boolean_key, не могут заданы в качестве контекстного ключа.
-
Пример:
{
"boolean_key": "--- true\n",
"empty_string_translation": "",
"key_with_description": "Посмотрите! У этого ключа есть описание! (По крайней мере, в некоторых форматах)",
"key_with_line-break": "Этот перевод содержит разрыв строки.",
"nested": {
"deeply": {
"key": "Вау, этот ключ вложен еще глубже."
},
"key": "Этот ключ вложен внутри пространства имен."
},
"null_translation": null,
"pluralized_key": {
"one": "Найдено только одно множественное число.",
"other": "Ого, множественное число обнаружено: %s раз!",
"zero": "У вас нет множественного числа."
},
"sample_collection": [
"first item",
"second item",
"third item"
],
"simple_key": "Простой простой ключ с простым сообщением.",
"unverified_key": "Этот перевод еще не подтвержден и ждет подтверждения. (В некоторых форматах мы также экспортируем этот статус.)"
}
React-Intl — это библиотека JavaScript, предназначенная для упрощения интернационализации (i18n) и (локализации) в первую очередь приложений, разработанных в React. По умолчанию React-Intl использует файлы .js для хранения локализованного контента.
Рекомендуемые настройки импорта
Массив JSON — это список пар с именами-значениями, заключенных в квадратные скобки []
-
Импортировать только конкретные ключи (используйте регулярное выражение):
key_with_line-break|nested.deeply.key-
Чтобы импортировать все значения массива, соответствующие ключу sample_collection, используйте:
(^|.*/)sample_collection\[.*\]
-
-
Исключить только конкретные ключи (используйте регулярное выражение):
unverified_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": "I'm a deeply nested key.",
"nested.key": "This key is nested inside a namespace.",
"null_translation": null,
"pluralized_key.one": "Only one kitten found.",
"pluralized_key.other": "Wow, you have %s kittens!",
"pluralized_key.zero": "You have no kittens.",
"sample_collection": [
"first item",
"second item",
"third item"
],
"simple_key": "Simple key, simple message, so simple.",
"unverified_key": "Этот перевод еще не подтвержден и ждет подтверждения. (В некоторых форматах мы также экспортируем этот статус.)"
}
React-Intl — это библиотека JavaScript, предназначенная для упрощения интернационализации (i18n) и (локализации) в первую очередь приложений, разработанных в React. По умолчанию React-Intl использует файлы .js для хранения локализованного контента.
Рекомендуемые настройки импорта
Массив JSON — это список пар имени-значения, заключенных в квадратные скобки []. Объект JSON — это список пар имени-значения, заключенных в фигурные скобки {}
-
Импортировать только определённые ключи (использовать регулярное выражение):
key_with_line-break|simple_key-
Чтобы импортировать все значения массива, следующих за ключом sample_collection:
(^|.*/)sample_collection\[.*\] -
Импортировать все значения объекта после ключа pluralized_key:
(^|.*/)pluralized_key/.* -
Чтобы импортировать значение первого ключа key:
nested/deeply/key -
Чтобы импортировать значение второго ключа key:
nested/key -
Чтобы импортировать значение ключа key независимо от уровня:
(^|.*/)key
-
-
Исключить только конкретные ключи (используйте регулярное выражение):
unverified_key -
Контекстный ключ:
-
Чтобы получить значение ключа key_with_description, используйте:
/key_with_description -
Если не указано или отсутствует, формируется как ключ родительского элемента/ключ дочернего элемента.
-
Ключи JSON, такие как boolean_key, не могут заданы в качестве контекстного ключа.
-
Пример:
{
"boolean_key": "--- true\n",
"empty_string_translation": "",
"key_with_description": "Check it! This key has a description! (At least in some formats it does)",
"key_with_line-break": "Этот перевод содержит разрыв строки.",
"nested": {
"deeply": {
"key": "Hey, this key is nested even deeper."
},
"key": "Этот ключ вложен внутри пространства имен."
},
"null_translation": null,
"pluralized_key": {
"one": "Найдено только одно множественное число.",
"other": "Ого, множественное число обнаружено: %s раз!",
"zero": "У вас нет множественного числа."
},
"sample_collection": [
"first item",
"second item",
"third item"
],
"simple_key": "A simple key with a simple message.",
"unverified_key": "Translation is not yet verified and waits for it. (In some formats we also export this status)"
}
Локализованные строки для расширений Chrome хранятся в файле JSON, который часто называют messages.json. Структура файлов Chrome JSON несколько отличается от структуры файлов JSON, используемых для локализации на других платформах. В Chrome JSON строки, требующие перевода, помещаются в сообщение подключа, вложенное под каждую пару «ключ-значение». К каждой паре «ключ-значение» может быть добавлено описание.
Рекомендуемые настройки импорта
Объект JSON — это список пар «имя-значение», заключенных в фигурные скобки {}.
-
Импортировать только определенные ключи (используйте регулярное выражение):
.*/message|.*/content-
Чтобы импортировать только первое значение ключа message:
prompt_for_name/message -
Чтобы импортировать все значения объекта после ключа user:
.*/user/.*
-
-
Исключить только конкретные ключи (используйте регулярное выражение):
.*/example -
Контекстное примечание:
-
Чтобы ключ имел значение description:
../description -
Если оно не указано или отсутствует, то формируется ключом родительского элемента/ключом дочернего элемента
-
Ключ JSON, такой как prompt_for_name, не может быть задан в качестве контекстного примечания.
-
-
Преобразовать в теги Phrase:
\$[^\$]+\$
Пример:
{
"prompt_for_name": {
"message": "What's your name?",
«Описание»: "Ask for the user's name"
},
"hello": {
"message": "Hello, $USER$",
"description": "Greet the user",
"placeholders": {
"user": {
"content": "$1",
"example": "Cira"
}
}
},
"bye": {
"message": "Goodbye, $USER$. Come back to $OUR_SITE$ soon!",
"description": "Say goodbye to the user",
"placeholders": {
"our_site": {
"content": "Example.com"
},
"user": {
"content": "$1",
"example": "Cira"
}
}
}
}
Go-i18n — это библиотека интернационализации, разработанная для Golang. Поддерживаемые форматы файлов локализации включают JSON, YAML, TOML и т. д. Файлы JSON, используемые go-i18n, отличаются от файлов других платформ локализации/интернационализации тем, что go-18n JSON часто существует в виде массива JSON, состоящего из последовательных объектов JSON. Каждый объект JSON представляет собой строку, требующую перевода, определяемую такими ключами, как идентификатор.
Рекомендуемые настройки импорта
Объект JSON — это список пар «имя-значение», заключенных в фигурные скобки {}.
-
Импортировать только конкретные ключи (используйте регулярное выражение):
.*/translation-
Импортировать все значения объекта после ключа translation:
.*/translation/.* -
Импортировать только значения второго объекта после ключа translation:
.*\[2\]/translation/.* -
Чтобы импортировать значение одного ключа объекта после ключа translation:
.*/translation/one -
Чтобы импортировать значение одного ключа в 5th translation:
.*\[5\]/translation/one -
Чтобы импортировать значение других ключей в объектах, следующих за ключом translation:
(^|.*/)translation/other -
Чтобы импортировать значение другого ключа во 2-м объекте после ключа translation:
.*\[2\]/translation/other
-
-
Исключить только конкретные ключи (используйте регулярное выражение):
.*/other -
Контекстный ключ:
-
Для получения значения ключа id используйте:
../id -
Если оно не указано или отсутствует, то формируется ключом родительского элемента/ключом дочернего элемента
-
Ключи JSON, такие как один, не могут заданы в качестве контекстного ключа.
-
-
Преобразовать в теги Phrase:
\{\\{[^\}]+\}\}
Пример:
[
{
"id": "d_days",
"translation": {
"one": "{{.Count}} day",
"other": "{{.Count}} days"
}
},
{
"id": "my_height_in_meters",
"translation": {
"one": "I am {{.Count}} meter tall.",
"other": "I am {{.Count}} meters tall."
}
},
{
"id": "person_greeting",
"translation": "Hello {{.Person}}"
},
{
"id": "person_unread_email_count",
"translation": {
"one": "{{.Person}} has {{.Count}} unread email.",
"other": "{{.Person}} has {{.Count}} unread emails."
}
},
{
"id": "person_unread_email_count_timeframe",
"translation": {
"one": "{{.Person}} has {{.Count}} unread email in the past {{.Timeframe}}.",
"other": "{{.Person}} has {{.Count}} unread emails in the past {{.Timeframe}}."
}
},
{
"id": "program_greeting",
"translation": "Hello world"
},
{
"id": "your_unread_email_count",
"translation": {
"one": "You have {{.Count}} unread email.",
"other": "You have {{.Count}} unread emails."
}
}
]
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/.*
-
-
Исключить только конкретные ключи (используйте регулярное выражение):
unverified_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": "I'm a deeply nested key.",
"nested.key": "This key is nested inside a namespace.",
"null_translation": null,
"pluralized_key": {
"one": "Найдено только одно множественное число.",
"other": "Ого, множественное число обнаружено: %s раз!",
"zero": "У вас нет множественного числа."
},
"sample_collection": [
"first item",
"second item",
"third item"
],
"simple_key": "простой ключ, простое сообщение, так просто.",
"unverified_key": "Этот перевод еще не подтвержден и ждет подтверждения. (В некоторых форматах мы также экспортируем этот статус.)"
}