, и не обрабатываются для файлов размером более 10 Мб.
Для обработки файлов .ARB выберите тип файла JSON при создании нового задания.
ВАЖНО:
Проблемы с tags являются распространенной причиной экспортируемых ошибок. Всегда проверяйте правильность tags и форматирования перед экспортом файлов, проводя контроль качества.
Типы файлов
-
.JSON
Параметры импорта
-
Сообщения ICU автоматически конвертируются в теги. Файлы с сообщениями ICU не могут содержать строковые элементы.
-
Импортируются HTML теги, содержащиеся в файле. Далее теги можно использовать с настройками импорта файлов .HTML.
Если этот параметр включен, символы HTML
&
и<
преобразуются в символы сущности&
и<
в завершенном файле. -
Применить регулярные выражения, чтобы преобразовать указанный текст в теги.
-
Импортировать только определенные ключи (используйте regexp)
-
Исключить определенные ключи (используйте regexp)
-
Подходящий контент отображается в контекстных примечаниях.
-
Импортировать элементы или максимальную длину перевода для каждого элемента. Ограничение количества символов для каждого сегмента отображается на панели в редакторе. Любой символ, превышающий лимит, выделен красным цветом.
-
Составляет контекст памяти переводов (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 — это список пар «имя-значение», заключенных в фигурные скобки {}.
-
Импортировать только определенные ключи (используйте regexp):
.*/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": "simple key, simple message, so simple.", "unverified_key": "Этот перевод еще не подтвержден и ждет подтверждения. (В некоторых форматах мы также экспортируем этот статус.)" }