Skip to main content
Back to Blog
i18n localization formatting dates numbers

Locale-Aware Formatting

Swifty Team Feb 17, 2026 3 min read

How a number is written varies by locale. 1,234.56 in US format is 1.234,56 in German format. A date written 03/04/2026 means March 4th to an American and April 3rd to a European. These aren't minor preferences — misreading a date format can cause real operational errors.

Locale-aware formatting means every user sees data in the format they recognize as natural, without those preferences affecting anyone else or changing how the data is stored.

Per-User Locale

Each user in the platform has a locale preference. This controls:

Date format — whether dates display as MM/DD/YYYY, DD.MM.YYYY, YYYY-MM-DD, or in the localized long form (March 4, 2026 vs 4. März 2026).

Number format — the decimal separator (period or comma) and the thousands separator, applied consistently across all numeric values.

Currency display — the currency symbol position and format (€ 1.234,56 vs 1,234.56 €).

Date-time format — the ordering and separators for timestamps, including 12h vs 24h clock display.

Display Only — Storage Is Universal

Formatting is a display-layer concern, not a storage concern. Dates are stored in a universal format; numbers are stored as numeric values. When a user with a European locale changes a date field, they type in their locale's format — the platform interprets it correctly and stores it universally.

When the same date is shown to a user with a different locale, it displays in their format. The same underlying data, different presentations, no conflicts.

Language Switching

Users can switch their interface language from the account preferences menu. Switching language updates all interface text — labels, menu items, button text, status names — to the selected language.

Locale and language can be set independently. A Dutch speaker working in an international office might prefer Dutch date formatting but English interface language for team communication purposes.

Consistent for the Platform, Personal for Each User

This model — universal storage, per-user display — is the correct approach for international teams. The data is consistent and unambiguous at the storage level. Each user reads it in a format that's clear to them. No one has to adapt their reading to someone else's format conventions.

For teams distributed across multiple countries, locale-aware formatting is a basic working condition, not a premium feature.

Related posts

Composed Data Sources

Chain and relate data sources for rich dashboards — compose complex data views from simpler sources without writing code.

Computed Expressions

Transform data with template expressions and built-in functions — format, combine, and derive values from your data without code.

Cross-Source Data Joins

Combine data from multiple sources in one view — join records from your database with data from external services using a shared key.