Перевод файлов XLIFF 1.2
XLIFF помещает исходный текст и перевод рядом, с тегами внутри. Перемещение или удаление одного тега приведет к потере плейсхолдера или ссылки в приложении. KAERIS сохраняет теги и сообщает вам, если один из них отсутствует.
Эту страницу перевёл KAERIS и проверил каждую строку обратным переводом. Носитель языка ещё не проверял. Оригинал на английском
Как строится файл XLIFF 1.2
Каждый <trans-unit> содержит <source> и <target>. Внутри текста <x/>, <g> и <ph> обозначают переменные и разметку. messages.xlf Angular имеет этот формат.
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" target-language="de" datatype="plaintext" original="app">
<body>
<trans-unit id="welcome">
<source>Welcome back, <x id="1" ctype="x-name"/>!</source>
</trans-unit>
<trans-unit id="terms">
<source>I accept the <g id="2" ctype="x-link">terms</g>.</source>
</trans-unit>
</body>
</file>
</xliff>
На что обратить внимание при переводе XLIFF
Встроенные теги — это плейсхолдеры
<x id="1"/>— это переменная,<g>…</g>оборачивает ссылку или выделение. Они сохраняются как необработанная разметка и сравниваются с исходным текстом.Один файл, два языка
Атрибут
target-languageи каждый<target>должны совпадать. Проверка считывает каталог целиком, поэтому одного файла достаточно.Только версия 1.2
XLIFF 2.0 имеет другую структуру (
<unit><segment>). Он отклоняется с сообщением вместо частичного чтения.Не переводите атрибуты тегов
Атрибуты
ctypeиidявляются структурой, а не текстом.
Реальный запуск: переведено на немецкий и проверено
Реальный запуск, 27 октября 2026 г., ничего не редактировалось вручную: kaeris translate messages.xlf --langs de с kaeris 0.2.35, 1,9 секунды, модель google/gemini-2.5-flash-lite, стандартный бесплатный тариф. Ниже приведен немецкий файл, который он написал, и что говорит kaeris check об этом.
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="app" source-language="en" target-language="de" datatype="plaintext">
<body>
<trans-unit id="welcome">
<source>Welcome back, <x id="1" ctype="x-name" />!</source>
<target state="translated">Willkommen zurück, <x id="1" ctype="x-name" />!</target>
</trans-unit>
<trans-unit id="terms">
<source>I accept the <g id="2" ctype="x-link">terms</g>.</source>
<target state="translated">Ich akzeptiere die <g id="2" ctype="x-link">Nutzungsbedingungen</g>.</target>
</trans-unit>
</body>
</file>
</xliff>
$ kaeris check --source messages.xlf --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
Что KAERIS делает с этим
Теги сохранены
Встроенные теги сохраняются как необработанный XML, а отсутствующий тег сообщается бесплатной проверкой.
Состояния записаны
Каждый переведенный
<target>записывается сstate="translated".Бесплатная проверка для этого формата
Бесплатная проверка на /check считывает этот формат и работает без ключа или учетной записи. Команда терминала
kaeris checkтакже считывает его: она обрабатывает все 13 форматов начиная с kaeris 0.2.35, с теми же правилами и без отправки данных куда-либо.
Выполните в три шага
Установите CLI
Выполните
pip install kaeris.Перевести файл
Запустите
kaeris translate src/locale/messages.xlf --langs de,ja.Проверить результат
Откройте бесплатную страницу проверки и загрузите переведенный файл. Каталог с исходным текстом и переводом в одном файле проверяется целиком.
pip install kaeris kaeris translate src/locale/messages.xlf --langs de,ja --verify
Вопросы
Поддерживается ли XLIFF 2.0?
Нет. Поддерживается версия 1.2; файл версии 2.0 отклоняется с соответствующим сообщением.
Это бесплатно?
Да, без учетной записи: 10 000 символов на файл и до 8 языков за запуск. Бесплатный API-ключ увеличивает лимит файлов до 50 000 символов. Пожизненная лицензия стоит $79 один раз, при использовании вашего собственного ключа OpenRouter; ежемесячные планы начинаются от $19. Цены
Могу ли я запускать его из терминала или в CI?
Да. pip install kaeris, затем kaeris translate src/locale/messages.xlf --langs de,ja. См. также Angular. GitHub Action выполняет тот же перевод в pull request. Документация CLI · GitHub Action
Продолжайте
Справочник по CLI · Справочник по проверке · Перевести в браузере · Бесплатная проверка · Конвертировать форматы · Псевдолокализация
Другие форматы: JSON · YAML · .po · ARB · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML