🌍 World Wide the first W was always the point

The web is the only software platform that was born multilingual: one encoding for every human script, text direction as a first-class citizen, and a locale library built into the runtime. No packages were harmed — or installed — in any demo below.

One page, eleven writing systems

Every card is plain UTF-8 text with a lang attribute — which picks fonts, spell-check dictionaries, and screen-reader voices. Notice Arabic and Hebrew flow right-to-left inside their own cards automatically.

مرحبا بالعالمArabic
שלום עולםHebrew
你好,世界Chinese
こんにちは世界Japanese
안녕하세요 세계Korean
नमस्ते दुनियाHindi
สวัสดีชาวโลกThai
வணக்கம் உலகம்Tamil
ሰላም ልዑልAmharic
გამარჯობა მსოფლიოGeorgian
Γειά σου ΚόσμεGreek

Flip an entire UI with one attribute

This chat app was built with CSS logical properties (margin-inline-start, not margin-left). Toggle dir="rtl" and the whole layout mirrors — avatars, bubbles, input — with zero extra CSS.

Which side should my avatar be on?
Wrong question — use logical properties and the language decides.

Character sets: one encoding, 155,063 characters

UTF-8 won (Module 01 said so). But "a character" is slipperier than it looks — the platform gives you the tools to slice text correctly:

computing…

Intl: the locale library you already shipped

Pick a locale. Dates, numbers, currency, plurals, lists — formatted by the browser, including non-Latin digits and non-Gregorian calendars. This is why you don't need moment.js (or its 67 locale files):

Sorting is cultural too

Where does ä sort? Germany says "with a". Sweden says "after z". Intl.Collator knows both:

de-DE sort
sv-SE sort