Tutorials

Building a Translation Glossary That Actually Works

Eray Gündoğmuş
Eray Gündoğmuş
·7 min read
Share
Building a Translation Glossary That Actually Works

Every engineering team managing a multi-language product eventually writes a translation style guide. It's usually 10 pages, covers tone, punctuation, and capitalization rules, and gets ignored by 80% of translators within three months.

Glossaries work differently. A glossary is a finite list of domain-specific terms with exact translations and context notes. Ours has 40 entries. It produces more consistent translations than any style guide we've tried—and it's enforceable by tooling in a way that prose guidelines never are.

This post covers why glossaries outperform style guides, what to put in yours, how to structure it, and how to enforce it with AI translation checking.


Why Glossaries Beat Style Guides

Style guides operate at the level of rules: "Use formal register in German." "Don't use contractions in French UI copy." These rules require judgment to apply, and judgment varies between translators, agencies, and time zones.

Glossaries operate at the level of facts: "The English term 'workspace' translates to 'Arbeitsbereich' in German and 'espace de travail' in French. Never use 'Arbeitsfläche' or 'espace de travaille'." No judgment required. The term is either correct or it isn't.

This is measurable. When we audited a client's German localization before and after implementing a glossary, we found:

  • Brand term inconsistency: dropped from 23 unique variations of their product name across the app to 1
  • Translator onboarding time: reduced from ~4 hours of style guide reading to ~30 minutes of glossary review
  • Translation review cycles: average 2.1 rounds before glossary, 1.3 rounds after

The reason isn't that translators ignored style guides out of negligence. It's that style guides require working memory to apply consistently. A glossary is a lookup table. Lookup tables are easy to check.


What to Include in Your Glossary

Resist the urge to include everything. A 200-term glossary with obvious entries ("user" → "Nutzer") is just a bad dictionary. The goal is to capture terms where:

  1. There's ambiguity in the target language — multiple valid translations exist, and you need to pick one
  2. The term is domain-specific — industry jargon that generic translation tools get wrong
  3. The term has brand significance — product names, feature names, pricing tier names
  4. The term appears frequently — inconsistency compounds with frequency

For a typical SaaS product, 40 core terms hits the sweet spot. Fewer, and you're missing real inconsistencies. More, and translators stop treating it as authoritative.

Categories to cover:

  • Product and feature names — Don't translate these unless you have to. If you do, establish the translation explicitly.
  • UI primitives — "Settings," "Dashboard," "Workspace," "Account," "Profile." These have multiple valid translations in most languages.
  • Action verbs — "Invite," "Remove," "Archive," "Delete," "Publish." Verb choice shapes the feel of the product.
  • Technical concepts — "API key," "Webhook," "Integration," "Sync." Some of these don't translate; establish the convention explicitly.
  • Business terms — "Plan," "Subscription," "Trial," "Billing cycle." Pricing copy needs exact consistency.
  • Error states — "Something went wrong," "Try again," "Contact support." Tone in error messages matters.

Glossary Structure: What Each Entry Needs

A glossary entry that just lists term → translation is half a glossary. The context note is what makes it usable.

Each entry should include:

FieldPurpose
Source termThe canonical English term
Part of speechNoun, verb, adjective — affects inflection rules
Target translationsOne per locale, marked as required or preferred
Do not useCommon wrong translations to explicitly prohibit
Context noteWhere it appears, how it's used
ExampleA sentence showing it in context

The "do not use" field is underrated. Knowing that "Arbeitsbereich" is correct is useful. Knowing that "Arbeitsfläche" is incorrect—and why—is actionable during review.


Sample Glossary: SaaS Product (10-15 Terms)

English TermGerman (DE)French (FR)Context Notes
WorkspaceArbeitsbereichEspace de travailTop-level container for a team's projects. Not "Arbeitsfläche" (too literal, implies physical space).
DashboardDashboardTableau de bordRetain "Dashboard" in DE (widely understood). "Tableau de bord" for FR formal copy; "Dashboard" acceptable in FR product UI.
Invite (verb)EinladenInviterUsed for inviting team members. Not "hinzufügen" (add) — implies a request, not an action.
Archive (verb)ArchivierenArchiverReversible action. Distinct from "Delete." Never use "Löschen"/"Supprimer" for archive flows.
SettingsEinstellungenParamètresAccount-level configuration. Not "Konfiguration" (too technical) or "Optionen" (too vague).
Plan (pricing)TarifForfaitPricing tier. "Plan" (EN loanword) acceptable in DE informal UI copy; "Tarif" preferred in formal/billing contexts. FR: always "Forfait," never "Plan."
API keyAPI-SchlüsselClé APIDo not translate "API." "Schlüssel"/"Clé" required — not "Token" (different concept).
Sync (noun/verb)Synchronisierung / synchronisierenSynchronisation / synchroniserBoth noun and verb forms needed. Do not abbreviate.
TrialTestzeitraumPériode d'essaiFree trial period. DE: not "Probe" or "Testphase" (both acceptable in other contexts but inconsistent).
BillingAbrechnungFacturationSection label and feature name. Not "Zahlung" (payment, different concept).
RemoveEntfernenSupprimerRemoving a user from a workspace. Distinct from "Delete" (permanent).
DeleteLöschenSupprimerPermanent deletion. FR "Supprimer" covers both remove and delete — add context in FR UI to distinguish.
WebhookWebhookWebhookDo not translate. Always rendered in code formatting in docs.
NotificationBenachrichtigungNotificationFR retains English form. DE: not "Mitteilung" (implies written message, not system notification).
ExportExportierenExporterAction verb. Do not use "Herunterladen"/"Télécharger" (download — different action).

Enforcing the Glossary with AI Checking

A glossary is only as good as its enforcement. Human review catches some violations; systematic AI checking catches the rest.

The enforcement workflow we use:

  1. Pre-translation: Inject the glossary into the AI translation prompt as a constraint. "Translate the following string. You MUST use these exact translations for the listed terms: [glossary subset]."
  2. Post-translation check: Run a separate AI pass that reads the glossary and flags any string where a source term appears but the required target translation does not.
  3. Review queue: Flagged strings go to a human reviewer, not back to the AI. The AI is good at detecting violations; humans are better at adjudicating edge cases.

The second pass is the key piece that most teams skip. Even with glossary-constrained prompts, AI translators occasionally choose synonyms—especially for verbs that have multiple valid conjugations. The post-translation check creates an audit trail and catches the cases the prompt constraints miss.

For teams working at scale, this enforcement needs to be part of the translation platform, not a custom script. Better i18n's glossary feature runs both the constraint injection and the post-translation audit pass automatically, with violations surfaced in the review queue rather than requiring a separate tooling layer.


Maintaining the Glossary Over Time

A glossary that doesn't get updated becomes a liability. Terms get renamed, features get removed, new markets require new entries.

Three maintenance practices that work:

1. Gate new feature naming on glossary updates. When a new feature ships, the glossary entry for it (in all supported locales) is part of the definition of done—same as documentation. If you can't name it consistently in your target languages before launch, you're going to spend cycles fixing inconsistencies after.

2. Quarterly audit against your most-translated strings. Export the 100 most frequently translated strings in your product. Check each for glossary term coverage. If a term appears frequently but isn't in the glossary, add it.

3. Flag translator-suggested alternatives. When translators consistently choose a different term than the glossary specifies, treat that as a signal to revisit the entry—not as a compliance failure. Translators often know the market better than the team writing the glossary.


Starting from Scratch: A 30-Minute Bootstrap

If you're starting from zero, this is the fastest path to a working glossary:

  1. Export your UI strings from your codebase or translation platform.
  2. Filter for the 50 most frequently appearing non-trivial terms (skip articles, conjunctions, common verbs).
  3. For each term, ask: "Are there multiple valid translations in German/French/Spanish?" If yes, it's a glossary candidate.
  4. Draft the glossary using the structure above. Aim for 30-50 entries.
  5. Review with one native speaker per locale. A 30-minute call per language is enough for the initial pass.
  6. Load it into your translation platform as an enforced glossary. If your platform supports it, mark high-priority terms as "required"—violations block the string from being marked as complete.

The entire process takes a day for a focused team. The consistency payoff starts showing up in the first translation batch.


The 40-Term Rule

We've run this experiment with enough teams to have a rough heuristic: 40 domain-specific terms in a glossary produces more consistent translations than a 10-page style guide, across every product vertical we've tested.

The reason is operational. Style guides require training and ongoing reinforcement. Glossaries require a lookup. At 40 terms, the glossary is comprehensive enough to cover the domain without being so large that translators stop trusting it to be curated.

If you're currently working from a style guide and your translations are still inconsistent, don't make the style guide longer. Build a 40-term glossary and enforce it automatically.


Next Steps

The glossary structure described here works with any translation workflow. If you want automated enforcement—constraint injection, post-translation auditing, and violation review queues—Better i18n's glossary feature handles the full pipeline. You maintain the glossary, the platform handles enforcement across every translation, every locale, every time.