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

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

3 мин чтения

Как устроен XML

Файл состоит из элементов: открывающий и закрывающий тег обрамляют содержимое, а в теге могут быть атрибуты. Переводчику нужны только текстовые значения. Например, в ресурсном файле Android строки хранятся так:

<resources>

  <string name="save">Save</string>

  <string name="app_name" translatable="false">MyApp</string>

</resources>

Здесь переводится текст внутри тега string, а атрибут name служит ключом и остается неизменным. Атрибут translatable="false" помечает строки, которые переводить не нужно.

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

Переводят содержимое элементов: названия, описания, подписи, сообщения. Теги, имена атрибутов и ключи менять нельзя, иначе приложение или сайт не найдет нужную строку. Иногда переводятся и значения некоторых атрибутов, например alt и title у изображений в разметке сайта. Решение зависит от схемы файла, поэтому перед переводом нужно определить, какие элементы считаются текстом для локализации.

Особое внимание нужно спецсимволам. Знаки &, < и > в XML записывают как сущности: &amp;, &lt;, &gt;. Их нужно сохранить как есть. Текст с разметкой может быть заключен в блок CDATA, внутри которого теги не считаются частью структуры. Кроме того, для кодировки обычно используют UTF-8.

Зачем использовать XML для локализации

Формат читается и людьми, и программами, а его структура строго задана. Из любой системы управления контентом можно выгрузить тексты в XML, а потом загрузить переводы обратно. Поэтому формат подходит для сайтов и интернет-магазинов с большим каталогом, где CMS выгружает контент автоматически. На основе XML построен и формат обмена XLIFF.

Как выстроить процесс с XML-файлами

Сначала определите, какие элементы нужно переводить, и исключите технические значения. Затем настройте выгрузку из источника: CMS, приложения или репозитория. Подключите интеграцию с платформой перевода, например через API, и проверьте цепочку на небольшом файле. После перевода убедитесь, что структура не нарушена и теги закрыты правильно, а затем загрузите файлы обратно.

Платформа перевода поддерживает XML среди форматов локализации. Например, при локализации крупного каталога интернет-магазина содержимое сайта можно преобразовать в XML и загружать в проект по открытому API. Подробнее — на странице Платформы перевода.

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

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

FAQ

Какие данные в XML переводят?

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

Чем XML отличается от XLIFF?

XML — общий формат разметки. XLIFF построен на его основе и предназначен специально для обмена данными между системами локализации.

Можно ли переводить XML вручную в текстовом редакторе?

Технически да, но так проще повредить структуру. Лучше использовать редактор системы перевода, который защищает теги.

Какую кодировку использовать?

Для локализации рекомендуют UTF-8, она поддерживает символы всех языков.

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

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