Getting Simplified Chinese Output Instead of Traditional Chinese
10 min read · updated August 11, 2026
“Chinese” underspecifies two independent things: which character set, and which region’s vocabulary. Models usually default to Simplified with mainland vocabulary, and getting the other combination requires asking for both, because converting one does not convert the other.
Who expects which
Simplified characters were introduced by the People’s Republic of China from the 1950s and are the standard in mainland China, Singapore and Malaysia. Traditional characters remain standard in Taiwan, Hong Kong and Macau. There is no version that serves both: a Taiwanese reader shown Simplified text will read it with effort and register it as foreign, and the reverse holds.
The relevant identifiers are BCP 47 script subtags: zh-Hans for Simplified and zh-Hant for Traditional, optionally with a region — zh-Hans-CN, zh-Hans-SG, zh-Hant-TW, zh-Hant-HK. The script subtag is the one that decides characters; the region subtag is the one that decides vocabulary, and the distinction between them is precisely the distinction this page is about. RFC 5646 defines both subtag positions, and Unicode CLDR publishes the locale data that most software uses to resolve them.
Models default to Simplified because mainland China supplies the overwhelming majority of Chinese-language text on the web. That is a corpus-share effect, the same one that produces every other default in this cluster.
Why conversion is not a substitution
Simplification merged distinct characters. Going from Traditional to Simplified is mostly a function; going back is not, because several Traditional characters map onto one Simplified character and choosing between them requires knowing the word:
Simplified Traditional distinguished meaning
------------------------------------------------------------
发 發 to send, to develop (发展 -> 發展)
髮 hair (头发 -> 頭髮)
干 乾 dry (干燥 -> 乾燥)
幹 to do, trunk (干活 -> 幹活)
干 to interfere (干涉 -> 干涉)
后 後 after, behind (以后 -> 以後)
后 empress (皇后 -> 皇后)
面 麵 noodles, flour (面条 -> 麵條)
面 face, surface (面积 -> 面積)
台 臺 platform, Taiwan (台湾 -> 臺灣)
颱 typhoon (台风 -> 颱風)
檯 table, desk (柜台 -> 櫃檯)A character-by-character substitution table gets every one of these wrong roughly half the time. The failure is not subtle to a reader: 頭發 instead of 頭髮 says “head sends” where the word is “hair”. This is why conversion has to be done by a tool with a phrase dictionary rather than by a mapping table, and why generating in the target script directly is safer than converting afterwards.
The vocabulary problem underneath
Even a perfect character conversion produces mainland Chinese written in Traditional characters, which is not what a Taiwanese reader expects. The terminology diverged independently of the script, especially in technology, where the terms were coined separately on each side:
concept mainland (zh-CN) Taiwan (zh-TW) Hong Kong (zh-HK) -------------------------------------------------------------------- software 软件 軟體 軟件 network 网络 網路 網絡 information 信息 資訊 資訊 printer 打印机 印表機 打印機 video 视频 影片 影片 mouse 鼠标 滑鼠 滑鼠 program 程序 程式 程式 default 默认 預設 預設 memory (RAM) 内存 記憶體 記憶體
Note that Hong Kong is not simply Taiwan: it shares the Traditional script but sits between the two on vocabulary, and its written language also carries Cantonese influence. A zh-Hant string set with no region distinction will serve one of the two markets well and the other adequately at best.
Punctuation, and the font problem
Two more things travel with the region and are invisible in a character-conversion pass.
Quotation marks differ. Mainland convention uses the full-width Western pair “” for quotation. Taiwan and Hong Kong use corner brackets: 「」 for the outer level and 『』 for a quote inside a quote. Corner brackets in a Simplified text, or Western quotes in a Taiwanese one, are as conspicuous as a wrong character. Both regions share the enumeration comma 、 for list items, distinct from the ordinary comma ,, which is a distinction Western-trained text pipelines routinely flatten.
The same code point renders differently by region. Han unification means Chinese, Japanese and the regional Chinese standards often share one Unicode code point for a character whose conventional printed form differs — a stroke that hooks in one national standard and does not in another. Which form a reader sees is decided by the font, and the font is selected by the language tag on the element. A page that ships correct zh-Hant-TW text with no lang attribute will be rendered with a mainland or Japanese font on many systems, and Taiwanese readers will see characters that look subtly wrong even though the bytes are right. Set lang on the container, always, and set it to the full tag with the region rather than to zh.
Vertical typesetting is a third, narrower case: Taiwanese book and poster layouts still use top-to-bottom, right-to-left text, which CSS supports through writing modes but which almost no generated content pipeline accounts for. It is the same class of problem as vertical reading order generally, and it is worth knowing exists before a designer asks for it.
Specifying it at generation time
- Ask by locale tag, with the region. “Respond in Traditional Chinese as used in Taiwan (zh-Hant-TW)” rather than “Traditional Chinese”. The region is what carries the vocabulary, and it is the half people leave out.
- Name the terminology standard if there is one. For Taiwan, asking for terminology consistent with Taiwanese usage (rather than mainland usage transliterated) is a meaningful instruction that changes output.
- Supply the terms that matter to your product. Ten entries from the table above, specific to your domain, in the system prompt. This is more reliable than any general instruction, because it removes the ambiguity rather than describing it.
- Check the script mechanically. Simplified-only characters are a finite set; scanning output for any of a few dozen common ones (
发,后,台,软,网,机,时,说) catches script leakage in a Traditional response instantly. - Check the numbers separately. Chinese numeric formatting has its own regional conventions, including the myriad-based grouping described in large-number formatting in Chinese, and the script instruction does not touch them.
When you must convert existing text
Sometimes generation is not an option — you have a corpus in one script and need the other. Use a converter with a phrase dictionary rather than a character map. The reference implementation is OpenCC, which ships separate configurations for each direction and each regional variant; the project publishes them on GitHub. Its Taiwan configuration with phrase conversion handles both the one-to-many character problem and a large part of the vocabulary problem in one pass, which is more than a model prompt reliably does.
Two edge cases to know about. Hong Kong text may contain characters from the Hong Kong Supplementary Character Set, added to Unicode for Cantonese and local usage, which converters and fonts handle unevenly. And proper nouns should generally be excluded from conversion entirely, because a personal or company name is spelled the way its owner spells it regardless of which side of the strait the reader is on.
Finally, note that script and spoken language are independent axes. Traditional characters do not imply Cantonese, and Hong Kong’s formal writing is Standard Written Chinese in Traditional characters rather than written Cantonese — a distinction that is the whole subject of whether models can generate Cantonese.