Skip to content

Release v0.14.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 13:15
2982c71

What

Ante's lobby can now be used in Norwegian Bokmål, with English as the fallback (Closes #63).

  • Language choice: in order, a saved user preference, an allowlisted ?lang= hint, the browser's languages (honoring quality values), Ante:DefaultLocale, then English. nb, nb-NO and no all mean Bokmål; Nynorsk is not supported. Ante:SupportedLocales limits the choice to shipped languages.
  • One language end to end:
    • Arc HTTP requests, including the organization-name pre-flight, carry Accept-Language.
    • WebSocket and EventSource connections, which cannot set that header, use a same-origin ante-locale cookie.
    • The backend uses ASP.NET request localization instead of a global invariant UI culture. Serialization, parsing and identity comparisons stay invariant, and no localized text reaches events.
  • What is translated: frontend strings; Cratis Components' own labels (stepper and dialog buttons); backend validator, legal, exchange and recovery messages (resources); Chronicle constraint messages (translated at the response boundary); document lang/dir.
  • Robustness: English-only fallback when the locale policy can't be loaded or is malformed. Language switching works without a reload when browser storage is unavailable. Typed names survive re-renders.
  • Not covered: host-owned legal documents and AuthProxy's pages and emails; their owners must supply Norwegian copy.

Native review of the Bokmål wording

Tracked separately (merged with English as the default; Bokmål is served only to browsers that ask for it):

  • Source/Ante/Locales/nb/translation.json
  • Source/Ante/Resources/Messages.nb-NO.resx

Verification

  • Local mirror of CI: 936 .NET and 227 frontend specs (key parity, negotiation precedence, request culture, localized validator and constraint messages, Bokmål component rendering), Release build with warnings as errors, lint and compile. yarn build was not run locally (license).
  • Full cross-provider review workflow (Opus 5.5 and GPT-6 Astra, each finding verified by the other): seven rounds, final round passed.