Changelog

Chat widget text and languages

The widget's text settings now cover every word the widget shows: the home screen, the menu, the conversation, product and order cards, the satisfaction survey, help articles and proactive messages. Before, only the launcher, a few titles, and the email and details prompts could be changed. The widget also picks a language for each shopper, offers a language menu when the workspace has more than one language on, and formats dates, numbers and prices for that language. The lines that tell shoppers they are talking to an AI stay exactly as Aide writes them.

How it behaves

  • Every string, grouped by screen: the Language section of Aide Chat lists each piece of text under the screen it appears on, with the current wording shown in the empty field. Leave a field empty to keep it; "Reset all" clears every change.
  • Names and numbers fill in: text can use the placeholders the default shows, such as {agentName}, {name} for a signed-in shopper's first name, or {n} in counts. Counts have a singular and a plural form ("1 article", "3 articles"), and each can be changed.
  • The AI disclosure is fixed: the line saying the agent is an AI, the "AI agent" label next to its name in the header, the "AI agent" line on proactive messages, and the answer the agent gives when a shopper asks whether it is an AI can't be changed from the settings. This keeps the disclosure accurate and in every language Aide supports.
  • The preview matches: the live preview next to the settings shows your wording as you type.
  • Checkout chat: Shopify checkout uses the same text, except the home screen's greeting, subtitle and "ask" lines, which checkout always shows in Aide's default wording.
  • Widget languages: the Language section has a default language and a switch for each language Aide ships. With more than one on, the widget's menu gets a Language item, and the text editor gets a tab per language so each can be reworded separately. Changing the default language keeps the wording you wrote for each language.
  • Which language a shopper sees: the one they picked in the widget's menu, then the store's language (on a Shopify storefront, the language the shopper is browsing in; in checkout, the checkout's language), then their browser's, then the workspace's default. A language that isn't on falls back to the default. The pick is remembered across the site's pages.
  • French and German are available: both are fully translated, and native speakers have checked the AI disclosure lines. Workspaces that never chose their languages have both turned on, so a shopper browsing in French or German sees the widget in that language; turn either off in the widget's language settings.
  • Dates, numbers and prices follow the language: order dates, delivery estimates, prices, review counts and the time under each message are formatted for the shopper's language and region.
  • What Aide writes follows too: order statuses ("Shipped", "Delivered"), the line showing what the agent is doing while it answers, the care message sent when a conversation goes to your team, and the answer to "are you an AI?" come in the shopper's language when Aide has it.
  • Your team sees the language: a conversation's details show the language the shopper's widget was in.

For developers

  • The widget SDK's label catalog grows from 42 to 194 keys, all additive; every existing key keeps its meaning. Aide('init', { labels }) accepts the new keys.
  • FIXED_LABEL_KEYS lists the keys a workspace can't override. GET /widget/config ignores saved overrides of them.
  • GET /widget/config now returns a complete labels map, with the default text filled in for every key, instead of only the keys the workspace changed.
  • GET /widget/config takes an optional locale (a language tag such as fr-CA). It is matched against the workspace's languages: the exact tag, then its language, then the default. The response's locale is the one matched and labels are in it; the new languages field lists the languages the widget offers, the default first.
  • Aide('setLocale', 'fr') switches the widget's language and remembers it; the widget fetches its config again in that language.
  • Messages sent through /widget/conversations carry the widget's locale, and /v1 conversations expose it as locale.
  • Order cards in widget messages carry raw status, placedAt, deliveryEstimate, totalPrice and item unitPrice alongside the formatted text, and a message's working status line carries stepKeys, so a client can render both in its own language.
  • The catalog ships as @aide/widget-sdk/locales: en, fr and de bundles, labelsFor(locale, overrides), resolveLocale, and availableLocales(), which lists the languages whose review is recorded in LOCALE_REVIEWS. It is for servers and tooling; the widget itself carries no copy of it.

All changes

We use cookies to enhance your Aide experience.
by clicking "accept all" you consent to our use of cookies.
Learn more