Technical guide1 min read

Bilingual software is an architecture concern

Keep locale, content, metadata, validation and product state coherent across English and Persian.

The question behind the term

Translation added at the end creates duplicated routes, stale error text and metadata that points at the wrong canonical page. Locale is part of data identity and rendering from the first content model.

A reviewable approach

Use locale-aware fields, stable translation relationships and server-rendered lang, dir, canonical and hreflang values. Keep identifiers separate from labels and make validation messages, dates, numbers and generated emails locale-aware.

  • Model translations as linked content
  • Localize status independently where needed
  • Test mixed-direction inputs and errors
  • Keep canonical metadata server-side

The boundary to keep visible

Machine translation cannot establish product terminology or legal meaning by itself. Clinical and security language needs domain review in each language.

Start with the real constraint

Something important needs to work better.

Tell us about the product, workflow, or system you are trying to build.

Start a conversation