Universe

Datify-core is an API library that provides foundational localization data and patterns to format dates, powered directly by Unicode CLDR data (cldr-json) and designed for Typst. It is the backend for Datify, but is reusable in any Typst project needing localized month and day names or locale-specific date patterns.

If you need high-quality, up-to-date, and standards-based date strings for any supported language, whether for a date formatting tool, localization system, or any Typst workflow, datify-core is your solution.

Data quality: All locale data is sourced from cldr-json, which only includes CLDR data that has achieved draft="contributed" or draft="approved" status. This is the same threshold used by ICU (International Components for Unicode), ensuring high reliability and coverage.


Table of Contents


Features

  • Full CLDR Coverage: Hundreds of languages and regional variants for months, weekdays, and patterns.
  • Simple API: Lookup day/month names and date patterns by locale, usage, and width.
  • Extensible & Updatable: Data auto-synced from cldr-json and can be extended or improved with community contributions.
  • Reusable: Designed for Datify, but works in any Typst project.

Installation

Install with Typst’s package manager or from preview:

#import "@preview/datify-core:1.0.0": *

(Replace version as needed.)


API Reference

get-day-name

Get the localized name of a weekday.

Parameters:

Name Type Description Default
weekday int/str The weekday (1–7, or “1”-“7”) required
lang str Locale code, e.g. “en”, “fr” “en”
usage str “stand-alone” (calendar headers) or “format” (full date formatting) “stand-alone”
width str “wide”, “abbreviated”, “narrow” “wide”

Example:

#get-day-name(1, lang: "fr", usage: "stand-alone", width: "wide") // lundi
#get-day-name(7, lang: "en", usage: "format", width: "abbreviated") // Sun

get-month-name

Get the localized name of a month.

Parameters:

Name Type Description Default
month int/str The month (1–12, or “1”-“12”) required
lang str Locale code, e.g. “en”, “fr” “en”
usage str “stand-alone” (calendar headers) or “format” (full date formatting) “stand-alone”
width str “wide”, “abbreviated”, “narrow” “wide”

Example:

#get-month-name(2, lang: "en", usage: "format", width: "abbreviated") // Feb
#get-month-name(8, lang: "de", usage: "stand-alone", width: "wide") // August

get-date-pattern

Get the date formatting pattern for a given locale.

Parameters:

Name Type Description Default
pattern-type str “full”, “long”, “medium”, “short” required
lang str Locale code, e.g. “en”, “fr” “en”

Example:

#get-date-pattern("medium", lang: "de") // dd.MM.y

Supported Locales

Coverage is based on the upstream CLDR dataset. Below is the full list of supported locales and their coverage:

