# DITA Translation: Reuse, Conrefs and What Breaks | Vitra.ai

> DITA is built for reuse, and reuse is exactly what makes translation different. A topic written once is translated once and appears everywhere as well.

**Canonical URL**: https://www.vitra.ai/general/dita-translation-guide
**Source**: This is the Markdown rendering of https://www.vitra.ai/general/dita-translation-guide, generated at build time from that page.

---

4 min read

# DITA Translation: Reuse, Conrefs and What Breaks

DITA is built for reuse, and reuse is exactly what makes translation different. A topic written once is translated once and appears everywhere as well.

[Samhitha J Bhatt](https://www.vitra.ai/author/samhitha)
Senior Product Manager , Vitra.ai
Updated Aug 17, 2026

![DITA Translation: Reuse, Conrefs and What Breaks](https://www.vitra.ai/static/images/blog/dita-translation-guide.jpg)

Table of contents

[Reuse changes the economics](#reuse-changes-the-economics)

[Conrefs point at content that must exist](#conrefs-point-at-content-that-must-exist)

[Keyrefs are indirection, and safer](#keyrefs-are-indirection-and-safer)

[Conditional profiling multiplies the matrix](#conditional-profiling-multiplies-the-matrix)

[What must never change](#what-must-never-change)

[Where memory pays hardest](#where-memory-pays-hardest)

[Maps and the assembly layer](#maps-and-the-assembly-layer)

[Localization kits and vendor handoff](#localization-kits-and-vendor-handoff)

[Where to start](#where-to-start)

[FAQ](#faq)

Contributors

[Samhitha J Bhatt](https://www.vitra.ai/author/samhitha)
Senior Product Manager

Subscribe to our newsletter

Subscribe

> **Quick answer —** DITA's whole premise is that a topic is authored once and assembled into many deliverables. That makes translation efficient and it makes content references, key references and conditional profiling the things that break when handled carelessly.

## Reuse changes the economics

In an unstructured documentation set, the same warning appears in nine manuals and is translated nine times. In DITA it is one topic referenced nine times, so it is translated once. That is the argument for DITA and it holds up. A structured set typically has far less unique text than its page count suggests, and translation cost tracks unique content rather than output volume.

## Conrefs point at content that must exist

A `conref` pulls an element from another topic. When the target is translated, the reference resolves to the translated element — provided the target exists in that language and keeps the same element ID. Break the ID during translation and the reference resolves to nothing. The output builds with a gap where the reused warning should be, and nobody notices because the build does not fail.

## Keyrefs are indirection, and safer

`keyref` resolves through a key definition in the [map](https://www.vitra.ai/general/translate-a-ditamap) rather than pointing directly at content. That indirection is what lets one topic produce different output per product or per market.

Key definitions live in the map, so translating them is a map-level job rather than a topic-level one — which is easy to miss when the topics are what get handed to a translation process.

## Conditional profiling multiplies the matrix

`audience`, `product`, `platform` and `rev` attributes filter content at build time. A topic can therefore contain text that only appears for one product.

Filtered-out content still needs translating if that product ships in that language, and it is invisible in the rendered output used for review. Translate the source, review the built output for each profile.

## What must never change

Element IDs, `@id` attributes, key names, `@conref` and `@keyref` targets, and anything inside a `codeblock`.

Those are structure and code, and the DTD or schema will reject a file that breaks them — which is the good case, because it fails loudly.

## Where memory pays hardest

Technical documentation is the most repetitive content there is. Procedures, warnings, parameter tables and prerequisite lists recur constantly.

[translation memory](https://www.vitra.ai/features/translation-memory) returns those unchanged across releases and across products, and it is what keeps one term rendered identically across a set no reviewer could read end to end.

[quality control](https://www.vitra.ai/features/quality-control) then handles the sampling rather than the whole.

## Maps and the assembly layer

Topics are content; the map is the assembly. Both need translating, and a translated topic set assembled by an English map produces a deliverable with a translated body and an English table of contents.

The map side is covered on the [DITA map integration](https://www.vitra.ai/integration/ditamap) page, and the topic side on the [DITA translation integration](https://www.vitra.ai/integration/dita-translation) page.

## Localization kits and vendor handoff

DITA toolchains can produce a localization kit: the topics that changed, their dependencies, and the map context needed to make sense of them. Sending the whole set instead is the common alternative and it is wasteful.

Generate the kit from the diff rather than the repository. It is the difference between paying for what changed and paying for the archive again.

## Where to start

Run one map end to end and build the output. The build is what reveals broken conrefs, and it reveals them all at once rather than one support ticket at a time.

## FAQ

**Why is DITA cheaper to translate?** Because content is authored once and reused. A warning appearing in nine manuals is one topic referenced nine times, so it is translated once and cost tracks unique content rather than page count.

**What happens if a conref breaks during translation?** The reference resolves to nothing and the output builds with a silent gap where the reused content should be. The build does not fail, so it is usually found by a reader rather than by the process.

**Do conditional attributes affect translation?** Yes. Filtered-out content still needs translating if that product or audience ships in that language, and it is invisible in the rendered output people review, so review has to cover each profile.

**Does the DITA map need translating too?** Yes. Topics are content and the map is the assembly, including key definitions. A translated topic set assembled by an English map produces a translated body with an English table of contents.

Our blog

## Lastest blog posts

Tool and strategies modern teams need to help their companies grow.

Automotive

[Automotive Brochure Localization by Market](https://www.vitra.ai/automotive/automotive-brochure-localization)
A car brochure is a spec grid, a legal footer and a photo library, all market-specific. What actually has to change, and why the layout decides the schedule.

[Samhitha J Bhatt](https://www.vitra.ai/author/samhitha)
Aug 18, 2026

Automotive

[Automotive Campaign Localization Across Markets](https://www.vitra.ai/automotive/automotive-campaign-localization)
Campaigns run through national companies and dealer networks, so one master becomes hundreds of files. Where the offer text and the disclaimers actually break.

[Samhitha J Bhatt](https://www.vitra.ai/author/samhitha)
Aug 18, 2026

Automotive

[Car Service Manual Translation for Technicians](https://www.vitra.ai/automotive/automotive-service-manual-translation)
A workshop manual is read mid-repair by someone with the car on a lift. What that demands of procedures, torque figures and fault codes, in every language.

[Samhitha J Bhatt](https://www.vitra.ai/author/samhitha)
Aug 18, 2026

[View all posts](https://www.vitra.ai/blog/page/1)

---

## Structured data

```json
{
  "@context": "https://schema.org",
  "@type": "Article",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://www.vitra.ai/general/dita-translation-guide"
  },
  "headline": "DITA Translation: Reuse, Conrefs and What Breaks",
  "image": [
    {
      "@type": "ImageObject",
      "url": "https://www.vitra.ai/static/images/blog/dita-translation-guide.jpg"
    }
  ],
  "datePublished": "2026-08-17T00:00:00.000Z",
  "dateModified": "2026-08-17T00:00:00.000Z",
  "author": [
    {
      "@type": "Person",
      "name": "Samhitha J Bhatt"
    }
  ],
  "publisher": {
    "@type": "Organization",
    "name": "Vitra.ai",
    "logo": {
      "@type": "ImageObject",
      "url": "https://www.vitra.ai/static/images/vitra-v-logo.png"
    }
  },
  "description": "DITA is built for reuse, and reuse is exactly what makes translation different. A topic written once is translated once and appears everywhere as well."
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://www.vitra.ai"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "General",
      "item": "https://www.vitra.ai/general"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "DITA Translation: Reuse, Conrefs and What Breaks",
      "item": "https://www.vitra.ai/general/dita-translation-guide"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Why is DITA cheaper to translate?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Because content is authored once and reused. A warning appearing in nine manuals is one topic referenced nine times, so it is translated once and cost tracks unique content rather than page count."
      }
    },
    {
      "@type": "Question",
      "name": "What happens if a conref breaks during translation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The reference resolves to nothing and the output builds with a silent gap where the reused content should be. The build does not fail, so it is usually found by a reader rather than by the process."
      }
    },
    {
      "@type": "Question",
      "name": "Do conditional attributes affect translation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Filtered-out content still needs translating if that product or audience ships in that language, and it is invisible in the rendered output people review, so review has to cover each profile."
      }
    },
    {
      "@type": "Question",
      "name": "Does the DITA map need translating too?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Topics are content and the map is the assembly, including key definitions. A translated topic set assembled by an English map produces a translated body with an English table of contents."
      }
    }
  ]
}
```
