NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2099 most downloaded on pub.dev
Provides country names translations (for 194 different locales).
Last release 9 days ago
28 Sep 2026
Release timing varies
gaps range from 8 days to 5 months
Nearly every release is documented
notes for 13 of 13 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
13 releases · first in 2025
One column per month.
fix(l10n): correct Slovak country translations
Closes: #585
Ref: https://www.skgeodesy.sk/sk/ugkk/geodezia-kartografia/standardizacia-geografickeho-nazvoslovia/nazvy-statov/
fix(l10n): correct country translations and formatting
chore(docs): document correct slovak and other country l10n
fix(l10n): disambiguate saint martin official names
FIX
sk) locale against the official list of country names published by the Slovak geodesy and cartography authority, fixing 75 entries:
AZE, DJI, FJI, KNA, GBR) and typos (e.g. in GRC, NLD, CXR, UMI).BOL, BRN, COM, LBY, IRL, BIH) and aligned short names (e.g. GBR, USA, KOR, PRK) and Slovak exonyms (e.g. BES, CUW, MTQ, SLB, VGB) with the official list.sr): GIN was translated as Guyana (both short and official name).pl): SSD was translated as Sudan.sq): NGA repeated the name of Niger.hu): ASM repeated the name of Samoa.fi): VGB and VIR both lacked their British and United States qualifiers.su): TWN repeated the name of China.MAF) and Dutch (SXM) parts of Saint Martin, which shared a short or an official name in the Czech (cs), Persian (fa), Croatian (hr), Portuguese (pt), Slovak (sk) and Serbian (sr) locales.hr): added the missing space in the HKG and MAC official names, and the NLD official name now matches its short name.pt): capitalized the MAF official name.ne): removed the unbalanced opening parenthesis from MAC.nl): added the missing space in the HMD short name.ja), Korean (ko), Polish (pl) and Urdu (ur) names.refactor(ui): improve flag badge artwork and deprecate shield divider…
refactor(ui): improve flag badge artwork and deprecate shield divider…
FIX
NRU in the English locale to "Naoero" ("Republic of Naoero" for the official name), following the United Nations' update of the country's name. Other locales keep their own exonyms (German still reads "Nauru").NRU self-translation to the Nauruan (na) locale, which previously had no entry for its own country.IMPROVEMENTS
availableLocales is now built on first read instead of in the constructor, making a localize() call (mapper construction included) around 15% faster. Mappers are single-use, so every call previously paid for materializing the full 193-locale set even when it was never read.DOCUMENTATION
skills/l10n-countries-localization), compliant with the Agent Skills specification, installable via dart run skills@ get.refactor(ci): update deploy permissions and steps for gh pages
TEST
dartdoc_test validation for code samples in documentation comments.DOCUMENTATION
CountriesLocaleMapper.localize example code snippet to instantiate the mapper.Added FOSSA status badge to the README.
DOCUMENTATION
Docs only, no code changes:
Improved CHANGELOG for clarity.
DOCUMENTATION
Docs only, no code changes:
🎉 Third anniversary and new major release!
🎉 Third anniversary and new major release!
NEW FEATURES
availableLocales getter to query all supported locales without materializing them.localize() is called and cannot be reused. This ensures optimal memory efficiency - create a new instance if you need to localize again.BREAKING CHANGES
localize() is called and cannot be reused. This ensures optimal memory efficiency - create a new instance if you need to localize again.Previously, localized strings were provided in mixed lowercase (e.g., "islas Malvinas", in Spanish for FLK code) and sentence case. They are now unified and provided in sentence case only (e.g., "Islas Malvinas", in Spanish for FLK code) to preserve capitalization context for proper nouns and ensure immediate compatibility with independent UI labels.
Justification: Capitalization is context-sensitive and cannot be reliably reconstructed from lowercase source strings. By providing values in sentence case, we ensure high-fidelity data for headers and labels. This was also part of discussion in the past.
Migration:
formatter callback, if not needed).formatter callback to strictly adapt the casing, rather than relying on direct string manipulation.final localized = mapper.localize(
isoCodes,
mainLocale: locale,
formatter: (_, l10n) => l10n.toLowerCase(), // <-- e.g., inline usage
);
CHORE
Lower Dart SDK constraint from ^3.9.2 to ^3.9.0
CHORE
Corrected Slovak country name for CIV to "Pobrežie Slonoviny".
FIX
CIV to "Pobrežie Slonoviny".DOCUMENTATION
CHORE
Corrected Welsh official country name for Curaçao.
FIX
The Dart SDK was bumped to v3.8.1.
CHORE
Add formatter callback for custom translation logic.
NEW FEATURES
CHORE
DOCUMENTATION
Improved documentation and example.
🎉 First stable release!
DOCUMENTATION
- Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →