Skip to content

Instantly share code, notes, and snippets.

@typpo
Last active December 24, 2024 15:13
Show Gist options
  • Save typpo/b2b828a35e683b9bf8db91b5404f1bd1 to your computer and use it in GitHub Desktop.
Save typpo/b2b828a35e683b9bf8db91b5404f1bd1 to your computer and use it in GitHub Desktop.
BCP 47 language tags
Language Tag Language Region Description
ar-SA Arabic Saudi Arabia Arabic (Saudi Arabia)
bn-BD Bangla Bangladesh Bangla (Bangladesh)
bn-IN Bangla India Bangla (India)
cs-CZ Czech Czech Republic Czech (Czech Republic)
da-DK Danish Denmark Danish (Denmark)
de-AT German Austria Austrian German
de-CH German Switzerland "Swiss" German
de-DE German Germany Standard German (as spoken in Germany)
el-GR Greek Greece Modern Greek
en-AU English Australia Australian English
en-CA English Canada Canadian English
en-GB English United Kingdom British English
en-IE English Ireland Irish English
en-IN English India Indian English
en-NZ English New Zealand New Zealand English
en-US English United States US English
en-ZA English South Africa English (South Africa)
es-AR Spanish Argentina Argentine Spanish
es-CL Spanish Chile Chilean Spanish
es-CO Spanish Colombia Colombian Spanish
es-ES Spanish Spain Castilian Spanish (as spoken in Central-Northern Spain)
es-MX Spanish Mexico Mexican Spanish
es-US Spanish United States American Spanish
fi-FI Finnish Finland Finnish (Finland)
fr-BE French Belgium Belgian French
fr-CA French Canada Canadian French
fr-CH French Switzerland "Swiss" French
fr-FR French France Standard French (especially in France)
he-IL Hebrew Israel Hebrew (Israel)
hi-IN Hindi India Hindi (India)
hu-HU Hungarian Hungary Hungarian (Hungary)
id-ID Indonesian Indonesia Indonesian (Indonesia)
it-CH Italian Switzerland "Swiss" Italian
it-IT Italian Italy Standard Italian (as spoken in Italy)
ja-JP Japanese Japan Japanese (Japan)
ko-KR Korean Republic of Korea Korean (Republic of Korea)
nl-BE Dutch Belgium Belgian Dutch
nl-NL Dutch The Netherlands Standard Dutch (as spoken in The Netherlands)
no-NO Norwegian Norway Norwegian (Norway)
pl-PL Polish Poland Polish (Poland)
pt-BR Portuguese Brazil Brazilian Portuguese
pt-PT Portuguese Portugal European Portuguese (as written and spoken in Portugal)
ro-RO Romanian Romania Romanian (Romania)
ru-RU Russian Russian Federation Russian (Russian Federation)
sk-SK Slovak Slovakia Slovak (Slovakia)
sv-SE Swedish Sweden Swedish (Sweden)
ta-IN Tamil India Indian Tamil
ta-LK Tamil Sri Lanka Sri Lankan Tamil
th-TH Thai Thailand Thai (Thailand)
tr-TR Turkish Turkey Turkish (Turkey)
zh-CN Chinese China Mainland China, simplified characters
zh-HK Chinese Hong Kong Hong Kong, traditional characters
zh-TW Chinese Taiwan Taiwan, traditional characters
@pardoman
Copy link

jp-JP should be ja-JP

@MoritzBru
Copy link

For zh-HK there is a typo in the Region, I guess it should be Hong Kong.

@typpo
Copy link
Author

typpo commented Mar 5, 2024

Thanks for the catch

@richirisu
Copy link

I'd like to point out that the tags for Chinese basically represent Mandarin (Mainland China) / simplified characters for zh-CH, Mandarin (Taiwan) / traditional characters for zh-TW, and Cantonese (Hong Kong) / traditional characters for zh-HK.

Although most systems haven't adopted it yet and still prefer the older above method, the recommended way is to use the new language tags cmn-CN, cmn-TW, yue-HK instead. There are actually more, like wuu-CN for Wu Chinese (among others).

I found this page very interesting:
https://cloud.google.com/text-to-speech/docs/voices

Also, have you considered adding ko-KP for Korean (North Korea) and vi-VN for Vietnamese (Vietnam)? Well, I guess it's a never ending story...

@dobleyo
Copy link

dobleyo commented Oct 12, 2024

es-CO it is Colombia, not Columbia
ColombiaNotColumbia

@typpo
Copy link
Author

typpo commented Oct 12, 2024

Thanks

@Korb
Copy link

Korb commented Dec 24, 2024

This is odd: the EPUB3 specification says to use BCP 47 language codes. Two-letter indexes are given as examples (here, here, here and here). However, here you give four-letter designations, calling them BCP 47 language tags.

What is the reason for the discrepancy?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment