Skip to main content
Назад к глоссарию
Термин глоссария

TMX (Translation Memory eXchange)

Аббревиатура: TMX

Открытый XML-стандарт для обмена данными памяти переводов между различными CAT-системами и системами управления переводами.

4 мин чтения
формат файластандартпамять переводовсовместимостьXML

Что такое TMX?

TMX (Translation Memory eXchange) — это открытый XML-стандарт, разработанный для обмена данными памяти переводов (TM) между различными CAT-системами и системами локализации. Разработанный LISA (Localization Industry Standards Association), TMX позволяет организациям обмениваться и переносить переводческие активы независимо от используемого программного обеспечения.

TMX стал фактическим стандартом для обмена TM и поддерживается практически всеми CAT-системами в индустрии.

Версии TMX

TMX 1.1 (1998)

Оригинальная спецификация, устанавливающая базовую структуру.

TMX 1.4 (2004)

Наиболее широко поддерживаемая версия:

  • Улучшенная обработка метаданных
  • Лучшая поддержка кодировок символов
  • Расширенные свойства на уровне сегментов
  • До сих пор наиболее распространённая версия в использовании

TMX 2.0 (черновик)

Предложенные обновления, которые не были завершены из-за роспуска LISA.

Структура TMX

Базовая структура

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tmx SYSTEM "tmx14.dtd">
<tmx version="1.4">
  <header
    creationtool="KTTC"
    creationtoolversion="1.0"
    datatype="plaintext"
    segtype="sentence"
    adminlang="en"
    srclang="en"
    o-tmf="KTTC"/>
  <body>
    <tu>
      <tuv xml:lang="en">
        <seg>Hello, world!</seg>
      </tuv>
      <tuv xml:lang="ru">
        <seg>Привет, мир!</seg>
      </tuv>
    </tu>
  </body>
</tmx>

Ключевые элементы

ЭлементОписание
<tmx>Корневой элемент с атрибутом версии
<header>Метаданные о TM
<body>Контейнер для единиц перевода
<tu>Единица перевода (исходник + переводы)
<tuv>Вариант единицы перевода (один язык)
<seg>Фактический текст сегмента
<prop>Пользовательские свойства
<note>Комментарии и заметки

Атрибуты заголовка

<header
  creationtool="Название CAT-системы"
  creationtoolversion="3.0"
  datatype="plaintext"
  segtype="sentence"
  adminlang="en"
  srclang="en-US"
  o-tmf="native-format">
</header>
АтрибутОписание
creationtoolНазвание создающего приложения
creationtoolversionВерсия создающего приложения
datatypeТип данных (plaintext, html, xml и т.д.)
segtypeТип сегментации (sentence, paragraph, phrase)
adminlangАдминистративный язык
srclangКод исходного языка
o-tmfОригинальный формат TM

Детали единицы перевода (TU)

Базовая TU

<tu tuid="001" creationdate="20241220T120000Z">
  <tuv xml:lang="en">
    <seg>Welcome to our platform.</seg>
  </tuv>
  <tuv xml:lang="ru">
    <seg>Добро пожаловать на нашу платформу.</seg>
  </tuv>
</tu>

TU с метаданными

<tu
  tuid="002"
  creationdate="20241220T120000Z"
  creationid="translator1"
  changedate="20241221T150000Z"
  changeid="reviewer1"
  lastusagedate="20241222T100000Z"
  usagecount="5">
  <prop type="domain">legal</prop>
  <prop type="project">Перевод договора</prop>
  <prop type="client">ООО Компания</prop>
  <note>Одобрено юридическим отделом</note>
  <tuv xml:lang="en">
    <seg>This agreement shall be governed by...</seg>
  </tuv>
  <tuv xml:lang="ru">
    <seg>Настоящее соглашение регулируется...</seg>
  </tuv>
</tu>

Многоязычная TU

<tu tuid="003">
  <tuv xml:lang="en">
    <seg>Save</seg>
  </tuv>
  <tuv xml:lang="ru">
    <seg>Сохранить</seg>
  </tuv>
  <tuv xml:lang="de">
    <seg>Speichern</seg>
  </tuv>
  <tuv xml:lang="zh">
    <seg>保存</seg>
  </tuv>
</tu>

Встроенные элементы

TMX поддерживает встроенные элементы для сохранения форматирования:

Распространённые встроенные теги

ТегНазначениеПример
<bpt>Начало парного тега<bpt i="1">&lt;b&gt;</bpt>
<ept>Конец парного тега<ept i="1">&lt;/b&gt;</ept>
<ph>Плейсхолдер<ph>{0}</ph>
<it>Изолированный тег<it>&lt;br/&gt;</it>
<hi>Выделение<hi>термин</hi>
<ut>Неизвестный тегДля нераспознанной разметки

Пример с форматированием

<tu>
  <tuv xml:lang="en">
    <seg>Click the <bpt i="1">&lt;b&gt;</bpt>Save<ept i="1">&lt;/b&gt;</ept> button.</seg>
  </tuv>
  <tuv xml:lang="ru">
    <seg>Нажмите кнопку <bpt i="1">&lt;b&gt;</bpt>Сохранить<ept i="1">&lt;/b&gt;</ept>.</seg>
  </tuv>
</tu>

Коды языков

TMX использует коды языков BCP 47 / ISO:

