Справочный центр

Правила разбора файлов
*.json

Правила синтаксического разбора файлов *.json для проекта локализации приложений
Исходные файлы
Назначение файлов:
.json файл - это файл, содержащий данные описанные с помощью текстового формата обмена данными, основанного на JavaScript. Несмотря на происхождение от JavaScript (точнее, от подмножества языка стандарта ECMA-262 1999 года), формат считается независимым от языка и может использоваться практически с любым языком программирования.


Пример исходного .json файла:
{ 

  "Адресная книга": "Address book",
  "Поиск сотрудников": "Employee search",
  "Результаты поиска": "Search results"
 "Цвет": ["Red", "Blue", "Green", "Yellow"]
}
Анализ
JSON-текст представляет собой (в закодированном виде) одну из двух структур:

  • Набор пар ключ:значение. В различных языках это реализовано как запись, структура, словарь, хеш-таблица, список с ключом или ассоциативный массив. Ключом может быть только строка (регистрозависимая: имена с буквами в разных регистрах считаются разными), значением — любая форма.

  • Упорядоченный набор значений. Во многих языках это реализовано как массив, вектор, список или последовательность.

Это универсальные структуры данных: как правило, любой современный язык программирования поддерживает их в той или иной форме. Они легли в основу JSON, так как он используется для обмена данными между различными языками программирования.

В качестве значений в JSON могут быть использованы:

  • Запись — это неупорядоченное множество пар ключ:значение, заключённое в фигурные скобки «{ }». Ключ описывается строкой, между ним и значением стоит символ «:». Пары ключ-значение отделяются друг от друга запятыми.

  • Массив (одномерный) — это упорядоченное множество значений. Массив заключается в квадратные скобки «[ ]». Значения разделяются запятыми.

  • Число.

  • Литералы true, false и null.

  • Строка — это упорядоченное множество из нуля или более символов юникода, заключённое в двойные кавычки. Символы могут быть указаны с использованием escape-последовательностей, начинающихся с обратной косой черты «\» (поддерживаются варианты \', \", \\, \/, \t, \n, \r, \f и \b), или записаны шестнадцатеричным кодом в кодировке Unicode в виде \uFFFF.
Основные ключи с текстом рассмотрим на примере ниже:
{ 
    "CONNECTION_CLOSED": "Connection lost. Please refresh the page.",
    "PLACES_COMBOBOX_PLACEHOLDER": "Select a locality...",
    "BASES_COMBOBOX_PLACEHOLDER": "Select a subdivision...",
    "ZONES_COMBOBOX_PLACEHOLDER": "Select an area...",
    "STREETS_COMBOBOX_PLACEHOLDER": "Select a street...",
    "MENU_TILE_SERVER": "Maps",
    "Colours": ["Red", "Blue", "Green", "Yellow"],
    "Vehicles": {"Car": "das Auto",
                 "Bike": "das Fahrrad"}
}
Описание ключей:

1. имя_ключа
a. Назначение: контекст.
b. Пример: CONNECTION_CLOSED.
c. Пояснение: левая часть строки/пары ключ-значение.

2.исходное_значение | переведенное_значение
a. Назначение: исходная строка | строка перевода.
b. Пример: Connection lost. Please refresh the page.
c. Пояснение: правая часть строки/пары ключ-значение. Может представлять из себя сложную строку (массив значений), заключенный в символы [].

Описание ключей для составных объектов:

  1. имя_ключа
a. Назначение: контекст.
b. Пример: Vehicles. Car.
c. Пояснение: левая часть строки/пары ключ-значение + глубина вложения.

2. исходное_значение | переведенное_значение
a. Назначение: исходная строка | строка перевода.
b. Пример: das Auto.
c. Пояснение: правая часть строки/пары ключ-значение + глубина вложения. Может представлять из себя сложную строку (массив значений), заключенный в символы [].

Процесс перевода:
1. Чтобы получить локализованное приложение, необходимо перевести .json файлы на нужные языки.
2. Мы предлагаем воспользоваться для перевода нашим онлайн-сервисом alingvo. Сервис:
  • загружает исходные файлы
  • преобразует их в строки для перевода
  • предоставляет удобный для переводчика интерфейс
  • формирует целевые файлы локализации