YML-файлы в локализации

YML это расширение для файлов формата YAML, и в локализации таких файлов встречается немало. YAML используют для хранения строк интерфейса, конфигурации приложения и метаданных контента. Когда компания локализует приложение, YML-файлы часто содержат тексты, которые нужно перевести, и параметры, которые трогать нельзя.

3 мин чтения

Как устроен YAML

YAML это текстовый формат для представления структурированных данных. Он использует вложенность через отступы, пары ключ и значение и списки. Простой пример файла локализации:

menu:
  home: "Главная"
  settings: "Настройки"
  profile: "Профиль"

buttons:
  save: "Сохранить"
  cancel: "Отмена"
  delete: "Удалить"

messages:
  success: "Операция выполнена успешно"
  error: "Произошла ошибка"

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

Почему YML-файлы требуют осторожности

Первая причина: YAML чувствителен к отступам. Если при переводе сдвинуть отступ, структура сломается и приложение не загрузит файл. Вторая: внутри значения может быть HTML или разметка, которую нельзя менять. Третья: некоторые значения содержат подстановки переменных или ссылки, которые тоже не трогают.

Четвёртая: длина строки. В интерфейсе у строки часто есть ограничение по длине. Английское слово помещается в кнопку, русский перевод длиннее и вылезает. Это нужно учитывать при переводе и проверке.

Что переводится, а что нет

В YML-файле локализации не всё подлежит переводу. Переводятся текстовые значения, которые видит пользователь. Не переводятся ключи, они это идентификаторы в коде. Не переводятся технические параметры, размеры, цвета, URL. Не переводятся подстановки переменных и ссылки на ресурсы.

На практике полезно заранее пометить, какие строки свободны, а какие привязаны. Это экономит время и снижает риск сломать файл.

Как выстроить процесс работы с YML

Подход такой. Файл извлекается, строки выгружаются в формат для перевода, например XLIFF. Перевод выполняется с учётом глоссария интерфейса, чтобы названия кнопок и разделов были единообразны. После перевода строки возвращаются в YML, файл валидируется и приложение проверяется.

В Платформе перевода этот процесс автоматизирован. YML-файл подключается, строки извлекаются, переводятся с учётом глоссария и памяти переводов, проходят агентские проверки и возвращаются в исходную структуру. Файл валидируется автоматически, и команда получает результат, готовый к загрузке в приложение.

Для локализации мобильных приложений и локализации ПО YML часто встречается как основной формат хранения строк. Если вы локализуете приложение и строки лежат в YAML, важно заранее определить, кто отвечает за структуру файла и кто за текст, и как они согласуют изменения.

Частые ошибки

Типичная ошибка это перевод ключей вместо значений. Ключ это идентификатор, он должен остаться без изменений. Вторая: нарушение отступов. Третья: изменение подстановок переменных или HTML-разметки внутри строки. Четвёртая: неучтённая длина строки, когда перевод не помещается в элемент интерфейса.

FAQ

Что такое YML-файл в локализации?

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

Можно ли переводить YAML-файл вручную?

Технически да, но не рекомендуется. YAML чувствителен к отступам, и ручное редактирование легко ломает структуру. Лучше использовать CAT-систему или Платформу перевода, которая работает с YAML корректно.

Что нельзя переводить в YML-файле?

Ключи, технические параметры, подстановки переменных, HTML-разметку внутри строк, URL и ссылки на ресурсы. Переводятся только текстовые значения, которые видит пользователь.

Как Платформа перевода работает с YML-файлами?

Платформа извлекает строки из YAML, переводит их с учётом глоссария и памяти переводов, проходит агентские проверки и возвращает результат в исходную структуру. Файл валидируется автоматически.

Почему важна длина строки при переводе YML?

В интерфейсе у элементов есть ограничения по размеру. Если перевод длиннее исходной строки, он может не поместиться в кнопку или заголовок. Это нужно проверять на этапе LQA.

Попробуйте на практике

Глоссарии, память переводов и контроль качества уже есть в Платформе перевода.