Internationalization (i18n)

Built-in i18n support with automatic locale detection, fallback chains, and JSON-based translation files.

Overview

Locale Detection (Priority Order)

Translation Files

Example: en.json

Example: ms.json

Usage

In Use Cases

In Middleware

In Response Formatting

Interpolation

Support variable substitution:

Pluralization

Fallback Chain

Configuration

Setting Locale

Query Parameter

Accept-Language Header

Best Practices

  1. Use translation keys — Not raw strings in code
  2. Group by featureauth.login.title, not loginTitle
  3. Include variables — Avoid string concatenation
  4. Plan fallback — Always have a complete default locale (en)
  5. Don’t over-translate — Technical errors can stay in English