Lingo.dev + .xml (Данные)
Lingo.dev CLI переводит XML-файлы, сохраняя структуру документа, атрибуты, пространства имен и соответствие схемам. CLI поддерживает соответствие XML-схемам и DTD, сохраняет все объявления пространств имен и префиксы, сохраняет точную иерархию и форматирование XML, корректно обрабатывает различные кодировки символов и гарантирует, что выходные данные проходят проверку инструментами валидации XML.
Быстрая настройка
Настройте для XML-файлов с именованием на основе локали:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"xml": {
"include": ["data/[locale].xml"]
}
}
}
Напоминание: [locale]
— это заполнитель, который должен оставаться в конфигурации буквально, так как он заменяется на фактическую локаль во время выполнения CLI.
Перевод содержимого XML
npx lingo.dev@latest i18n
Сохраняет структуру XML, атрибуты, пространства имен и схемы документа при переводе текстового содержимого.
Обработка структуры XML
Содержимое элементов
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<product id="123">
<name>Премиум-виджет</name>
<description>Высококачественный виджет для профессионалов</description>
<category>Инструменты</category>
</product>
</catalog>
Текстовое содержимое внутри элементов переводится, при этом структура XML остается неизменной.
Перевод атрибутов
<item title="Руководство пользователя" description="Полное руководство">
<help tooltip="Нажмите для получения помощи">Начало работы</help>
</item>
Переводимые атрибуты обрабатываются, а технические атрибуты остаются неизменными.
Обработка смешанного содержимого
<documentation>
<section title="Введение">
Добро пожаловать в наше <emphasis>подробное</emphasis> руководство.
Посетите <link href="/help">наш центр помощи</link> для получения дополнительной информации.
</section>
</documentation>
Смешанное текстовое и элементное содержимое обрабатывается корректно.
Расширенные функции XML
Поддержка пространств имен
<root xmlns:ui="http://example.com/ui"
xmlns:data="http://example.com/data">
<ui:label>Приветственное сообщение</ui:label>
<data:content ui:title="Заголовок страницы">
Здесь находится содержимое
</data:content>
</root>
Пространства имен и префиксы XML сохраняются в точности.
Секции CDATA
<content>
<![CDATA[
Это необработанное содержимое, которое не будет переведено,
включая <tags> и специальные символы.
]]>
</content>
<message>Этот текст будет переведен</message>
Секции CDATA остаются нетронутыми, в то время как обычное текстовое содержимое обрабатывается.
Инструкции по обработке
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<document>
<title>Document Title</title>
</document>
Инструкции по обработке и объявления XML сохраняются.
Расширенная конфигурация
Несколько XML-файлов
"xml": {
"include": [
"data/[locale].xml",
"config/[locale]/*.xml"
]
}
Блокировка технических элементов
"xml": {
"include": ["data/[locale].xml"],
"lockedKeys": ["id", "version", "timestamp", "schema"]
}