Building a bilingual AI math tutor: what localization really changes
Euler now has dedicated English and Italian experiences. That work touched much more than the visible interface: tutoring language, mathematical terminology, public learning material, and the signals that help search engines understand each page all had to stay aligned.
Translation and localization are different jobs
Translation changes words from one language to another. Localization asks whether the whole experience makes sense in that language. The distinction becomes obvious in mathematics, where the notation may be shared but the surrounding vocabulary is not.
A literal label can sound unnatural, a familiar school term can differ across countries, and a concise English instruction may need a different rhythm in Italian. The goal is not to preserve every sentence mechanically. It is to preserve the intent and level of clarity.
The URL should state the language
Euler uses separate /en and /it routes. This gives each page a stable address and prevents the same URL from changing meaning according to a browser setting. It also lets someone share the exact version they read.
Each localized page points to its equivalent with hreflang, while a canonical URL identifies the preferred address for that language. A sitemap lists both versions. These are ordinary technical details, but they are the foundation for making multilingual content discoverable without creating duplicate-page confusion.
A language switch must preserve context
Switching language from the home page is easy. Switching from a specific guide or article is more demanding because translated slugs are different. The English article you are reading should lead to the matching Italian article, not merely to the Italian home page.
That requires an explicit relationship between translations. Euler stores that relationship with the content, so navigation and metadata are generated from the same source instead of drifting apart.
The tutor also needs language context
A translated interface is incomplete if the tutor unexpectedly answers in another language. The selected locale therefore informs the tutoring instructions and the product’s fallback examples.
Mathematical notation can remain standard while the explanation adapts. Just as importantly, the tutor should not infer age, location, or educational system from the chosen language. Language is a communication preference, not a profile of the learner.
Public content serves people before crawlers
A multilingual site needs useful public pages, not hundreds of thin variations created for keywords. Euler’s Learn guides answer specific mathematical questions with a short answer, a derivation, a check, and focused FAQs. This blog covers product choices, learning design, responsible AI, and the process of building the tutor.
Clear headings, descriptive metadata, structured data, and crawlable text help search engines and AI search systems retrieve that material. They work because the underlying page contains something worth retrieving, not because a special file can substitute for the content.
What comes next
The useful test for localization is not whether every string has a translation. It is whether a person can enter in one language, understand the product, read supporting material, ask a question, and remain in that language without encountering a broken path or an unexplained switch.
Future languages should follow the same pattern only when their content can be reviewed as a complete experience. Adding a locale code is easy; maintaining a trustworthy tutor in that locale is the real work.
In short
- Localize intent and terminology, not just interface strings.
- Give every language stable URLs, canonical metadata, and translation links.
- Keep the tutor’s response language aligned with the selected experience.
- Publish substantial pages for readers instead of generating thin keyword variants.