Настройки импорта файла

.JSON - JavaScript Object Notation (TMS)

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

Контекстное примечание, Контекстный ключ и максимальная длина перевода не обрабатываются для файлов размером более 10 Мб.

Для обработки файлов .ARB выберите тип файла JSON при создании нового задания.

Важно

Проблемы с тегами являются распространенной причиной ошибок экспорта. Всегда убедитесь, что теги и форматирование правильные перед экспортом файлов, запустив проверки контроля качества.

Типы файлов

  • .JSON

Параметры импорта

  • Разобрать сообщения ICU

    Сообщения ICU автоматически конвертируются в теги. Когда сегмент содержит встроенные элементы, разбор ICU для этого сегмента пропускается. Сегменты без встроенных элементов разбираются нормально.

  • Использовать подфильтр HTML 

    Импортируются HTML теги, содержащиеся в файле. Далее теги можно использовать с настройками импорта файлов .HTML.

    Если этот параметр включен, символы HTML & и < преобразуются в символы сущности &amp; и &lt; в завершенном файле.

  • Преобразовать в теги системы Phrase TMS 

    Применить регулярные выражения, чтобы преобразовать указанный текст в теги.

  • Импортировать только определенные ключи (используйте regex)

  • Исключить определенные ключи (используйте regex

  • Контекстное примечание

    Подходящий контент отображается в контекстных примечаниях.

  • Макс. длина сегмента в переводе

    Импортировать элементы или максимальную длину перевода для каждого элемента. Ограничение количества символов для каждого сегмента отображается на панели контекстных примечаний в редакторе. Любой символ, превышающий лимит, выделен красным цветом.

  • Контекстный ключ

    Составляет контекст памяти переводов (TM) (101% совпадения), если это применимо.

Простой JSON

JSON — это сокращение от JavaScript Object Notation. Хотя изначально он был разработан только для JavaScript, он стал стандартным форматом обменных файлов параллельно с .XML, .YAML, .Properties и т. д. JSON состоит из пар «ключ-значение», обернутых фигурными скобками. Значение может быть как строкой, числом, так и объектом (а именно одной или несколькими парами «ключ-значение», обернутыми фигурными скобками). Простой 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": "Это перевод содержит\nперенос строки.",
  "nested.deeply.key": "Ого, этот ключ вложен еще глубже.",
  "nested.key": "Этот ключ вложен внутри пространства имен.",
  "null_translation": null,
  "pluralized_key": {
    "one": "Найдено только одно множественное число.",
    "other": "Ого, у вас %s множественных чисел!","
    "zero": "У вас нет множественного числа."
  },
  "sample_collection": [
    "first item",
    "second item",
    "третий элемент"
  ],
  "simple_key": "Просто простой ключ с простым сообщением.",
  "unverified_key": "Этот перевод еще не подтвержден и ждет подтверждения." (В некоторых форматах мы также экспортируем этот статус)"
}

Вложенный JSON

Вложенный JSON — это просто файл JSON, довольно большая часть значений которого приходится на другие объекты JSON. По сравнению с простым JSON, вложенный 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": "Это перевод содержит\nперенос строки.",
  "nested": {
    "deeply": {
      "key": "Ух ты, этот ключ вложен еще глубже."
    },
    "key": "Этот ключ вложен внутри пространства имен."
  },
  "null_translation": null,
  "pluralized_key": {
    "one": "Найдено только одно множественное число.",
    "other": "Ого, у вас %s множественных чисел!","
    "zero": "У вас нет множественного числа."
  },
  "sample_collection": [
    "first item",
    "second item",
    "третий элемент"
  ],
  "simple_key": "Просто простой ключ с простым сообщением.",
  "unverified_key": "Этот перевод еще не подтвержден и ждет подтверждения." (В некоторых форматах мы также экспортируем этот статус)"
}

React-Intl Простой JSON

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": "Это перевод содержит\nперенос строки.",
  "nested.deeply.key": "Я глубоко вложенный ключ.",
  "nested.key": "Этот ключ вложен внутри пространства имен.",
  "null_translation": null,
  "pluralized_key.one": "Найдено только одно котенок.",
  "pluralized_key.other": "У вас %s котят!","
  "pluralized_key.zero": "У вас нет котят.",
  "sample_collection": [
    "first item",
    "second item",
    "третий элемент"
  ],
  "simple_key": "Простой ключ, простое сообщение, так просто.",
  "unverified_key": "Этот перевод еще не подтвержден и ждет подтверждения." (В некоторых форматах мы также экспортируем этот статус)"
}

React-Intl Вложенный JSON

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": "Проверьте это!" У этого ключа есть описание! (По крайней мере, в некоторых форматах это так)",
  "key_with_line-break": "Это перевод содержит\nперенос строки.",
  "nested": {
    "deeply": {
      "key": "Эй, этот ключ вложен еще глубже."
    },
    "key": "Этот ключ вложен внутри пространства имен."
  },
  "null_translation": null,
  "pluralized_key": {
    "one": "Найдено только одно множественное число.",
    "other": "Ого, у вас %s множественных чисел!","
    "zero": "У вас нет множественного числа."
  },
  "sample_collection": [
    "first item",
    "second item",
    "третий элемент"
  ],
  "simple_key": "Простой ключ с простым сообщением.",
  "unverified_key": "Этот перевод еще не подтвержден и ждет подтверждения." (В некоторых форматах мы также экспортируем этот статус)"
}

Chrome JSON i18n

Локализованные строки для расширений 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": "Как вас зовут?",
    "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 JSON

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}} день",
      "other": "{{.Count}} дня"
    }
  },
  {
    "id": "my_height_in_meters",
    "translation": {
      "one": "Я {{.Count}} метр ростом.",
      "other": "Я {{.Count}} метра ростом."
    }
  },
  {
    "id": "person_greeting",
    "translation": "Привет {{.Person}}"
  },
  {
    "id": "person_unread_email_count",
    "translation": {
      "one": "{{.Person}} имеет {{.Count}} непрочитанное письмо.",
      "other": "{{.Person}} имеет {{.Count}} непрочитанных писем."
    }
  },
  {
    "id": "person_unread_email_count_timeframe",
    "translation": {
      "one": "{{.Person}} имеет {{.Count}} непрочитанное письмо за последние {{.Timeframe}}.",
      "other": "{{.Person}} имеет {{.Count}} непрочитанных писем за последние {{.Timeframe}}."
    }
  },
  {
    "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/.*

  • Исключить только конкретные ключи (используйте регулярное выражение): 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": "Это перевод содержит\nперенос строки.",
  "nested.deeply.key": "Я глубоко вложенный ключ.",
  "nested.key": "Этот ключ вложен внутри пространства имен.",
  "null_translation": null,
  "pluralized_key": {
    "one": "Найдено только одно множественное число.",
    "other": "Ого, у вас %s множественных чисел!","
    "zero": "У вас нет множественного числа."
  },
  "sample_collection": [
    "first item",
    "second item",
    "третий элемент"
  ],
  "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.