Language and time
Two settings in roundtable.config.ts decide how the bot speaks and what time it means:
export default { // ... locale: "zh-TW", timeZone: "Europe/Berlin",} satisfies RoundtableConfig;| Key | Values | Default |
|---|---|---|
locale |
"en" or "zh-TW" |
"en" |
timeZone |
An IANA time zone name, such as Europe/Berlin or Asia/Taipei |
"UTC" |
The host applies both once, when it starts, and they hold for the whole process. Change them, then restart the bot.
locale
Section titled “locale”locale chooses the message catalog for the text the bot shows in Discord.
Both catalogs have the same keys.
Among other things it covers:
- The approval and question cards, with their buttons and footers.
- The stop button and the note on a long turn.
- The
/roundtablecommand’s description, its refusal for non-owners, and the schedule panel. - The self-updating status message and the notices a conversation posts, such as a failed reply or a stopped turn.
- How a time zone is named in tool descriptions: the English catalog uses the IANA name (
Europe/Berlin), and thezh-TWcatalog uses the place name (Berlin).
A value other than en or zh-TW is an error:
config locale: expected a locale, en or zh-TW, got "<value>". Fix the value in roundtable.config.ts.What locale does not change:
- The audit-log reasons and the refusals of the Discord administration tools read as English in both locales.
- The text the core adds to the agents’ prompts is English.
- Your prompts, your agents, and your plugins’ text are yours to write in any language.
timeZone
Section titled “timeZone”timeZone is the zone the bot uses for anything with a clock time.
- A schedule’s one-off time (
"YYYY-MM-DD HH:MM") and its repeating time of day ("HH:MM") are in this zone, and the schedule tools say so in their descriptions. - Time stamps in schedule messages and lists, and in the output of
channel_read, use it. - “Today”, for the upcoming events that go into each speaker’s memory block, is the date in this zone.
The name is checked when the bot starts, not by the configuration check.
roundtable doctor accepts any non-empty string.
A zone the runtime does not recognise stops roundtable start once the checks have passed:
Invalid time zone: <value>For schedules in practice, see Schedules and background work.