How to Translate DocBook XML Without Breaking Validity
DocBook is strict XML with a large element set. The translation has to stay valid, and entity references are where it usually stops being valid as well.

Quick answer — DocBook is semantic XML validated against a schema. Translation has to preserve element structure, attribute values, entity references and IDs — and the output has to still validate, because an invalid DocBook file will not build at all.
Validity is a hard gate
Unlike a word processor format, DocBook either validates or it does not. A translation that drops a closing tag or breaks nesting produces a file that fails the build rather than looking slightly wrong. That is a good property. It means structural damage is caught immediately rather than discovered in output, and it makes DocBook one of the safer formats to process automatically.
Inline semantic elements must survive
DocBook marks meaning inline: <command>, <filename>, <guimenu>, <literal>, <replaceable>. A sentence often contains several. The text around them translates; the elements themselves and usually their contents do not. A <filename> is a path, not a word, and translating it produces documentation that points at a file nobody has.
<replaceable> is the interesting exception — it stands for something the user substitutes, and it frequently should be translated so the placeholder makes sense in the target language.
Entity references
DocBook sets commonly define entities for product names, versions and boilerplate. &productname; expands at build time.
Translating the entity reference itself breaks the build. Translating the entity definition changes it everywhere, which is usually right. The two look similar in a text editor and are opposite operations.
IDs and cross-references
xml:id values and the linkend attributes pointing at them must match exactly. Translating an ID because it happens to read like a word is a classic failure and produces a build error listing an unresolvable link.
Profiling and conditional text
DocBook supports conditional attributes similar to DITA's. The same rule applies: filtered content still needs translating if it ships, and it will not appear in the output used for review.
Where the volume is
DocBook is used for large technical manuals with long lifespans and repetitive structure.
translation memory is what makes a second edition affordable, since most of a revised manual is the previous manual.
document translation preserves the XML structure and quality control validates the output before it reaches a build.
Setup notes are on the DocBook translation integration page.
Toolchain and stylesheet strings
DocBook output is generated by stylesheets that supply their own text — "Chapter", "Table of Contents", "Note", "Warning". Those come from the toolchain's localization files rather than from your document.
A perfectly translated DocBook set can still emit English admonition labels if the stylesheet locale was never set. Check the built output rather than the source.
Version control and diffs
DocBook is XML and diffs well, which makes reviewing a translation update far easier than in a binary format. Keep one sentence per line in the source and the diffs stay readable.
Profiling attributes on inline elements
DocBook allows conditional attributes on inline elements, not just blocks. A single sentence can therefore contain a phrase that only appears for one audience, and the surrounding text reads oddly without it.
Translate the source rather than a filtered rendering, or the conditional phrase is silently dropped from every language.
Where to start
Validate one translated file against the schema before running the set. A validation error on file one is a configuration problem; the same error on file two hundred is a day of cleanup.
FAQ
What makes DocBook safer to translate than a word processor format? Validity is a hard gate. A translation that breaks nesting or drops a tag fails the build immediately rather than producing output that looks slightly wrong, so structural damage is caught at once.
Should inline elements like filename be translated? The text around them translates and their contents usually do not. A filename is a path rather than a word. The exception is replaceable, which stands for user-supplied text and often should be translated.
How are entity references handled? Translating the reference breaks the build; translating the entity definition changes the text everywhere, which is normally what you want. The two look similar in an editor and are opposite operations.
Why do cross-references fail after translation? Because an xml:id was translated. IDs and the linkend attributes pointing at them must match exactly, and translating one because it reads like a word produces an unresolvable link at build time.
Our blog
Lastest blog posts
Tool and strategies modern teams need to help their companies grow.

Automotive
Automotive Brochure Localization by Market
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.

Automotive
Automotive Campaign Localization Across Markets
Campaigns run through national companies and dealer networks, so one master becomes hundreds of files. Where the offer text and the disclaimers actually break.

Automotive
Car Service Manual Translation for Technicians
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.