REFERENCE
SDK Demos
How to use @asgard-js/core and @asgard-js/react, with demos you can try on the page.
Built-in UI Locales
The SDK's own chrome — thinking blocks, tool-call groups, the Task Check List, the
subagent panel, the API-key screen, the File Explorer — switches with a single
locale prop.
Supported Locales
type Locale = "en-US" | "ja-JP" | "zh-TW";<Chatbot
locale="ja-JP"
config={{ botProviderEndpoint: "..." }}
customChannelId="my-channel"
/>A missing key falls back first to
en-US, then to the key itself — so an untranslated string never breaks the layout or renders blank.What
localeDoes and Does Not CoverCovered Not covered Chrome the SDK draws itself (buttons, statuses, labels, empty states) The content of bot replies Human-readable labels in tool-call, task and subagent panels Text you pass in via initMessagesThe API-key sign-in screen Anything you draw with renderFooter/renderHeaderTranslating bot replies is the bot provider's job, not the SDK's.
Consumer-placed Panels
The self-docked panels read the same catalogs and take their own
locale:<TaskList tasks={tasks} locale="ja-JP" />
<SubagentList subagents={subagents} locale="ja-JP" />Reading the Catalog Directly
To reuse the same strings in your own UI:
import { t } from "@asgard-js/react";
t("ja-JP", "task.completed");
t("zh-TW", "tool.read", { file: "src/index.ts" }); // supports {var} interpolationPairing With the Site Locale
Sites built on Docusaurus, Next.js and friends usually have their own locale already — just map it across:
const sdkLocale = siteLocale === "en" ? "en-US" : "zh-TW";
<Chatbot locale={sdkLocale} {...rest} />See Also
- Tool Call — group labels follow
locale - Task Check List, Subagent List
- Dock the Run-Chrome Yourself — per-panel
locale
- Tool Call — group labels follow