Your hosted portal now shows content in each language your project has. German pages live under /de/, as in lumen.kookee.dev/de/help, and the default language keeps the addresses it had, so every link you've shared still works. Where an article, post or category isn't translated, the portal shows the default language's version at the same address instead of leaving a gap.

A project with more than one language gets a picker of its languages in the portal's header, mobile menu and footer, each under its own name. Picking one opens the same page in that language. Kookee's own interface picker is gone from portals, so a one-language project shows no picker at all. The site widget and the announcement banner on the portal follow the page's language, and Report this page on a translated page files the report against that post or article. Fixed: the counts on the portal home counted each translation as another article; an article and its translations now count once.
@kookee/react 1.20.0 shows your announcements on your own site: AnnouncementPill shows one announcement's title, AnnouncementList lists them, AnnouncementArticle shows one in full, and useDismissedAnnouncements remembers what each visitor dismissed. It needs @kookee/sdk 1.20.0. The components render the pieces, and your app opens them in its own dialog. The four starters show the pill under their header and the announcements in a dialog.

Fixed: on iPhone, tapping a field in the site widget (the Ask box, the question box on Home, the Help tab's search, the Feedback tab's message and email) zoomed the page in, because Safari zooms on any field under 16px. Those fields and the React HelpSearchBox are 16px now, on every screen.
See Using the public portal and Show announcements in your React app.