Language switch

i18n specs/i18n/contract.kmd

Step diagram

  1. User picks a new locale

    User

    From the language switcher in the top nav or Settings.

  2. SDK persists the choice

    SDK

    Saves under the canonical key (locale on web, SharedPreferences on Flutter).

  3. ICU resources reload

    SDK

    Pending strings re-resolve from the new locale's bundle; en-US fallback fills any gap.

  4. App rebuilds in place

    App

    No reload required: every string consumer subscribed to the locale change updates synchronously.

Common pitfalls