КодЯзык
enАнглийский (общий)
en-USАнглийский (США)
en-GBАнглийский (Великобритания)
ruРусский
deНемецкий (общий)
de-DEНемецкий (Германия)
frФранцузский (общий)
zh-CNКитайский (упрощённый)
zh-TWКитайский (традиционный)
jaЯпонский
koКорейский

Лучшие практики

Создание файлов TMX

  1. Используйте кодировку UTF-8

    • Всегда указывайте encoding="UTF-8"
    • Избегайте устаревших кодировок
  2. Включайте метаданные

    • Устанавливайте дату создания
    • Включайте информацию о создателе
    • Добавляйте свойства домена/проекта
  3. Согласованные коды языков

    • Используйте стандартные коды BCP 47
    • Будьте последовательны с региональными вариантами
  4. Валидируйте перед экспортом

    • Проверяйте корректность XML
    • Валидируйте по TMX DTD

Импорт TMX

  1. Проверяйте кодировку

    • Убедитесь, что кодировка файла соответствует объявлению
    • Обрабатывайте BOM при наличии
  2. Обрабатывайте дубликаты

    • Определите стратегию разрешения дубликатов
    • Учитывайте исходный текст + контекст
  3. Сопоставляйте коды языков

    • Обрабатывайте сопоставление вариантов (en vs en-US)
    • Документируйте любые преобразования

Качество TMX

ПроблемаРешение
Ошибки кодировкиКонвертируйте в UTF-8
Отсутствующие коды языковДобавьте атрибуты xml:lang
Невалидный XMLВалидируйте и исправьте структуру
Дублирующиеся TUОбъединяйте или дедуплицируйте
Отсутствующие метаданныеДобавьте информацию в заголовок

TMX vs другие форматы

TMX vs XLIFF

АспектTMXXLIFF
НазначениеОбмен TMЛокализация документов
ФокусПары сегментовПолный рабочий процесс
СодержимоеЗавершённые переводыРабота в процессе
МетаданныеСпецифичные для TMСпецифичные для процесса

TMX vs TBX

АспектTMXTBX
СодержимоеПары сегментовТерминологические записи
СтруктураИсходник + ПереводТермины + определения
ПрименениеПовторное использование переводовСогласованность терминологии

Распространённые проблемы и решения

Кодировка символов

Проблема: Специальные символы отображаются некорректно. Решение: Обеспечьте кодировку UTF-8 и правильное экранирование XML.

<!-- Правильное экранирование -->
<seg>Цена: &lt;100₽ &amp; бесплатная доставка</seg>

Обработка больших файлов

Проблема: Файлы TMX слишком большие для обработки. Решения:

  • Разделите по языковым парам
  • Разделите по проектам/доменам
  • Используйте потоковые XML-парсеры

Совместимость версий

Проблема: Разные инструменты поддерживают разные версии TMX. Решение: Экспортируйте как TMX 1.4b для максимальной совместимости.

FAQ

В чём разница между TMX и TM?

TM (Translation Memory) — это база данных переводов, тогда как TMX — это формат файла, используемый для экспорта и обмена этими данными между различными системами.

Может ли TMX хранить несколько языковых пар?

Да, один файл TMX может содержать переводы на нескольких языках. Каждая TU может иметь несколько элементов TUV для разных целевых языков.

Каков максимальный размер файла TMX?

Технического ограничения нет, но очень большие файлы (миллионы TU) могут вызвать проблемы с производительностью. Рекомендуется разбивать файлы больше 100 МБ.

Как конвертировать между версиями TMX?

Большинство CAT-систем автоматически обрабатывают конвертацию версий при импорте/экспорте. Для ручной конвертации убедитесь, что все необходимые элементы присутствуют для целевой версии.

TMX всё ещё отраслевой стандарт?

Да, TMX 1.4b остаётся наиболее широко поддерживаемым форматом для обмена TM. Хотя XLIFF используется для проектных файлов, TMX является стандартом для обмена данными TM.

Может ли TMX сохранять форматирование?

Да, с использованием встроенных элементов (bpt, ept, ph, it) для представления тегов форматирования. Однако конкретная обработка варьируется между CAT-системами.

Связанные термины

Часто задаваемые вопросы

В чём разница между TMX и TM?

TM (Translation Memory) — это база данных переводов, тогда как TMX — это формат файла, используемый для экспорта и обмена этими данными между различными системами.

Может ли TMX хранить несколько языковых пар?

Да, один файл TMX может содержать переводы на нескольких языках. Каждая TU может иметь несколько элементов TUV для разных целевых языков.

Каков максимальный размер файла TMX?

Технического ограничения нет, но очень большие файлы (миллионы TU) могут вызвать проблемы с производительностью. Рекомендуется разбивать файлы больше 100 МБ.

Как конвертировать между версиями TMX?

Большинство CAT-систем автоматически обрабатывают конвертацию версий при импорте/экспорте. Для ручной конвертации убедитесь, что все необходимые элементы присутствуют для целевой версии.

TMX всё ещё отраслевой стандарт?

Да, TMX 1.4b остаётся наиболее широко поддерживаемым форматом для обмена TM. Хотя XLIFF используется для проектных файлов, TMX является стандартом для обмена данными TM.

Может ли TMX сохранять форматирование?

Да, с использованием встроенных элементов (bpt, ept, ph, it) для представления тегов форматирования. Однако конкретная обработка варьируется между CAT-системами.

Команда KTTC
Эксперты по технологиям перевода
4 мин чтения

We use cookies to improve your experience. Learn more in our Cookie Policy.