A learning platform must support many languages including ones with different scripts and text directions. What must be architectural rather than cosmetic?
Show the full answer Hide the answer
What must be architectural
- Locale as a first-class dimension from the first row of data, since retrofitting it means touching every content table and every query.
- Text externalised from code, with a translation pipeline rather than a developer editing strings. A system where adding a language requires a code change has made language support an engineering constraint on a business decision.
- Layout that adapts to text length, since translations vary substantially in length and a design assuming one language's compactness breaks in others.
- Right-to-left support in the layout system rather than per component, because retrofitting it component by component never completes.
- Locale-aware formatting for dates, numbers, currency and sorting, applied through one mechanism rather than being reimplemented.
- Font loading for the required scripts, which for some scripts is a substantial payload and interacts directly with the performance budget.
What is genuinely cosmetic and can be deferred
Copy quality, idiomatic phrasing and cultural adaptation — important and not structural, and improved incrementally without a rewrite.
The content dimension specific to education
Content itself is per language, not merely the interface. That is a content-operations problem — production, review, versioning and synchronisation across languages — and it is far larger than the engineering problem, which is why the architecture must make adding a language cheap on the engineering side and the constraint purely a content one.
The quality variation that must be measured
Model and search quality varies enormously by language. A search index, a recommendation model or a moderation classifier tuned for one language performs differently in another, and a single evaluation set hides that — which means evaluation must be per language and the answer is frequently different per language.
The performance interaction
Additional scripts mean additional fonts, and fonts are a large payload on a constrained connection. Subsetting to the characters actually used, and loading with a sensible fallback so text is visible during load, is the difference between a usable page and a blank one — and it is a decision the internationalisation work makes on the performance budget's behalf.