Nordwerk

Journal

Notes on shipping a bilingual site

The instinct is to duplicate. One folder in English, one folder in German, and a switcher between them. It works for about a month, which is roughly how long it takes for the two folders to start disagreeing with each other.

After that, every change costs twice: two files to edit, two files to review, two chances to forget. A second language quietly becomes a second website, and nobody budgeted for a second website.

One source, one catalogue

  • Every page is written once, in one source language.
  • Translations live in a single catalogue, keyed by the source sentence.
  • Brand names, product names and code are marked so nobody translates them.
  • The language switcher is generated, never hand-written.

The discipline this imposes on the copy turns out to be the real benefit. When a sentence has to be translated, you stop writing four almost-identical versions of it. The site gets shorter, and the shorter site is the better one.

Every sentence you invent twice is a sentence somebody has to translate twice.

What to check before launch

  1. The switcher, on every page, including the error page.
  2. Form labels, placeholders and help text, which are easy to forget.
  3. Page titles and meta descriptions, which nobody sees until they matter.
  4. The longest word in the navigation, at the narrowest width you support.

Do that and the second language stops being a project. It becomes a column in a file, which is exactly what it should have been from the start.

Keep reading.

All posts

A type stack that survives translation

German runs about a third longer than English and breaks in different places. Here is the small set of rules we use so nothing collapses.