0.1.0 - 2026-09-06
Release Notes
First release.
Added
Normalizer(normalize,annotate) withOptions(region,
abbreviation expansion, caller lexicon) and thespellmodule
(cardinal,ordinal,year,digits) — design §5.- CLDR/ICU rule-based number formatting (RBNF) interpreter, verified
against ICU4C over every public spellout ruleset of the vendored locales
(tools/icu-diff, 0 mismatches in 546,208 tuples). - German (
de): every semiotic class of design §7.2 and §7.6 with the
§7.3 case/gender agreement — cardinal, year, ordinal, decimal, money,
percent, degrees, measure, time, time range, date, range, score,
telephone, long digit runs, abbreviations, Unicode and slash fractions,
clinical Roman numerals, scientific notation, powers, chemical formulae,
math expressions, ratios/titers/blood pressure, dose schemes,
repetition, angles/coordinates, paragraph signs;docs/rules/de.md. - Dotted number class (
Token::Dotted): section and version numbers
(2.3,3.10,1.2.7) read group by group with "Punkt"/"point"/
"punct" between the groups (3.10→ "drei Punkt zehn"). Grouped
cardinals (1.000), decimals (2.3in English) and dates are
unaffected. Token::class()returns the semiotic class name, used for the CLI's
annotatecolumn and JSON field.- Digital units:
KB,Mbit,Gbit,kbit,Tbit,bit/Bit,
byte/Bytealiases in all three languages and thebpsspellings
(100 Mbps→ "einhundert Megabit pro Sekunde");GB,MB,TB,kB
already came from CLDR. - Time zones: a zone name after a time stays as written (
14:30 CET,
2:30 PM EST; fixtures), and aUTC/GMToffset reads as an expression
(12:00 UTC+2→ "zwölf Uhr UTC plus zwei";MathItem::Word). - Digit groups (
Token::DigitGroups): a 16-digit card number
(4111 1111 1111 1111, all languages) and a US SSN (123-45-6789, en)
read digit by digit with a pause between groups. - Scale words with money and counts (
Token::Scale,Money::scale,
Token::Scaled):2,5 Mrd. €→ "zwei Komma fünf Milliarden Euro",
$2.5 billion→ "two point five billion dollars",3 mil. lei→ "trei
milioane de lei",1,2 Mio. Einwohner→ "eins Komma zwei Millionen
Einwohner". - Electronic class (
Token::Electronic, design §7.2, highest priority):
emails,scheme://URLs,www.and bare domains with a known TLD, IPv4
addresses and@handlesread symbol by symbol with per-language names
(@at,.Punkt/dot/punct,/Schrägstrich/slash/bară, …), letters
as written, digits one by one;electronic.tsvfixtures per language. - Slash fractions with denominators 13–99 (
1/13→ "ein Dreizehntel",
31/32→ "thirty-one thirty-seconds",3/20→ "trei douăzecimi"); en
1/4thwith the ordinal suffix. - English:
YYYY/M/Ddates,H:MM:SSas counted hours, minutes and
seconds,$.01amounts, email addresses with a path. German: a scale
word before a unit (2 Millionen km/h→ "zwei Millionen Kilometer pro
Stunde"), also lower-case. Found by the second-opinion oracle run. - ISO year-month (
2003-03) reads as a Date ("März zweitausenddrei",
"March two thousand three", "martie două mii trei");Token::Date::day
isOption<u8>. - English (
en) withen-US/en-GBdate order (§7.4);docs/rules/en.md. - Romanian (
ro) with gender agreement and the "de" construction (§7.5);
docs/rules/ro.md. - Vendored CLDR 48.2.1 tables generated by
cargo xtask gen(Unicode
License v3, seeNOTICE);cargo xtask check-dataguards staleness. verbalizeCLI:normalize,annotate(--json),survey; prebuilt
binaries for Linux, macOS and Windows with shell/PowerShell installers
on every GitHub release (cargo-dist).- Golden fixtures per class and language (
verbalize/tests/fixtures/),
idempotence and no-digits-in-output property tests, a criterion bench,
andtools/oracles/(text-processing-rs, num2words, PyICU, NeMo) as
second-opinion review aids.
Install verbalize-cli 0.1.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/relu/verbalize/releases/download/v0.1.0/verbalize-cli-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/relu/verbalize/releases/download/v0.1.0/verbalize-cli-installer.ps1 | iex"Download verbalize-cli 0.1.0
| File | Platform | Checksum |
|---|---|---|
| verbalize-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| verbalize-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| verbalize-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| verbalize-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| verbalize-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |