ZA · ZAF
South Africa languages and locale codes
Official or primary languages with practical BCP 47 locale recommendations.
BCP 47
Languages and locale codes
| Language | Code | Recommended locale | Status |
|---|---|---|---|
| English | Official | ||
| Zulu | Regional official | ||
| Xhosa | Regional official | ||
| Afrikaans | Regional official | ||
| Northern Sotho | Regional official | ||
| Tswana | Regional official | ||
| Southern Sotho | Regional official | ||
| Tsonga | Regional official | ||
| Swati | Regional official | ||
| Venda | Regional official | ||
| South Ndebele | Regional official |
Use a South Africa locale in a product
When content is written in English, use the lang tag below to describe the text. The Intl locale selects regional formatting. This is one example from the table, not a claim about every visitor's language preference.
<html lang="en">
new Intl.NumberFormat("en-ZA").format(1234567.89);Compare number and date formatting
These examples use 1234567.89 and the fixed instant 2026-01-15T13:45:00Z, with dates displayed in UTC. Intl computes the results when this site is built; your browser and locale-data version may differ. Unsupported tags are identified instead of showing default-language output.
| Locale | Number | Date | Currency |
|---|---|---|---|
en-ZA | 1 234 567,89 | 15 January 2026 | ZAR: R 1 234,50 |
zu-ZA | 1,234,567.89 | Januwari 15, 2026 | ZAR: R 1,234.50 |
xh-ZA | 1 234 567.89 | Janyuwari 15, 2026 | ZAR: R 1 234.50 |
af-ZA | 1 234 567,89 | 15 Januarie 2026 | ZAR: R 1 234,50 |
nso-ZA | 1,234,567.89 | 2026 Janeware 15 | ZAR: R 1,234.50 |
tn-ZA | 1'234'567.89 | 2026 Ferikgong 15 | ZAR: R 1'234.50 |
st-ZA | 1,234,567.89 | 2026 Pherekgong 15 | ZAR: R 1,234.50 |
ts-ZA | Unsupported in this build | Unsupported in this build | ZAR: Unsupported in this build |
ss-ZA | Unsupported in this build | Unsupported in this build | ZAR: Unsupported in this build |
ve-ZA | Unsupported in this build | Unsupported in this build | ZAR: Unsupported in this build |
nr-ZA | Unsupported in this build | Unsupported in this build | ZAR: Unsupported in this build |
Currency examples use the fixed value 1234.5. SIX and CLDR snapshot: 2026-09-26. Specify each currency explicitly; formatting is not an exchange rate.
new Intl.NumberFormat("en-ZA", { style: "currency", currency: "ZAR" }).format(1234.5);Before adopting a tag, run Intl.NumberFormat.supportedLocalesOf() and Intl.DateTimeFormat.supportedLocalesOf() in your target runtime. A locale does not select a time zone or translate interface text; specify currency explicitly when formatting money.
Data provenance
Sources
- ISO 3166-1 country codes
- Unicode CLDR territory information
- SIX: ISO 4217 List One
- Unicode CLDR 48 currency territory data
Data snapshot: 2026-09-26