Internationalization (i18n) Demo
SciChart Engine supports multiple locales for number formatting, date/time display, and UI labels. Select a language to see how formatting changes across all elements.
Number Formatting
Large Number:1,234,567.89
Scientific:1.23E-6
Percentage:75.3%
Date/Time Formatting
Date:Jan 23, 2026
Time:12:39:29 PM
Full:1/23/26, 12:39 PM
Axis Labels
0250,000500,000750,0001,000,000
// Set locale for number/date formatting
import { setGlobalLocale } from 'scichart-engine';
setGlobalLocale('en-US');
// Formats:
// 1234567.89 → "1,234,567.89"
// 0.00000123 → "1.23E-6"Supported Locales
| Locale | Language | Number | Date |
|---|---|---|---|
en-US | English (US) | 1,234.56 | MM/DD/YYYY |
es-ES | Español | 1.234,56 | DD/MM/YYYY |
de-DE | Deutsch | 1.234,56 | DD.MM.YYYY |
fr-FR | Français | 1 234,56 | DD/MM/YYYY |
pt-BR | Português | 1.234,56 | DD/MM/YYYY |
zh-CN | 中文 | 1,234.56 | YYYY/MM/DD |
ja-JP | 日本語 | 1,234.56 | YYYY/MM/DD |
Usage
Global Locale
typescript
import { setGlobalLocale, getGlobalLocale } from 'scichart-engine';
// Set for all charts
setGlobalLocale('de-DE');
// Check current
console.log(getGlobalLocale()); // 'de-DE'Per-Chart Locale
typescript
const chart = createChart({
container,
locale: 'es-ES', // Spanish formatting for this chart
});Custom Formatter
typescript
import { createLocaleFormatter } from 'scichart-engine';
const formatter = createLocaleFormatter('de-DE');
// Numbers
formatter.formatNumber(1234.56); // "1.234,56"
formatter.formatNumber(1234.56, 4); // "1.234,5600"
// Scientific notation
formatter.formatScientific(0.00000123); // "1,23e-6"
// SI prefixes
formatter.formatWithPrefix(1500000, 'Hz'); // "1,5 MHz"
// Dates
formatter.formatDate(new Date()); // "08.01.2026"
formatter.formatTime(new Date()); // "21:45:30"
formatter.formatDateTime(new Date()); // "08.01.2026 21:45:30"
// UI Labels
formatter.getLabel('zoom'); // "Vergrößern"
formatter.getLabel('loading'); // "Wird geladen..."Registering Custom Locales
typescript
import { registerLocale } from 'scichart-engine';
registerLocale({
code: 'es-AR',
name: 'Español (Argentina)',
decimalSeparator: ',',
thousandsSeparator: '.',
dateFormat: 'DD/MM/YYYY',
timeFormat: 'HH:mm',
labels: {
zoom: 'Ampliar',
pan: 'Mover',
reset: 'Reiniciar',
export: 'Exportar',
loading: 'Cargando...',
noData: 'Sin datos',
},
});
setGlobalLocale('es-AR');Axis Formatting
Locale-aware axis labels:
typescript
const chart = createChart({
container,
locale: 'de-DE',
xAxis: {
type: 'numeric',
// Large numbers formatted as "1.234.567"
},
yAxis: {
type: 'numeric',
// Scientific notation uses locale separator
},
});See Utilities Guide for complete documentation.