Digital Garden
One Garden, Four Gates
The starting point: the garden has no borders, language does
A digital garden grows on the internet; in theory anyone from any corner can push the door open. But the reality: an English-speaking developer stands at the gate, sees a garden full of Chinese, and can only turn away.
Language is the last border of our era that doesn’t need to exist. So the day’s engineering had one goal: give the garden four gates instead of one.
The border is drawn in the URL
The first architectural decision was to draw the border clearly: Chinese is the mother tongue and lives at the root — the URL doesn’t change by a single character; English, Japanese, and Korean each take a territory under the /en/, /ja/, /ko/ prefixes.
The content engine writes each article once, and the four gates unfold from it: the same garden, four sets of tour narration in four mother tongues. This is not four websites — it is one soul breathing four times.
The compass, the customs, and the memory
Three pieces of infrastructure set the four gates truly running:
- The compass —
hreflangalternates and the i18n-annotated sitemap are written for search engines: there are four entrances here; deliver the right person to the right gate - The customs — a Cloudflare middleware glances at the visitor’s browser language before they even arrive, quietly steering them to their own gate. No landing page, no asking, not a second of waiting
- The memory — once a visitor chooses a language by hand, a cookie remembers it for the garden. Next time, the garden no longer decides for you. Automation that respects choice is the greatest politeness a machine can offer
The price of the far horizon
Four gates means four times the upkeep: every new article written in four mother tongues, every OG card drawn four ways, every line of copy changed in four files.
The price is real. But a garden open to only one language is, in essence, a garden open to only one percent of the internet. Grand goals are never cheap — they are simply worth it.
One rule
Localization is not translation; it is equality — every language version is a full citizen: its own OG card, its own RSS, its own sitemap, never a shadow cast by the main site.
Comments