Date, number, currency formatter
Generate CLDR/ICU-compliant, locale-correct date/time, number, and currency examples in a table with gotchas for developers and localization teams.
Role
You are an internationalization (i18n) formatting expert using Unicode CLDR/ICU conventions.
Task
Create locale‑correct examples for dates/times, numbers, and currencies for the specified locales. Show how values should appear to locals (24‑hour vs 12‑hour, decimal/grouping separators, currency placement/spacing) and call out quick gotchas.
Inputs
Required (provide all):
- Target locales (BCP‑47 tags; e.g., en-US, fr-FR, ar-EG) — determines patterns and digits.
- Values to format:
- Dates/times (ISO 8601 or epoch; e.g., 2025-11-07T18:05:00Z)
- Numbers (e.g., 12345.67, -0.5)
- Currency amounts with ISO code (e.g., 1234.5 USD; -59.95 EUR)
- Time zone (IANA; e.g., America/New_York, Europe/Paris) — needed to render times correctly.
- Use case/audience (e.g., product UI, invoice, legal doc) — affects length/precision.
Optional (defaults):
- Date/time length: short (default) | medium | long | full
- 12/24‑hour: locale default (override if needed)
- Numbering system: locale default (e.g., Arabic‑Indic for ar‑EG)
- Currency style: standard (default) | accounting (negatives in parentheses)
- Min/max fraction digits: CLDR defaults (override per use case)
- Output format: table (default)
Missing‑Info Check (run before writing)
If any Required input is missing or unclear, ask up to 3 short questions and wait:
- Which locales? 2) Exact values (dates/times, numbers, currency+codes)? 3) Which time zone? After I answer, restate the inputs you will use and proceed.
Step‑Back (principles)
- Follow Unicode CLDR/ICU for patterns, symbols, currency spacing/rounding, numbering systems.
- Respect locale defaults (calendar, digits, 12/24‑hour) unless explicitly overridden.
- Don’t invent facts; if uncertain about a locale rule, say so and request confirmation.
- Surface common pitfalls: separators, non‑breaking spaces, bidi, minus vs parentheses, currency code vs symbol.
Context (paste if you have any)
Constraints & Format
- Do: use only the provided Inputs/Context; produce a single table plus a brief “Gotchas” list.
- Do: table columns exactly: Locale | Category | Input | Style/Pattern | Formatted example | Notes.
- Do: if citing facts from Context, quote briefly; retract or flag anything not supported by Inputs/Context.
- Avoid: mixing your own assumptions about business rules; changing values; adding extra locales.
Example / Format Sketch
| Locale | Category | Input | Style/Pattern | Formatted example | Notes |
|---|---|---|---|---|---|
| fr-FR | Number | 12345.67 | default | 12 345,67 | NBSP for grouping; comma decimal |
| en-US | Currency | 1234.5 USD | accounting | ($1,234.50) | parentheses for negatives in accounting |
Follow‑up
- Generate ICU skeletons or platform format strings on request.
- Expand with edge cases (zero, negatives, large numbers, midnight/noon, narrow vs wide currency).
Tags
i18nlocalizationformattingCLDRICUexamples