The 27th language that nobody translated
Until yesterday the game existed in 26 languages, Chinese among them. Simplified Chinese, as written on the mainland. As of today there are 27: Traditional Chinese has been added, as written in Taiwan, Hong Kong and Macau.
Not one sentence was translated for it. It is the same language in a different script — and rather more follows from that than it sounds.
Why not simply have it translated
The game catalogue holds about four thousand entries. Had we sent it off for a second translation, there would now be two Chinese versions developing independently of each other. The next new button would appear in one and be missing from the other. Six months on, nobody would know which was current.
Instead the traditional version is generated. A tool reads the simplified file, converts it, and writes the traditional one. Change a text and you change it in one place, then run the tool. The two cannot drift apart.
Swapping characters is not enough
The obvious route would be to replace every character with its traditional counterpart. The result would be readable — and instantly recognisable for what it is.
Because the two scripts differ not only in characters but in vocabulary. On the mainland a server is 服务器. Swap characters only and you get 服務器. In Taiwan, though, it is 伺服器 — a different word. The same goes for data, for defaults, for the queue, for memory. A Taiwanese reader needs less than ten seconds to see whether someone translated for them or handed them a mainland build.
The tool we use handles both, and we check it: a test fires if a simplified character survives in the traditional version — and equally if a mainland term slips through.
The browser tells you the region, not the script
Then there was a trap we nearly missed. Browsers report their language as a region: Taiwan says zh-TW, Hong Kong zh-HK, the mainland zh-CN. Nothing in there mentions the script.
Our language picker used to cut off everything after the dash and take the rest. zh-TW became zh — and a visitor from Taipei would have got the mainland version while the right one sat next to it. Now there is a mapping: Taiwan, Hong Kong and Macau get traditional, mainland and Singapore get simplified.
The same assumption was hiding in three more places: in the URL pattern, which allowed only two letters; in the language choice for invitation emails; and in the tool that builds the preview images, which only found files with two-letter names. None of the four would have reported anything — they would simply have served the wrong language, quietly. A new language is rarely just one more file.
What this has to do with reach
Honestly: it is the only route into China open to us. The large Chinese communities require a mainland mobile number to register, and without a local registration the Chinese search engine barely indexes a foreign site. The Chinese-speaking world you can reach without either is the traditional one.
If you want to arrive there, the least you can do is bring the right script.