Format numbers, dates, currency, and units by locale using the platform formatter rather than string templates. Use when displaying any value whose written form differs between regions.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add Amey-Thakur/AI-SKILLS --skill locale-formatting --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Locale Formatting?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/amey-thakur-locale-formatting)More formats (shields.io, HTML) on the badges page.
---
name: locale-formatting
description: Format numbers, dates, currency, and units by locale using the platform formatter rather than string templates. Use when displaying any value whose written form differs between regions.
---
# Locale formatting
Every locale writes numbers and dates differently, and the differences
are not cosmetic: 1,000 means one thousand in one place and one in
another, and 03/04 is two different days depending on where you are. The
rule is to never format by hand.
## Method
1. **Use the platform's internationalisation formatter.** It carries
locale data for separators, ordering, and symbols that no template
can reproduce and that changes over time.
2. **Format at the edge, keep raw values inside.** Store and compute with
numbers and instants; convert to text only when displaying. Parsing a
formatted number back is a bug waiting to happen.
3. **Separate the locale from the language.** A user may read English
while expecting local date and currency conventions, so these are two
settings rather than one.
4. **Never abbreviate dates ambiguously.** Where the exact day matters,
a formatted long or medium date removes the ambiguity that a numeric
one preserves.
5. **Format currency with its code and the locale's conventions.**
Symbol placement, spacing, and decimal count vary, and some
currencies have no minor unit at all (see currency-localization).
6. **Respect units and measurement systems.** Distance, weight, and
temperature expectations differ by region and are part of the locale,
not a separate preference to invent.
## Boundaries
- Formatting changes presentation only; it never changes the stored
value, and a formatted string should not re-enter calculations.
- Locale data updates with real-world changes, so it comes from the
platform rather than being frozen in your code.
- Time zone selection is separate from locale and needs its own explicit
handling (see sql-date-time).
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!