Generating documents in many languages

3 September 2025 · 7 min read · Nextarp B.V.

Serving customers across regions means generating the same document in many languages - and getting the details right. Localisation is more than translation; numbers, dates and layout all shift with culture.

Per-recipient language

Drive language from the recipient's data, not a global setting, so one batch run can produce a French invoice, a German statement and a Dutch letter in a single pass. The template stays one design; the language switches per document.

Culture-aware formatting

  • Numbers - decimal and thousands separators differ (1.234,56 vs 1,234.56).
  • Dates - order and month names vary; never hard-code a format.
  • Currency - symbol placement and spacing follow the locale.

Let the formatting follow the culture code rather than string-building it in the template.

Translatable content

Keep fixed phrases in a resource set keyed by language, so adding a locale is a data task, not a template rewrite. Missing translations should fall back gracefully rather than showing a blank.

Layout that flexes

Translated text expands and contracts - German runs long, others run short. Design templates that tolerate variable length without breaking tables or overflowing pages, and test with the longest expected translations.

The payoff

One well-built multilingual template replaces a folder of near-duplicate designs - and every recipient gets a document that reads as if it were made for their region.

Related articles

DocsNG is the free, self-hostable platform for generating, signing and verifying documents. Get DocsNG or try the live demo.

← Back to the blog