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

.JSON - JavaScript Object Notation (TMS)

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

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

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

ВАЖНО:

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

Типы файлов

  • .JSON

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

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

    Сообщения ICU автоматически конвертируются в теги. Файлы с сообщениями ICU не могут содержать строковые элементы.

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

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

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

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

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

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

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

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

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

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

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

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

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

Simple JSON

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

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 Simple 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": "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 Nested 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": "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 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": "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 JSON

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 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": "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": "Этот перевод еще не подтвержден и ждет подтверждения. (В некоторых форматах мы также экспортируем этот статус.)"
}
Была ли эта статья полезной?

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.