Internationalization
AIsh.li is designed from the core for international audiences, enabling you to build AI agents that converse fluently across multiple languages and locales (i18n).
Whether you are deploying customer support widgets across Europe or building global conversational forms, AIsh.li makes it straightforward to localize personas, instructions, prompts, and structured output schemas.
Multilingual by Default
Modern foundation models (such as Google Gemini) naturally understand and generate content in over 100 languages. Even if an agent's base system prompt is written in English, it can readily comprehend a customer typing in French, German, Italian, Spanish, or Japanese and respond in kind.
However, a truly professional internationalized experience requires more than just machine translation: it requires localized interface labels, native conversation starters, and culturally appropriate phrasing.
Localizing Agent Metadata
In AIsh.li, all user-facing agent metadata can be defined either as a simple string or as a multilingual dictionary object:
id: demo/restaurant
label:
en: Restaurant Concierge
de: Restaurant-Concierge
fr: Concierge du Bistrot
it: Concierge del Ristorante
description:
en: A friendly assistant that helps you reserve a table at a French bistrot.
de: Ein freundlicher Assistent für Tischreservierungen in einem französischen Bistro.
fr: Un agent sympathique qui vous aide à réserver une table dans un bistrot français.
it: Un assistante cordiale per prenotare un tavolo in un bistrot francese.
intro:
en: Welcome to La Vache Folle! Would you like to reserve a table for lunch or dinner?
de: Willkommen im La Vache Folle! Möchten Sie einen Tisch reservieren?
fr: Bienvenue à La Vache Folle ! Souhaitez-vous réserver une table pour le déjeuner ou le dîner ?
it: Benvenuti a La Vache Folle! Desidera prenotare un tavolo per pranzo o per cena?
When a visitor loads the chat page or embeddable widget, AIsh.li automatically renders the matching localized title, description, and greeting based on the user's active locale.
Multilingual Starter Prompts
Quick-start prompt chips give visitors one-click prompts to start a conversation. You can localize each starter chip so visitors see prompts in their native language:
starters:
- label:
en: Plan a morning routine
fr: Routine matinale
de: Morgenroutine planen
prompt:
en: Give me a positive morning routine and three productive goals for today.
fr: Donne-moi une routine matinale positive et trois objectifs pour aujourd'hui.
de: Gib mir eine positive Morgenroutine und drei produktive Ziele für heute.
Multilingual Form Schemas
In Conversational Forms, the agent extracts data according to a JSON Schema. To provide clear guidance to the AI model and display localized field hints in the UI, you can provide multilingual description mappings for every schema property:
output:
mediaType: application/json
schema:
type: object
properties:
destination:
type: string
description:
en: Where do you want to go (include address and city)
de: Wohin möchtest du fahren (inkl. Adresse und Ort)
fr: Où souhaitez-vous aller (inclure l'adresse et la ville)
it: Dove vuoi andare (includi indirizzo e città)
This guarantees that both the LLM's internal extraction logic and the live progressive disclosure side panel use the appropriate localized terminology.
Language Negotiation
AIsh.li determines the active language through the following hierarchy:
- Explicit Route / Locale URL:
https://aish.li/fr/chat,https://aish.li/de/docs/, etc. - URL Query Parameter:
?hl=fror?locale=de(useful when embedding widgets in existing multilingual websites). - User Preference: Stored selection from the language switcher in the header.
- Browser Settings: Falls back to
navigator.languageif no explicit preference is set.
Try It in Practice
- Chat in French: Open the Restaurant Concierge and say "Je voudrais réserver une table pour deux personnes vendredi à 19h30".
- Inspect Multilingual Code: Click the Code tab on the Transport Agent to see multilingual JSON Schema properties in action.
- Switch Portal Language: Use the language dropdown in the top-right navigation bar to explore the entire UI in Français, Deutsch, or Italiano.