Locale Coverage Localized/Total
aa 🟥 0.0% 0/114
aa-DJ 🟥 0.0% 0/114
aa-ER 🟥 0.0% 0/114
ab 🟥 0.0% 0/114
af 🟩 100.0% 114/114
af-NA 🟩 100.0% 114/114
agq 🟩 100.0% 114/114
ak 🟩 100.0% 114/114
am 🟩 100.0% 114/114
an 🟥 0.0% 0/114
ann 🟥 0.0% 0/114
apc 🟥 0.0% 0/114
ar 🟩 100.0% 114/114
ar-AE 🟩 100.0% 114/114
ar-BH 🟩 100.0% 114/114
ar-DJ 🟩 100.0% 114/114
ar-DZ 🟩 100.0% 114/114
ar-EG 🟩 100.0% 114/114
ar-EH 🟩 100.0% 114/114
ar-ER 🟩 100.0% 114/114
ar-IL 🟩 100.0% 114/114
ar-IQ 🟩 100.0% 114/114
ar-JO 🟩 100.0% 114/114
ar-KM 🟩 100.0% 114/114
ar-KW 🟩 100.0% 114/114
ar-LB 🟩 100.0% 114/114
ar-LY 🟩 100.0% 114/114
ar-MA 🟩 100.0% 114/114
ar-MR 🟩 100.0% 114/114
ar-OM 🟩 100.0% 114/114
ar-PS 🟩 100.0% 114/114
ar-QA 🟩 100.0% 114/114
ar-SA 🟩 100.0% 114/114
ar-SD 🟩 100.0% 114/114
ar-SO 🟩 100.0% 114/114
ar-SS 🟩 100.0% 114/114
ar-SY 🟩 100.0% 114/114
ar-TD 🟩 100.0% 114/114
ar-TN 🟩 100.0% 114/114
ar-YE 🟩 100.0% 114/114
arn 🟥 0.0% 0/114
as 🟩 100.0% 114/114
asa 🟩 100.0% 114/114
ast 🟩 100.0% 114/114
az 🟧 78.9% 90/114
az-Arab 🟥 0.0% 0/114
az-Arab-IQ 🟥 0.0% 0/114
az-Arab-TR 🟥 0.0% 0/114
az-Cyrl 🟧 78.9% 90/114
az-Latn 🟧 78.9% 90/114
ba 🟥 0.0% 0/114
bal 🟥 0.0% 0/114
bal-Arab 🟥 0.0% 0/114
bal-Latn 🟧 78.9% 90/114
bas 🟩 100.0% 114/114
be 🟩 100.0% 114/114
be-tarask 🟩 100.0% 114/114
bem 🟨 87.7% 100/114
bew 🟥 0.0% 0/114
bez 🟩 100.0% 114/114
bg 🟩 100.0% 114/114
bgc 🟧 66.7% 76/114
bgn 🟥 0.0% 0/114
bgn-AE 🟥 0.0% 0/114
bgn-AF 🟥 0.0% 0/114
bgn-IR 🟥 0.0% 0/114
bgn-OM 🟥 0.0% 0/114
bho 🟧 66.7% 76/114
blo 🟧 78.9% 90/114
blt 🟥 0.0% 0/114
bm 🟩 100.0% 114/114
bm-Nkoo 🟥 0.0% 0/114
bn 🟩 100.0% 114/114
bn-IN 🟩 100.0% 114/114
bo 🟧 78.9% 90/114
bo-IN 🟧 78.9% 90/114
br 🟨 94.7% 108/114
brx 🟩 100.0% 114/114
bs 🟩 100.0% 114/114
bs-Cyrl 🟩 100.0% 114/114
bs-Latn 🟩 100.0% 114/114
bss 🟥 0.0% 0/114
byn 🟥 0.0% 0/114
ca 🟩 100.0% 114/114
ca-AD 🟩 100.0% 114/114
ca-ES-valencia 🟩 100.0% 114/114
ca-FR 🟩 100.0% 114/114
ca-IT 🟩 100.0% 114/114
cad 🟧 66.7% 76/114
cch 🟥 0.0% 0/114
ccp 🟩 100.0% 114/114
ccp-IN 🟩 100.0% 114/114
ce 🟩 100.0% 114/114
ceb 🟩 100.0% 114/114
cgg 🟩 100.0% 114/114
cho 🟥 0.0% 0/114
chr 🟩 100.0% 114/114
cic 🟧 66.7% 76/114
ckb 🟩 100.0% 114/114
ckb-IR 🟩 100.0% 114/114
co 🟥 0.0% 0/114
cop 🟥 0.0% 0/114
cs 🟧 78.9% 90/114
csw 🟧 78.9% 90/114
cu 🟥 0.0% 0/114
cv 🟩 100.0% 114/114
cy 🟩 100.0% 114/114
da 🟩 100.0% 114/114
da-GL 🟩 100.0% 114/114
dav 🟩 100.0% 114/114
de 🟩 100.0% 114/114
de-AT 🟩 100.0% 114/114
de-BE 🟩 100.0% 114/114
de-CH 🟩 100.0% 114/114
de-IT 🟩 100.0% 114/114
de-LI 🟩 100.0% 114/114
de-LU 🟩 100.0% 114/114
dje 🟩 100.0% 114/114
doi 🟩 100.0% 114/114
dsb 🟩 100.0% 114/114
dua 🟩 100.0% 114/114
dv 🟥 0.0% 0/114
dyo 🟩 100.0% 114/114
dz 🟨 98.2% 112/114
ebu 🟩 100.0% 114/114
ee 🟩 100.0% 114/114
ee-TG 🟩 100.0% 114/114
el 🟩 100.0% 114/114
el-CY 🟩 100.0% 114/114
el-polyton 🟩 100.0% 114/114
en 🟩 100.0% 114/114
en-001 🟩 100.0% 114/114
en-150 🟩 100.0% 114/114
en-AE 🟩 100.0% 114/114
en-AG 🟩 100.0% 114/114
en-AI 🟩 100.0% 114/114
en-AS 🟩 100.0% 114/114
en-AT 🟩 100.0% 114/114
en-AU 🟩 100.0% 114/114
en-BB 🟩 100.0% 114/114
en-BE 🟩 100.0% 114/114
en-BI 🟩 100.0% 114/114
en-BM 🟩 100.0% 114/114
en-BS 🟩 100.0% 114/114
en-BW 🟩 100.0% 114/114
en-BZ 🟩 100.0% 114/114
en-CA 🟩 100.0% 114/114
en-CC 🟩 100.0% 114/114
en-CH 🟩 100.0% 114/114
en-CK 🟩 100.0% 114/114
en-CM 🟩 100.0% 114/114
en-CX 🟩 100.0% 114/114
en-CY 🟩 100.0% 114/114
en-CZ 🟩 100.0% 114/114
en-DE 🟩 100.0% 114/114
en-DG 🟩 100.0% 114/114
en-DK 🟩 100.0% 114/114
en-DM 🟩 100.0% 114/114
en-Dsrt 🟩 100.0% 114/114
en-ER 🟩 100.0% 114/114
en-ES 🟩 100.0% 114/114
en-FI 🟩 100.0% 114/114
en-FJ 🟩 100.0% 114/114
en-FK 🟩 100.0% 114/114
en-FM 🟩 100.0% 114/114
en-FR 🟩 100.0% 114/114
en-GB 🟩 100.0% 114/114
en-GD 🟩 100.0% 114/114
en-GG 🟩 100.0% 114/114
en-GH 🟩 100.0% 114/114
en-GI 🟩 100.0% 114/114
en-GM 🟩 100.0% 114/114
en-GS 🟩 100.0% 114/114
en-GU 🟩 100.0% 114/114
en-GY 🟩 100.0% 114/114
en-HK 🟩 100.0% 114/114
en-HU 🟩 100.0% 114/114
en-ID 🟩 100.0% 114/114
en-IE 🟩 100.0% 114/114
en-IL 🟩 100.0% 114/114
en-IM 🟩 100.0% 114/114
en-IN 🟩 100.0% 114/114
en-IO 🟩 100.0% 114/114
en-IT 🟩 100.0% 114/114
en-JE 🟩 100.0% 114/114
en-JM 🟩 100.0% 114/114
en-KE 🟩 100.0% 114/114
en-KI 🟩 100.0% 114/114
en-KN 🟩 100.0% 114/114
en-KY 🟩 100.0% 114/114
en-LC 🟩 100.0% 114/114
en-LR 🟩 100.0% 114/114
en-LS 🟩 100.0% 114/114
en-MG 🟩 100.0% 114/114
en-MH 🟩 100.0% 114/114
en-MO 🟩 100.0% 114/114
en-MP 🟩 100.0% 114/114
en-MS 🟩 100.0% 114/114
en-MT 🟩 100.0% 114/114
en-MU 🟩 100.0% 114/114
en-MV 🟩 100.0% 114/114
en-MW 🟩 100.0% 114/114
en-MY 🟩 100.0% 114/114
en-NA 🟩 100.0% 114/114
en-NF 🟩 100.0% 114/114
en-NG 🟩 100.0% 114/114
en-NL 🟩 100.0% 114/114
en-NO 🟩 100.0% 114/114
en-NR 🟩 100.0% 114/114
en-NU 🟩 100.0% 114/114
en-NZ 🟩 100.0% 114/114
en-PG 🟩 100.0% 114/114
en-PH 🟩 100.0% 114/114
en-PK 🟩 100.0% 114/114
en-PL 🟩 100.0% 114/114
en-PN 🟩 100.0% 114/114
en-PR 🟩 100.0% 114/114
en-PT 🟩 100.0% 114/114
en-PW 🟩 100.0% 114/114
en-RO 🟩 100.0% 114/114
en-RW 🟩 100.0% 114/114
en-SB 🟩 100.0% 114/114
en-SC 🟩 100.0% 114/114
en-SD 🟩 100.0% 114/114
en-SE 🟩 100.0% 114/114
en-SG 🟩 100.0% 114/114
en-SH 🟩 100.0% 114/114
en-SI 🟩 100.0% 114/114
en-SK 🟩 100.0% 114/114
en-SL 🟩 100.0% 114/114
en-SS 🟩 100.0% 114/114
en-SX 🟩 100.0% 114/114
en-SZ 🟩 100.0% 114/114
en-Shaw 🟩 100.0% 114/114
en-TC 🟩 100.0% 114/114
en-TK 🟩 100.0% 114/114
en-TO 🟩 100.0% 114/114
en-TT 🟩 100.0% 114/114
en-TV 🟩 100.0% 114/114
en-TZ 🟩 100.0% 114/114
en-UG 🟩 100.0% 114/114
en-UM 🟩 100.0% 114/114
en-VC 🟩 100.0% 114/114
en-VG 🟩 100.0% 114/114
en-VI 🟩 100.0% 114/114
en-VU 🟩 100.0% 114/114
en-WS 🟩 100.0% 114/114
en-ZA 🟩 100.0% 114/114
en-ZM 🟩 100.0% 114/114
en-ZW 🟩 100.0% 114/114
eo 🟧 66.7% 76/114
es 🟩 100.0% 114/114
es-419 🟩 100.0% 114/114
es-AR 🟩 100.0% 114/114
es-BO 🟩 100.0% 114/114
es-BR 🟩 100.0% 114/114
es-BZ 🟩 100.0% 114/114
es-CL 🟩 100.0% 114/114
es-CO 🟩 100.0% 114/114
es-CR 🟩 100.0% 114/114
es-CU 🟩 100.0% 114/114
es-DO 🟩 100.0% 114/114
es-EA 🟩 100.0% 114/114
es-EC 🟩 100.0% 114/114
es-GQ 🟩 100.0% 114/114
es-GT 🟩 100.0% 114/114
es-HN 🟩 100.0% 114/114
es-IC 🟩 100.0% 114/114
es-MX 🟩 100.0% 114/114
es-NI 🟩 100.0% 114/114
es-PA 🟩 100.0% 114/114
es-PE 🟩 100.0% 114/114
es-PH 🟩 100.0% 114/114
es-PR 🟩 100.0% 114/114
es-PY 🟩 100.0% 114/114
es-SV 🟩 100.0% 114/114
es-US 🟩 100.0% 114/114
es-UY 🟩 100.0% 114/114
es-VE 🟩 100.0% 114/114
et 🟩 100.0% 114/114
eu 🟩 100.0% 114/114
ewo 🟩 100.0% 114/114
fa 🟩 100.0% 114/114
fa-AF 🟩 100.0% 114/114
ff 🟩 100.0% 114/114
ff-Adlm 🟩 100.0% 114/114
ff-Adlm-BF 🟩 100.0% 114/114
ff-Adlm-CM 🟩 100.0% 114/114
ff-Adlm-GH 🟩 100.0% 114/114
ff-Adlm-GM 🟩 100.0% 114/114
ff-Adlm-GW 🟩 100.0% 114/114
ff-Adlm-LR 🟩 100.0% 114/114
ff-Adlm-MR 🟩 100.0% 114/114
ff-Adlm-NE 🟩 100.0% 114/114
ff-Adlm-NG 🟩 100.0% 114/114
ff-Adlm-SL 🟩 100.0% 114/114
ff-Adlm-SN 🟩 100.0% 114/114
ff-Latn 🟩 100.0% 114/114
ff-Latn-BF 🟩 100.0% 114/114
ff-Latn-CM 🟩 100.0% 114/114
ff-Latn-GH 🟩 100.0% 114/114
ff-Latn-GM 🟩 100.0% 114/114
ff-Latn-GN 🟩 100.0% 114/114
ff-Latn-GW 🟩 100.0% 114/114
ff-Latn-LR 🟩 100.0% 114/114
ff-Latn-MR 🟩 100.0% 114/114
ff-Latn-NE 🟩 100.0% 114/114
ff-Latn-NG 🟩 100.0% 114/114
ff-Latn-SL 🟩 100.0% 114/114
fi 🟩 100.0% 114/114
fil 🟩 100.0% 114/114
fo 🟩 100.0% 114/114
fo-DK 🟩 100.0% 114/114
fr 🟩 100.0% 114/114
fr-BE 🟩 100.0% 114/114
fr-BF 🟩 100.0% 114/114
fr-BI 🟩 100.0% 114/114
fr-BJ 🟩 100.0% 114/114
fr-BL 🟩 100.0% 114/114
fr-CA 🟩 100.0% 114/114
fr-CD 🟩 100.0% 114/114
fr-CF 🟩 100.0% 114/114
fr-CG 🟩 100.0% 114/114
fr-CH 🟩 100.0% 114/114
fr-CI 🟩 100.0% 114/114
fr-CM 🟩 100.0% 114/114
fr-DJ 🟩 100.0% 114/114
fr-DZ 🟩 100.0% 114/114
fr-GA 🟩 100.0% 114/114
fr-GF 🟩 100.0% 114/114
fr-GN 🟩 100.0% 114/114
fr-GP 🟩 100.0% 114/114
fr-GQ 🟩 100.0% 114/114
fr-HT 🟩 100.0% 114/114
fr-KM 🟩 100.0% 114/114
fr-LU 🟩 100.0% 114/114
fr-MA 🟩 100.0% 114/114
fr-MC 🟩 100.0% 114/114
fr-MF 🟩 100.0% 114/114
fr-MG 🟩 100.0% 114/114
fr-ML 🟩 100.0% 114/114
fr-MQ 🟩 100.0% 114/114
fr-MR 🟩 100.0% 114/114
fr-MU 🟩 100.0% 114/114
fr-NC 🟩 100.0% 114/114
fr-NE 🟩 100.0% 114/114
fr-PF 🟩 100.0% 114/114
fr-PM 🟩 100.0% 114/114
fr-RE 🟩 100.0% 114/114
fr-RW 🟩 100.0% 114/114
fr-SC 🟩 100.0% 114/114
fr-SN 🟩 100.0% 114/114
fr-SY 🟩 100.0% 114/114
fr-TD 🟩 100.0% 114/114
fr-TG 🟩 100.0% 114/114
fr-TN 🟩 100.0% 114/114
fr-VU 🟩 100.0% 114/114
fr-WF 🟩 100.0% 114/114
fr-YT 🟩 100.0% 114/114
frr 🟥 0.0% 0/114
fur 🟩 100.0% 114/114
fy 🟨 87.7% 100/114
ga 🟩 100.0% 114/114
ga-GB 🟩 100.0% 114/114
gaa 🟧 66.7% 76/114
gd 🟩 100.0% 114/114
gez 🟥 0.0% 0/114
gez-ER 🟥 0.0% 0/114
gl 🟩 100.0% 114/114
gn 🟧 66.7% 76/114
gsw 🟩 100.0% 114/114
gsw-FR 🟩 100.0% 114/114
gsw-LI 🟩 100.0% 114/114
gu 🟩 100.0% 114/114
guz 🟩 100.0% 114/114
gv 🟧 66.7% 76/114
ha 🟩 100.0% 114/114
ha-Arab 🟥 0.0% 0/114
ha-Arab-SD 🟥 0.0% 0/114
ha-GH 🟩 100.0% 114/114
ha-NE 🟩 100.0% 114/114
haw 🟧 66.7% 76/114
he 🟧 78.9% 90/114
hi 🟩 100.0% 114/114
hi-Latn 🟩 100.0% 114/114
hnj 🟧 48.2% 55/114
hnj-Hmnp 🟧 48.2% 55/114
hr 🟩 100.0% 114/114
hr-BA 🟩 100.0% 114/114
hsb 🟩 100.0% 114/114
ht 🟩 100.0% 114/114
hu 🟩 100.0% 114/114
hy 🟩 100.0% 114/114
ia 🟨 89.5% 102/114
id 🟩 100.0% 114/114
ie 🟩 100.0% 114/114
ig 🟨 87.7% 100/114
ii 🟧 78.9% 90/114
io 🟥 0.0% 0/114
is 🟩 100.0% 114/114
it 🟩 100.0% 114/114
it-CH 🟩 100.0% 114/114
it-SM 🟩 100.0% 114/114
it-VA 🟩 100.0% 114/114
iu 🟥 0.0% 0/114
iu-Latn 🟥 0.0% 0/114
ja 🟧 78.9% 90/114
jbo 🟥 0.0% 0/114
jgo 🟧 78.9% 90/114
jmc 🟩 100.0% 114/114
jv 🟩 100.0% 114/114
ka 🟩 100.0% 114/114
kaa 🟩 100.0% 114/114
kaa-Cyrl 🟩 100.0% 114/114
kaa-Latn 🟥 0.0% 0/114
kab 🟩 100.0% 114/114
kaj 🟥 0.0% 0/114
kam 🟩 100.0% 114/114
kcg 🟥 0.0% 0/114
kde 🟩 100.0% 114/114
kea 🟩 100.0% 114/114
ken 🟥 0.0% 0/114
kgp 🟩 100.0% 114/114
khq 🟩 100.0% 114/114
ki 🟩 100.0% 114/114
kk 🟩 100.0% 114/114
kk-Arab 🟥 0.0% 0/114
kk-Cyrl 🟩 100.0% 114/114
kk-KZ 🟩 100.0% 114/114
kkj 🟧 75.4% 86/114
kl 🟧 66.7% 76/114
kln 🟩 100.0% 114/114
km 🟩 100.0% 114/114
kn 🟩 100.0% 114/114
ko 🟩 100.0% 114/114
ko-CN 🟩 100.0% 114/114
ko-KP 🟩 100.0% 114/114
kok 🟧 78.9% 90/114
kok-Deva 🟧 78.9% 90/114
kok-Latn 🟩 100.0% 114/114
kpe 🟥 0.0% 0/114
kpe-GN 🟥 0.0% 0/114
ks 🟩 100.0% 114/114
ks-Arab 🟩 100.0% 114/114
ks-Deva 🟩 100.0% 114/114
ksb 🟩 100.0% 114/114
ksf 🟧 78.9% 90/114
ksh 🟩 100.0% 114/114
ku 🟩 100.0% 114/114
kw 🟧 66.7% 76/114
kxv 🟩 100.0% 114/114
kxv-Deva 🟩 100.0% 114/114
kxv-Latn 🟩 100.0% 114/114
kxv-Orya 🟩 100.0% 114/114
kxv-Telu 🟩 100.0% 114/114
ky 🟩 100.0% 114/114
la 🟥 0.0% 0/114
lag 🟩 100.0% 114/114
lb 🟩 100.0% 114/114
lg 🟩 100.0% 114/114
lij 🟧 66.7% 76/114
lkt 🟧 72.8% 83/114
lld 🟩 100.0% 114/114
lmo 🟧 66.7% 76/114
ln 🟩 100.0% 114/114
ln-AO 🟩 100.0% 114/114
ln-CF 🟩 100.0% 114/114
ln-CG 🟩 100.0% 114/114
lo 🟧 78.9% 90/114
lrc 🟧 42.1% 48/114
lrc-IQ 🟧 42.1% 48/114
lt 🟩 100.0% 114/114
ltg 🟥 0.0% 0/114
lu 🟩 100.0% 114/114
luo 🟩 100.0% 114/114
luy 🟨 87.7% 100/114
lv 🟩 100.0% 114/114
mai 🟩 100.0% 114/114
mas 🟧 78.9% 90/114
mas-TZ 🟧 78.9% 90/114
mdf 🟥 0.0% 0/114
mer 🟩 100.0% 114/114
mfe 🟩 100.0% 114/114
mg 🟩 100.0% 114/114
mgh 🟩 100.0% 114/114
mgo 🟨 94.7% 108/114
mhn 🟥 0.0% 0/114
mi 🟩 100.0% 114/114
mic 🟥 0.0% 0/114
mk 🟩 100.0% 114/114
ml 🟩 100.0% 114/114
mn 🟩 100.0% 114/114
mn-Mong 🟥 0.0% 0/114
mn-Mong-MN 🟩 100.0% 114/114
mni 🟩 100.0% 114/114
mni-Beng 🟩 100.0% 114/114
mni-Mtei 🟥 0.0% 0/114
moh 🟥 0.0% 0/114
mr 🟩 100.0% 114/114
ms 🟩 100.0% 114/114
ms-Arab 🟥 0.0% 0/114
ms-Arab-BN 🟥 0.0% 0/114
ms-BN 🟩 100.0% 114/114
ms-ID 🟩 100.0% 114/114
ms-SG 🟩 100.0% 114/114
mt 🟩 100.0% 114/114
mua 🟩 100.0% 114/114
mus 🟧 66.7% 76/114
my 🟩 100.0% 114/114
myv 🟥 0.0% 0/114
mzn 🟧 42.1% 48/114
naq 🟩 100.0% 114/114
nb 🟩 100.0% 114/114
nb-SJ 🟩 100.0% 114/114
nd 🟩 100.0% 114/114
nds 🟧 66.7% 76/114
nds-NL 🟧 66.7% 76/114
ne 🟩 100.0% 114/114
ne-IN 🟩 100.0% 114/114
nl 🟩 100.0% 114/114
nl-AW 🟩 100.0% 114/114
nl-BE 🟩 100.0% 114/114
nl-BQ 🟩 100.0% 114/114
nl-CW 🟩 100.0% 114/114
nl-SR 🟩 100.0% 114/114
nl-SX 🟩 100.0% 114/114
nmg 🟧 78.9% 90/114
nn 🟩 100.0% 114/114
nnh 🟧 66.7% 76/114
no 🟩 100.0% 114/114
nqo 🟩 100.0% 114/114
nr 🟥 0.0% 0/114
nso 🟩 100.0% 114/114
nus 🟩 100.0% 114/114
nv 🟥 0.0% 0/114
ny 🟥 0.0% 0/114
nyn 🟩 100.0% 114/114
oc 🟧 66.7% 76/114
oc-ES 🟧 66.7% 76/114
om 🟩 100.0% 114/114
om-KE 🟩 100.0% 114/114
or 🟩 100.0% 114/114
os 🟩 100.0% 114/114
os-RU 🟩 100.0% 114/114
osa 🟧 72.8% 83/114
pa 🟩 100.0% 114/114
pa-Arab 🟧 66.7% 76/114
pa-Guru 🟩 100.0% 114/114
pap 🟧 66.7% 76/114
pap-AW 🟧 66.7% 76/114
pcm 🟨 87.7% 100/114
pis 🟧 66.7% 76/114
pl 🟩 100.0% 114/114
prg 🟧 66.7% 76/114
ps 🟧 77.2% 88/114
ps-PK 🟧 77.2% 88/114
pt 🟩 100.0% 114/114
pt-AO 🟩 100.0% 114/114
pt-CH 🟩 100.0% 114/114
pt-CV 🟩 100.0% 114/114
pt-GQ 🟩 100.0% 114/114
pt-GW 🟩 100.0% 114/114
pt-LU 🟩 100.0% 114/114
pt-MO 🟩 100.0% 114/114
pt-MZ 🟩 100.0% 114/114
pt-PT 🟩 100.0% 114/114
pt-ST 🟩 100.0% 114/114
pt-TL 🟩 100.0% 114/114
qu 🟧 78.9% 90/114
qu-BO 🟧 78.9% 90/114
qu-EC 🟧 78.9% 90/114
quc 🟥 0.0% 0/114
raj 🟧 66.7% 76/114
rhg 🟥 0.0% 0/114
rhg-Rohg 🟥 0.0% 0/114
rhg-Rohg-BD 🟥 0.0% 0/114
rif 🟥 0.0% 0/114
rm 🟩 100.0% 114/114
rn 🟧 66.7% 76/114
ro 🟩 100.0% 114/114
ro-MD 🟩 100.0% 114/114
rof 🟨 94.7% 108/114
ru 🟩 100.0% 114/114
ru-BY 🟩 100.0% 114/114
ru-KG 🟩 100.0% 114/114
ru-KZ 🟩 100.0% 114/114
ru-MD 🟩 100.0% 114/114
ru-UA 🟩 100.0% 114/114
rw 🟧 66.7% 76/114
rwk 🟩 100.0% 114/114
sa 🟨 89.5% 102/114
sah 🟩 100.0% 114/114
saq 🟩 100.0% 114/114
sat 🟩 100.0% 114/114
sat-Deva 🟥 0.0% 0/114
sat-Olck 🟩 100.0% 114/114
sbp 🟧 78.9% 90/114
sc 🟩 100.0% 114/114
scn 🟥 0.0% 0/114
sd 🟩 100.0% 114/114
sd-Arab 🟩 100.0% 114/114
sd-Deva 🟩 100.0% 114/114
sdh 🟥 0.0% 0/114
sdh-IQ 🟥 0.0% 0/114
se 🟩 100.0% 114/114
se-FI 🟩 100.0% 114/114
se-SE 🟩 100.0% 114/114
seh 🟩 100.0% 114/114
ses 🟩 100.0% 114/114
sg 🟩 100.0% 114/114
shi 🟨 87.7% 100/114
shi-Latn 🟨 87.7% 100/114
shi-Tfng 🟨 87.7% 100/114
shn 🟥 0.0% 0/114
shn-TH 🟥 0.0% 0/114
si 🟩 100.0% 114/114
sid 🟥 0.0% 0/114
sk 🟩 100.0% 114/114
skr 🟥 0.0% 0/114
sl 🟩 100.0% 114/114
sma 🟥 0.0% 0/114
sma-NO 🟥 0.0% 0/114
smj 🟥 0.0% 0/114
smj-NO 🟥 0.0% 0/114
smn 🟨 93.9% 107/114
sms 🟥 0.0% 0/114
sn 🟩 100.0% 114/114
so 🟩 100.0% 114/114
so-DJ 🟩 100.0% 114/114
so-ET 🟩 100.0% 114/114
so-KE 🟩 100.0% 114/114
sq 🟩 100.0% 114/114
sq-MK 🟩 100.0% 114/114
sq-XK 🟩 100.0% 114/114
sr 🟩 100.0% 114/114
sr-Cyrl 🟩 100.0% 114/114
sr-Cyrl-BA 🟩 100.0% 114/114
sr-Cyrl-ME 🟩 100.0% 114/114
sr-Cyrl-XK 🟩 100.0% 114/114
sr-Latn 🟩 100.0% 114/114
sr-Latn-BA 🟩 100.0% 114/114
sr-Latn-ME 🟩 100.0% 114/114
sr-Latn-XK 🟩 100.0% 114/114
ss 🟥 0.0% 0/114
ss-SZ 🟥 0.0% 0/114
ssy 🟥 0.0% 0/114
st 🟧 66.7% 76/114
st-LS 🟧 66.7% 76/114
su 🟩 100.0% 114/114
su-Latn 🟩 100.0% 114/114
sv 🟩 100.0% 114/114
sv-AX 🟩 100.0% 114/114
sv-FI 🟩 100.0% 114/114
sw 🟨 87.7% 100/114
sw-CD 🟨 87.7% 100/114
sw-KE 🟨 87.7% 100/114
sw-UG 🟨 87.7% 100/114
syr 🟩 100.0% 114/114
syr-SY 🟩 100.0% 114/114
szl 🟧 66.7% 76/114
ta 🟩 100.0% 114/114
ta-LK 🟩 100.0% 114/114
ta-MY 🟩 100.0% 114/114
ta-SG 🟩 100.0% 114/114
te 🟩 100.0% 114/114
teo 🟩 100.0% 114/114
teo-KE 🟩 100.0% 114/114
tg 🟩 100.0% 114/114
th 🟩 100.0% 114/114
ti 🟩 100.0% 114/114
ti-ER 🟩 100.0% 114/114
tig 🟥 0.0% 0/114
tk 🟩 100.0% 114/114
tn 🟧 66.7% 76/114
tn-BW 🟧 66.7% 76/114
to 🟩 100.0% 114/114
tok 🟧 66.7% 76/114
tpi 🟧 66.7% 76/114
tr 🟩 100.0% 114/114
tr-CY 🟩 100.0% 114/114
trv 🟥 0.0% 0/114
trw 🟥 0.0% 0/114
ts 🟧 66.7% 76/114
tt 🟧 78.9% 90/114
twq 🟩 100.0% 114/114
tyv 🟥 0.0% 0/114
tzm 🟩 100.0% 114/114
ug 🟧 78.9% 90/114
uk 🟩 100.0% 114/114
und 🟥 0.0% 0/114
ur 🟨 87.7% 100/114
ur-IN 🟨 87.7% 100/114
uz 🟩 100.0% 114/114
uz-Arab 🟧 66.7% 76/114
uz-Cyrl 🟩 100.0% 114/114
uz-Latn 🟩 100.0% 114/114
vai 🟧 66.7% 76/114
vai-Latn 🟥 24.6% 28/114
vai-Vaii 🟧 66.7% 76/114
ve 🟥 0.0% 0/114
vec 🟩 100.0% 114/114
vi 🟧 78.9% 90/114
vmw 🟧 66.7% 76/114
vo 🟥 0.0% 0/114
vun 🟩 100.0% 114/114
wa 🟥 0.0% 0/114
wae 🟩 100.0% 114/114
wal 🟥 0.0% 0/114
wbp 🟥 0.0% 0/114
wo 🟧 78.9% 90/114
xh 🟧 78.9% 90/114
xnr 🟩 100.0% 114/114
xog 🟩 100.0% 114/114
yav 🟧 78.9% 90/114
yi 🟧 66.7% 76/114
yo 🟩 100.0% 114/114
yo-BJ 🟩 100.0% 114/114
yrl 🟩 100.0% 114/114
yrl-CO 🟩 100.0% 114/114
yrl-VE 🟩 100.0% 114/114
yue 🟧 78.9% 90/114
yue-Hans 🟧 78.9% 90/114
yue-Hant 🟧 78.9% 90/114
yue-Hant-CN 🟧 78.9% 90/114
yue-Hant-MO 🟧 78.9% 90/114
za 🟧 66.7% 76/114
zgh 🟨 87.7% 100/114
zh 🟧 78.9% 90/114
zh-Hans 🟧 78.9% 90/114
zh-Hans-HK 🟧 78.9% 90/114
zh-Hans-MO 🟧 78.9% 90/114
zh-Hans-MY 🟧 78.9% 90/114
zh-Hans-SG 🟧 78.9% 90/114
zh-Hant 🟧 78.9% 90/114
zh-Hant-HK 🟧 78.9% 90/114
zh-Hant-MO 🟧 78.9% 90/114
zh-Hant-MY 🟧 78.9% 90/114
zh-Latn 🟥 0.0% 0/114
zu 🟩 100.0% 114/114

Testing

To run the full test suite locally, you have two options:

  1. Manual (recommended for contributors)

    • Install Python (for generating golden test cases)
    • Install tt (tytanic) to run the Typst tests
    # Generate golden tests
    cd tools
    python generate_golden_test.py
    cd ..
    # Run tests
    tt run
    
  2. Via GitHub Actions workflow locally

    • Install act
    • Run the CI workflow as it appears in .github/workflows/test.yml:
    act --artifact-server-path /tmp/artifact
    

Contributing

  • Native speakers wanted! If you are fluent in a language and notice missing or incorrect translations, please contribute improvements directly to the TOML files. Community-supplied corrections and completions are very welcome and will be preserved even if CLDR data updates.
  • Pull requests for bug fixes, locale improvements, or API enhancements are also welcome.
  • See cldr-json for upstream data and structure.
  • If you wish to run tests, see the Testing section above for setup.

License

MIT © 2025 Jeomhps CLDR data © Unicode, Inc., used under the Unicode License.


Credits